1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // Generated by the protocol buffer compiler. DO NOT EDIT! 17 // source: google/cloud/aiplatform/v1/custom_job.proto 18 19 package com.google.cloud.aiplatform.v1; 20 21 /** 22 * 23 * 24 * <pre> 25 * Represents the spec of a CustomJob. 26 * </pre> 27 * 28 * Protobuf type {@code google.cloud.aiplatform.v1.CustomJobSpec} 29 */ 30 public final class CustomJobSpec extends com.google.protobuf.GeneratedMessageV3 31 implements 32 // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1.CustomJobSpec) 33 CustomJobSpecOrBuilder { 34 private static final long serialVersionUID = 0L; 35 // Use CustomJobSpec.newBuilder() to construct. CustomJobSpec(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36 private CustomJobSpec(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 37 super(builder); 38 } 39 CustomJobSpec()40 private CustomJobSpec() { 41 workerPoolSpecs_ = java.util.Collections.emptyList(); 42 serviceAccount_ = ""; 43 network_ = ""; 44 reservedIpRanges_ = com.google.protobuf.LazyStringArrayList.EMPTY; 45 tensorboard_ = ""; 46 experiment_ = ""; 47 experimentRun_ = ""; 48 } 49 50 @java.lang.Override 51 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)52 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 53 return new CustomJobSpec(); 54 } 55 56 @java.lang.Override getUnknownFields()57 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 58 return this.unknownFields; 59 } 60 getDescriptor()61 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 62 return com.google.cloud.aiplatform.v1.CustomJobProto 63 .internal_static_google_cloud_aiplatform_v1_CustomJobSpec_descriptor; 64 } 65 66 @java.lang.Override 67 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()68 internalGetFieldAccessorTable() { 69 return com.google.cloud.aiplatform.v1.CustomJobProto 70 .internal_static_google_cloud_aiplatform_v1_CustomJobSpec_fieldAccessorTable 71 .ensureFieldAccessorsInitialized( 72 com.google.cloud.aiplatform.v1.CustomJobSpec.class, 73 com.google.cloud.aiplatform.v1.CustomJobSpec.Builder.class); 74 } 75 76 public static final int WORKER_POOL_SPECS_FIELD_NUMBER = 1; 77 78 @SuppressWarnings("serial") 79 private java.util.List<com.google.cloud.aiplatform.v1.WorkerPoolSpec> workerPoolSpecs_; 80 /** 81 * 82 * 83 * <pre> 84 * Required. The spec of the worker pools including machine type and Docker 85 * image. All worker pools except the first one are optional and can be 86 * skipped by providing an empty value. 87 * </pre> 88 * 89 * <code> 90 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 91 * </code> 92 */ 93 @java.lang.Override getWorkerPoolSpecsList()94 public java.util.List<com.google.cloud.aiplatform.v1.WorkerPoolSpec> getWorkerPoolSpecsList() { 95 return workerPoolSpecs_; 96 } 97 /** 98 * 99 * 100 * <pre> 101 * Required. The spec of the worker pools including machine type and Docker 102 * image. All worker pools except the first one are optional and can be 103 * skipped by providing an empty value. 104 * </pre> 105 * 106 * <code> 107 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 108 * </code> 109 */ 110 @java.lang.Override 111 public java.util.List<? extends com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder> getWorkerPoolSpecsOrBuilderList()112 getWorkerPoolSpecsOrBuilderList() { 113 return workerPoolSpecs_; 114 } 115 /** 116 * 117 * 118 * <pre> 119 * Required. The spec of the worker pools including machine type and Docker 120 * image. All worker pools except the first one are optional and can be 121 * skipped by providing an empty value. 122 * </pre> 123 * 124 * <code> 125 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 126 * </code> 127 */ 128 @java.lang.Override getWorkerPoolSpecsCount()129 public int getWorkerPoolSpecsCount() { 130 return workerPoolSpecs_.size(); 131 } 132 /** 133 * 134 * 135 * <pre> 136 * Required. The spec of the worker pools including machine type and Docker 137 * image. All worker pools except the first one are optional and can be 138 * skipped by providing an empty value. 139 * </pre> 140 * 141 * <code> 142 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 143 * </code> 144 */ 145 @java.lang.Override getWorkerPoolSpecs(int index)146 public com.google.cloud.aiplatform.v1.WorkerPoolSpec getWorkerPoolSpecs(int index) { 147 return workerPoolSpecs_.get(index); 148 } 149 /** 150 * 151 * 152 * <pre> 153 * Required. The spec of the worker pools including machine type and Docker 154 * image. All worker pools except the first one are optional and can be 155 * skipped by providing an empty value. 156 * </pre> 157 * 158 * <code> 159 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 160 * </code> 161 */ 162 @java.lang.Override getWorkerPoolSpecsOrBuilder( int index)163 public com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder getWorkerPoolSpecsOrBuilder( 164 int index) { 165 return workerPoolSpecs_.get(index); 166 } 167 168 public static final int SCHEDULING_FIELD_NUMBER = 3; 169 private com.google.cloud.aiplatform.v1.Scheduling scheduling_; 170 /** 171 * 172 * 173 * <pre> 174 * Scheduling options for a CustomJob. 175 * </pre> 176 * 177 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 178 * 179 * @return Whether the scheduling field is set. 180 */ 181 @java.lang.Override hasScheduling()182 public boolean hasScheduling() { 183 return scheduling_ != null; 184 } 185 /** 186 * 187 * 188 * <pre> 189 * Scheduling options for a CustomJob. 190 * </pre> 191 * 192 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 193 * 194 * @return The scheduling. 195 */ 196 @java.lang.Override getScheduling()197 public com.google.cloud.aiplatform.v1.Scheduling getScheduling() { 198 return scheduling_ == null 199 ? com.google.cloud.aiplatform.v1.Scheduling.getDefaultInstance() 200 : scheduling_; 201 } 202 /** 203 * 204 * 205 * <pre> 206 * Scheduling options for a CustomJob. 207 * </pre> 208 * 209 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 210 */ 211 @java.lang.Override getSchedulingOrBuilder()212 public com.google.cloud.aiplatform.v1.SchedulingOrBuilder getSchedulingOrBuilder() { 213 return scheduling_ == null 214 ? com.google.cloud.aiplatform.v1.Scheduling.getDefaultInstance() 215 : scheduling_; 216 } 217 218 public static final int SERVICE_ACCOUNT_FIELD_NUMBER = 4; 219 220 @SuppressWarnings("serial") 221 private volatile java.lang.Object serviceAccount_ = ""; 222 /** 223 * 224 * 225 * <pre> 226 * Specifies the service account for workload run-as account. 227 * Users submitting jobs must have act-as permission on this run-as account. 228 * If unspecified, the [Vertex AI Custom Code Service 229 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 230 * for the CustomJob's project is used. 231 * </pre> 232 * 233 * <code>string service_account = 4;</code> 234 * 235 * @return The serviceAccount. 236 */ 237 @java.lang.Override getServiceAccount()238 public java.lang.String getServiceAccount() { 239 java.lang.Object ref = serviceAccount_; 240 if (ref instanceof java.lang.String) { 241 return (java.lang.String) ref; 242 } else { 243 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 244 java.lang.String s = bs.toStringUtf8(); 245 serviceAccount_ = s; 246 return s; 247 } 248 } 249 /** 250 * 251 * 252 * <pre> 253 * Specifies the service account for workload run-as account. 254 * Users submitting jobs must have act-as permission on this run-as account. 255 * If unspecified, the [Vertex AI Custom Code Service 256 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 257 * for the CustomJob's project is used. 258 * </pre> 259 * 260 * <code>string service_account = 4;</code> 261 * 262 * @return The bytes for serviceAccount. 263 */ 264 @java.lang.Override getServiceAccountBytes()265 public com.google.protobuf.ByteString getServiceAccountBytes() { 266 java.lang.Object ref = serviceAccount_; 267 if (ref instanceof java.lang.String) { 268 com.google.protobuf.ByteString b = 269 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 270 serviceAccount_ = b; 271 return b; 272 } else { 273 return (com.google.protobuf.ByteString) ref; 274 } 275 } 276 277 public static final int NETWORK_FIELD_NUMBER = 5; 278 279 @SuppressWarnings("serial") 280 private volatile java.lang.Object network_ = ""; 281 /** 282 * 283 * 284 * <pre> 285 * Optional. The full name of the Compute Engine 286 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 287 * should be peered. For example, `projects/12345/global/networks/myVPC`. 288 * [Format](/compute/docs/reference/rest/v1/networks/insert) 289 * is of the form `projects/{project}/global/networks/{network}`. 290 * Where {project} is a project number, as in `12345`, and {network} is a 291 * network name. 292 * To specify this field, you must have already [configured VPC Network 293 * Peering for Vertex 294 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 295 * If this field is left unspecified, the job is not peered with any network. 296 * </pre> 297 * 298 * <code> 299 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 300 * </code> 301 * 302 * @return The network. 303 */ 304 @java.lang.Override getNetwork()305 public java.lang.String getNetwork() { 306 java.lang.Object ref = network_; 307 if (ref instanceof java.lang.String) { 308 return (java.lang.String) ref; 309 } else { 310 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 311 java.lang.String s = bs.toStringUtf8(); 312 network_ = s; 313 return s; 314 } 315 } 316 /** 317 * 318 * 319 * <pre> 320 * Optional. The full name of the Compute Engine 321 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 322 * should be peered. For example, `projects/12345/global/networks/myVPC`. 323 * [Format](/compute/docs/reference/rest/v1/networks/insert) 324 * is of the form `projects/{project}/global/networks/{network}`. 325 * Where {project} is a project number, as in `12345`, and {network} is a 326 * network name. 327 * To specify this field, you must have already [configured VPC Network 328 * Peering for Vertex 329 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 330 * If this field is left unspecified, the job is not peered with any network. 331 * </pre> 332 * 333 * <code> 334 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 335 * </code> 336 * 337 * @return The bytes for network. 338 */ 339 @java.lang.Override getNetworkBytes()340 public com.google.protobuf.ByteString getNetworkBytes() { 341 java.lang.Object ref = network_; 342 if (ref instanceof java.lang.String) { 343 com.google.protobuf.ByteString b = 344 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 345 network_ = b; 346 return b; 347 } else { 348 return (com.google.protobuf.ByteString) ref; 349 } 350 } 351 352 public static final int RESERVED_IP_RANGES_FIELD_NUMBER = 13; 353 354 @SuppressWarnings("serial") 355 private com.google.protobuf.LazyStringList reservedIpRanges_; 356 /** 357 * 358 * 359 * <pre> 360 * Optional. A list of names for the reserved ip ranges under the VPC network 361 * that can be used for this job. 362 * If set, we will deploy the job within the provided ip ranges. Otherwise, 363 * the job will be deployed to any ip ranges under the provided VPC 364 * network. 365 * Example: ['vertex-ai-ip-range']. 366 * </pre> 367 * 368 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL];</code> 369 * 370 * @return A list containing the reservedIpRanges. 371 */ getReservedIpRangesList()372 public com.google.protobuf.ProtocolStringList getReservedIpRangesList() { 373 return reservedIpRanges_; 374 } 375 /** 376 * 377 * 378 * <pre> 379 * Optional. A list of names for the reserved ip ranges under the VPC network 380 * that can be used for this job. 381 * If set, we will deploy the job within the provided ip ranges. Otherwise, 382 * the job will be deployed to any ip ranges under the provided VPC 383 * network. 384 * Example: ['vertex-ai-ip-range']. 385 * </pre> 386 * 387 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL];</code> 388 * 389 * @return The count of reservedIpRanges. 390 */ getReservedIpRangesCount()391 public int getReservedIpRangesCount() { 392 return reservedIpRanges_.size(); 393 } 394 /** 395 * 396 * 397 * <pre> 398 * Optional. A list of names for the reserved ip ranges under the VPC network 399 * that can be used for this job. 400 * If set, we will deploy the job within the provided ip ranges. Otherwise, 401 * the job will be deployed to any ip ranges under the provided VPC 402 * network. 403 * Example: ['vertex-ai-ip-range']. 404 * </pre> 405 * 406 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL];</code> 407 * 408 * @param index The index of the element to return. 409 * @return The reservedIpRanges at the given index. 410 */ getReservedIpRanges(int index)411 public java.lang.String getReservedIpRanges(int index) { 412 return reservedIpRanges_.get(index); 413 } 414 /** 415 * 416 * 417 * <pre> 418 * Optional. A list of names for the reserved ip ranges under the VPC network 419 * that can be used for this job. 420 * If set, we will deploy the job within the provided ip ranges. Otherwise, 421 * the job will be deployed to any ip ranges under the provided VPC 422 * network. 423 * Example: ['vertex-ai-ip-range']. 424 * </pre> 425 * 426 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL];</code> 427 * 428 * @param index The index of the value to return. 429 * @return The bytes of the reservedIpRanges at the given index. 430 */ getReservedIpRangesBytes(int index)431 public com.google.protobuf.ByteString getReservedIpRangesBytes(int index) { 432 return reservedIpRanges_.getByteString(index); 433 } 434 435 public static final int BASE_OUTPUT_DIRECTORY_FIELD_NUMBER = 6; 436 private com.google.cloud.aiplatform.v1.GcsDestination baseOutputDirectory_; 437 /** 438 * 439 * 440 * <pre> 441 * The Cloud Storage location to store the output of this CustomJob or 442 * HyperparameterTuningJob. For HyperparameterTuningJob, 443 * the baseOutputDirectory of 444 * each child CustomJob backing a Trial is set to a subdirectory of name 445 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 446 * HyperparameterTuningJob's baseOutputDirectory. 447 * The following Vertex AI environment variables will be passed to 448 * containers or python modules when this field is set: 449 * For CustomJob: 450 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 451 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 452 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 453 * For CustomJob backing a Trial of HyperparameterTuningJob: 454 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 455 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 456 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 457 * </pre> 458 * 459 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 460 * 461 * @return Whether the baseOutputDirectory field is set. 462 */ 463 @java.lang.Override hasBaseOutputDirectory()464 public boolean hasBaseOutputDirectory() { 465 return baseOutputDirectory_ != null; 466 } 467 /** 468 * 469 * 470 * <pre> 471 * The Cloud Storage location to store the output of this CustomJob or 472 * HyperparameterTuningJob. For HyperparameterTuningJob, 473 * the baseOutputDirectory of 474 * each child CustomJob backing a Trial is set to a subdirectory of name 475 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 476 * HyperparameterTuningJob's baseOutputDirectory. 477 * The following Vertex AI environment variables will be passed to 478 * containers or python modules when this field is set: 479 * For CustomJob: 480 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 481 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 482 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 483 * For CustomJob backing a Trial of HyperparameterTuningJob: 484 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 485 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 486 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 487 * </pre> 488 * 489 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 490 * 491 * @return The baseOutputDirectory. 492 */ 493 @java.lang.Override getBaseOutputDirectory()494 public com.google.cloud.aiplatform.v1.GcsDestination getBaseOutputDirectory() { 495 return baseOutputDirectory_ == null 496 ? com.google.cloud.aiplatform.v1.GcsDestination.getDefaultInstance() 497 : baseOutputDirectory_; 498 } 499 /** 500 * 501 * 502 * <pre> 503 * The Cloud Storage location to store the output of this CustomJob or 504 * HyperparameterTuningJob. For HyperparameterTuningJob, 505 * the baseOutputDirectory of 506 * each child CustomJob backing a Trial is set to a subdirectory of name 507 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 508 * HyperparameterTuningJob's baseOutputDirectory. 509 * The following Vertex AI environment variables will be passed to 510 * containers or python modules when this field is set: 511 * For CustomJob: 512 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 513 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 514 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 515 * For CustomJob backing a Trial of HyperparameterTuningJob: 516 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 517 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 518 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 519 * </pre> 520 * 521 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 522 */ 523 @java.lang.Override getBaseOutputDirectoryOrBuilder()524 public com.google.cloud.aiplatform.v1.GcsDestinationOrBuilder getBaseOutputDirectoryOrBuilder() { 525 return baseOutputDirectory_ == null 526 ? com.google.cloud.aiplatform.v1.GcsDestination.getDefaultInstance() 527 : baseOutputDirectory_; 528 } 529 530 public static final int TENSORBOARD_FIELD_NUMBER = 7; 531 532 @SuppressWarnings("serial") 533 private volatile java.lang.Object tensorboard_ = ""; 534 /** 535 * 536 * 537 * <pre> 538 * Optional. The name of a Vertex AI 539 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 540 * this CustomJob will upload Tensorboard logs. Format: 541 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 542 * </pre> 543 * 544 * <code> 545 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 546 * </code> 547 * 548 * @return The tensorboard. 549 */ 550 @java.lang.Override getTensorboard()551 public java.lang.String getTensorboard() { 552 java.lang.Object ref = tensorboard_; 553 if (ref instanceof java.lang.String) { 554 return (java.lang.String) ref; 555 } else { 556 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 557 java.lang.String s = bs.toStringUtf8(); 558 tensorboard_ = s; 559 return s; 560 } 561 } 562 /** 563 * 564 * 565 * <pre> 566 * Optional. The name of a Vertex AI 567 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 568 * this CustomJob will upload Tensorboard logs. Format: 569 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 570 * </pre> 571 * 572 * <code> 573 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 574 * </code> 575 * 576 * @return The bytes for tensorboard. 577 */ 578 @java.lang.Override getTensorboardBytes()579 public com.google.protobuf.ByteString getTensorboardBytes() { 580 java.lang.Object ref = tensorboard_; 581 if (ref instanceof java.lang.String) { 582 com.google.protobuf.ByteString b = 583 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 584 tensorboard_ = b; 585 return b; 586 } else { 587 return (com.google.protobuf.ByteString) ref; 588 } 589 } 590 591 public static final int ENABLE_WEB_ACCESS_FIELD_NUMBER = 10; 592 private boolean enableWebAccess_ = false; 593 /** 594 * 595 * 596 * <pre> 597 * Optional. Whether you want Vertex AI to enable [interactive shell 598 * access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) 599 * to training containers. 600 * If set to `true`, you can access interactive shells at the URIs given 601 * by 602 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 603 * or 604 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 605 * (within 606 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 607 * </pre> 608 * 609 * <code>bool enable_web_access = 10 [(.google.api.field_behavior) = OPTIONAL];</code> 610 * 611 * @return The enableWebAccess. 612 */ 613 @java.lang.Override getEnableWebAccess()614 public boolean getEnableWebAccess() { 615 return enableWebAccess_; 616 } 617 618 public static final int ENABLE_DASHBOARD_ACCESS_FIELD_NUMBER = 16; 619 private boolean enableDashboardAccess_ = false; 620 /** 621 * 622 * 623 * <pre> 624 * Optional. Whether you want Vertex AI to enable access to the customized 625 * dashboard in training chief container. 626 * If set to `true`, you can access the dashboard at the URIs given 627 * by 628 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 629 * or 630 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 631 * (within 632 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 633 * </pre> 634 * 635 * <code>bool enable_dashboard_access = 16 [(.google.api.field_behavior) = OPTIONAL];</code> 636 * 637 * @return The enableDashboardAccess. 638 */ 639 @java.lang.Override getEnableDashboardAccess()640 public boolean getEnableDashboardAccess() { 641 return enableDashboardAccess_; 642 } 643 644 public static final int EXPERIMENT_FIELD_NUMBER = 17; 645 646 @SuppressWarnings("serial") 647 private volatile java.lang.Object experiment_ = ""; 648 /** 649 * 650 * 651 * <pre> 652 * Optional. The Experiment associated with this job. 653 * Format: 654 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 655 * </pre> 656 * 657 * <code> 658 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 659 * </code> 660 * 661 * @return The experiment. 662 */ 663 @java.lang.Override getExperiment()664 public java.lang.String getExperiment() { 665 java.lang.Object ref = experiment_; 666 if (ref instanceof java.lang.String) { 667 return (java.lang.String) ref; 668 } else { 669 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 670 java.lang.String s = bs.toStringUtf8(); 671 experiment_ = s; 672 return s; 673 } 674 } 675 /** 676 * 677 * 678 * <pre> 679 * Optional. The Experiment associated with this job. 680 * Format: 681 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 682 * </pre> 683 * 684 * <code> 685 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 686 * </code> 687 * 688 * @return The bytes for experiment. 689 */ 690 @java.lang.Override getExperimentBytes()691 public com.google.protobuf.ByteString getExperimentBytes() { 692 java.lang.Object ref = experiment_; 693 if (ref instanceof java.lang.String) { 694 com.google.protobuf.ByteString b = 695 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 696 experiment_ = b; 697 return b; 698 } else { 699 return (com.google.protobuf.ByteString) ref; 700 } 701 } 702 703 public static final int EXPERIMENT_RUN_FIELD_NUMBER = 18; 704 705 @SuppressWarnings("serial") 706 private volatile java.lang.Object experimentRun_ = ""; 707 /** 708 * 709 * 710 * <pre> 711 * Optional. The Experiment Run associated with this job. 712 * Format: 713 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 714 * </pre> 715 * 716 * <code> 717 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 718 * </code> 719 * 720 * @return The experimentRun. 721 */ 722 @java.lang.Override getExperimentRun()723 public java.lang.String getExperimentRun() { 724 java.lang.Object ref = experimentRun_; 725 if (ref instanceof java.lang.String) { 726 return (java.lang.String) ref; 727 } else { 728 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 729 java.lang.String s = bs.toStringUtf8(); 730 experimentRun_ = s; 731 return s; 732 } 733 } 734 /** 735 * 736 * 737 * <pre> 738 * Optional. The Experiment Run associated with this job. 739 * Format: 740 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 741 * </pre> 742 * 743 * <code> 744 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 745 * </code> 746 * 747 * @return The bytes for experimentRun. 748 */ 749 @java.lang.Override getExperimentRunBytes()750 public com.google.protobuf.ByteString getExperimentRunBytes() { 751 java.lang.Object ref = experimentRun_; 752 if (ref instanceof java.lang.String) { 753 com.google.protobuf.ByteString b = 754 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 755 experimentRun_ = b; 756 return b; 757 } else { 758 return (com.google.protobuf.ByteString) ref; 759 } 760 } 761 762 private byte memoizedIsInitialized = -1; 763 764 @java.lang.Override isInitialized()765 public final boolean isInitialized() { 766 byte isInitialized = memoizedIsInitialized; 767 if (isInitialized == 1) return true; 768 if (isInitialized == 0) return false; 769 770 memoizedIsInitialized = 1; 771 return true; 772 } 773 774 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)775 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 776 for (int i = 0; i < workerPoolSpecs_.size(); i++) { 777 output.writeMessage(1, workerPoolSpecs_.get(i)); 778 } 779 if (scheduling_ != null) { 780 output.writeMessage(3, getScheduling()); 781 } 782 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccount_)) { 783 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, serviceAccount_); 784 } 785 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(network_)) { 786 com.google.protobuf.GeneratedMessageV3.writeString(output, 5, network_); 787 } 788 if (baseOutputDirectory_ != null) { 789 output.writeMessage(6, getBaseOutputDirectory()); 790 } 791 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tensorboard_)) { 792 com.google.protobuf.GeneratedMessageV3.writeString(output, 7, tensorboard_); 793 } 794 if (enableWebAccess_ != false) { 795 output.writeBool(10, enableWebAccess_); 796 } 797 for (int i = 0; i < reservedIpRanges_.size(); i++) { 798 com.google.protobuf.GeneratedMessageV3.writeString(output, 13, reservedIpRanges_.getRaw(i)); 799 } 800 if (enableDashboardAccess_ != false) { 801 output.writeBool(16, enableDashboardAccess_); 802 } 803 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(experiment_)) { 804 com.google.protobuf.GeneratedMessageV3.writeString(output, 17, experiment_); 805 } 806 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(experimentRun_)) { 807 com.google.protobuf.GeneratedMessageV3.writeString(output, 18, experimentRun_); 808 } 809 getUnknownFields().writeTo(output); 810 } 811 812 @java.lang.Override getSerializedSize()813 public int getSerializedSize() { 814 int size = memoizedSize; 815 if (size != -1) return size; 816 817 size = 0; 818 for (int i = 0; i < workerPoolSpecs_.size(); i++) { 819 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, workerPoolSpecs_.get(i)); 820 } 821 if (scheduling_ != null) { 822 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getScheduling()); 823 } 824 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccount_)) { 825 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, serviceAccount_); 826 } 827 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(network_)) { 828 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, network_); 829 } 830 if (baseOutputDirectory_ != null) { 831 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getBaseOutputDirectory()); 832 } 833 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tensorboard_)) { 834 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, tensorboard_); 835 } 836 if (enableWebAccess_ != false) { 837 size += com.google.protobuf.CodedOutputStream.computeBoolSize(10, enableWebAccess_); 838 } 839 { 840 int dataSize = 0; 841 for (int i = 0; i < reservedIpRanges_.size(); i++) { 842 dataSize += computeStringSizeNoTag(reservedIpRanges_.getRaw(i)); 843 } 844 size += dataSize; 845 size += 1 * getReservedIpRangesList().size(); 846 } 847 if (enableDashboardAccess_ != false) { 848 size += com.google.protobuf.CodedOutputStream.computeBoolSize(16, enableDashboardAccess_); 849 } 850 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(experiment_)) { 851 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, experiment_); 852 } 853 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(experimentRun_)) { 854 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, experimentRun_); 855 } 856 size += getUnknownFields().getSerializedSize(); 857 memoizedSize = size; 858 return size; 859 } 860 861 @java.lang.Override equals(final java.lang.Object obj)862 public boolean equals(final java.lang.Object obj) { 863 if (obj == this) { 864 return true; 865 } 866 if (!(obj instanceof com.google.cloud.aiplatform.v1.CustomJobSpec)) { 867 return super.equals(obj); 868 } 869 com.google.cloud.aiplatform.v1.CustomJobSpec other = 870 (com.google.cloud.aiplatform.v1.CustomJobSpec) obj; 871 872 if (!getWorkerPoolSpecsList().equals(other.getWorkerPoolSpecsList())) return false; 873 if (hasScheduling() != other.hasScheduling()) return false; 874 if (hasScheduling()) { 875 if (!getScheduling().equals(other.getScheduling())) return false; 876 } 877 if (!getServiceAccount().equals(other.getServiceAccount())) return false; 878 if (!getNetwork().equals(other.getNetwork())) return false; 879 if (!getReservedIpRangesList().equals(other.getReservedIpRangesList())) return false; 880 if (hasBaseOutputDirectory() != other.hasBaseOutputDirectory()) return false; 881 if (hasBaseOutputDirectory()) { 882 if (!getBaseOutputDirectory().equals(other.getBaseOutputDirectory())) return false; 883 } 884 if (!getTensorboard().equals(other.getTensorboard())) return false; 885 if (getEnableWebAccess() != other.getEnableWebAccess()) return false; 886 if (getEnableDashboardAccess() != other.getEnableDashboardAccess()) return false; 887 if (!getExperiment().equals(other.getExperiment())) return false; 888 if (!getExperimentRun().equals(other.getExperimentRun())) return false; 889 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 890 return true; 891 } 892 893 @java.lang.Override hashCode()894 public int hashCode() { 895 if (memoizedHashCode != 0) { 896 return memoizedHashCode; 897 } 898 int hash = 41; 899 hash = (19 * hash) + getDescriptor().hashCode(); 900 if (getWorkerPoolSpecsCount() > 0) { 901 hash = (37 * hash) + WORKER_POOL_SPECS_FIELD_NUMBER; 902 hash = (53 * hash) + getWorkerPoolSpecsList().hashCode(); 903 } 904 if (hasScheduling()) { 905 hash = (37 * hash) + SCHEDULING_FIELD_NUMBER; 906 hash = (53 * hash) + getScheduling().hashCode(); 907 } 908 hash = (37 * hash) + SERVICE_ACCOUNT_FIELD_NUMBER; 909 hash = (53 * hash) + getServiceAccount().hashCode(); 910 hash = (37 * hash) + NETWORK_FIELD_NUMBER; 911 hash = (53 * hash) + getNetwork().hashCode(); 912 if (getReservedIpRangesCount() > 0) { 913 hash = (37 * hash) + RESERVED_IP_RANGES_FIELD_NUMBER; 914 hash = (53 * hash) + getReservedIpRangesList().hashCode(); 915 } 916 if (hasBaseOutputDirectory()) { 917 hash = (37 * hash) + BASE_OUTPUT_DIRECTORY_FIELD_NUMBER; 918 hash = (53 * hash) + getBaseOutputDirectory().hashCode(); 919 } 920 hash = (37 * hash) + TENSORBOARD_FIELD_NUMBER; 921 hash = (53 * hash) + getTensorboard().hashCode(); 922 hash = (37 * hash) + ENABLE_WEB_ACCESS_FIELD_NUMBER; 923 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableWebAccess()); 924 hash = (37 * hash) + ENABLE_DASHBOARD_ACCESS_FIELD_NUMBER; 925 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableDashboardAccess()); 926 hash = (37 * hash) + EXPERIMENT_FIELD_NUMBER; 927 hash = (53 * hash) + getExperiment().hashCode(); 928 hash = (37 * hash) + EXPERIMENT_RUN_FIELD_NUMBER; 929 hash = (53 * hash) + getExperimentRun().hashCode(); 930 hash = (29 * hash) + getUnknownFields().hashCode(); 931 memoizedHashCode = hash; 932 return hash; 933 } 934 parseFrom(java.nio.ByteBuffer data)935 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom(java.nio.ByteBuffer data) 936 throws com.google.protobuf.InvalidProtocolBufferException { 937 return PARSER.parseFrom(data); 938 } 939 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)940 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 941 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 942 throws com.google.protobuf.InvalidProtocolBufferException { 943 return PARSER.parseFrom(data, extensionRegistry); 944 } 945 parseFrom( com.google.protobuf.ByteString data)946 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 947 com.google.protobuf.ByteString data) 948 throws com.google.protobuf.InvalidProtocolBufferException { 949 return PARSER.parseFrom(data); 950 } 951 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)952 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 953 com.google.protobuf.ByteString data, 954 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 955 throws com.google.protobuf.InvalidProtocolBufferException { 956 return PARSER.parseFrom(data, extensionRegistry); 957 } 958 parseFrom(byte[] data)959 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom(byte[] data) 960 throws com.google.protobuf.InvalidProtocolBufferException { 961 return PARSER.parseFrom(data); 962 } 963 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)964 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 965 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 966 throws com.google.protobuf.InvalidProtocolBufferException { 967 return PARSER.parseFrom(data, extensionRegistry); 968 } 969 parseFrom(java.io.InputStream input)970 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom(java.io.InputStream input) 971 throws java.io.IOException { 972 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 973 } 974 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)975 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 976 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 977 throws java.io.IOException { 978 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 979 PARSER, input, extensionRegistry); 980 } 981 parseDelimitedFrom( java.io.InputStream input)982 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseDelimitedFrom( 983 java.io.InputStream input) throws java.io.IOException { 984 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 985 } 986 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)987 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseDelimitedFrom( 988 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 989 throws java.io.IOException { 990 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 991 PARSER, input, extensionRegistry); 992 } 993 parseFrom( com.google.protobuf.CodedInputStream input)994 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 995 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 996 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 997 } 998 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)999 public static com.google.cloud.aiplatform.v1.CustomJobSpec parseFrom( 1000 com.google.protobuf.CodedInputStream input, 1001 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1002 throws java.io.IOException { 1003 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 1004 PARSER, input, extensionRegistry); 1005 } 1006 1007 @java.lang.Override newBuilderForType()1008 public Builder newBuilderForType() { 1009 return newBuilder(); 1010 } 1011 newBuilder()1012 public static Builder newBuilder() { 1013 return DEFAULT_INSTANCE.toBuilder(); 1014 } 1015 newBuilder(com.google.cloud.aiplatform.v1.CustomJobSpec prototype)1016 public static Builder newBuilder(com.google.cloud.aiplatform.v1.CustomJobSpec prototype) { 1017 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 1018 } 1019 1020 @java.lang.Override toBuilder()1021 public Builder toBuilder() { 1022 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 1023 } 1024 1025 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1026 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 1027 Builder builder = new Builder(parent); 1028 return builder; 1029 } 1030 /** 1031 * 1032 * 1033 * <pre> 1034 * Represents the spec of a CustomJob. 1035 * </pre> 1036 * 1037 * Protobuf type {@code google.cloud.aiplatform.v1.CustomJobSpec} 1038 */ 1039 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 1040 implements 1041 // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1.CustomJobSpec) 1042 com.google.cloud.aiplatform.v1.CustomJobSpecOrBuilder { getDescriptor()1043 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 1044 return com.google.cloud.aiplatform.v1.CustomJobProto 1045 .internal_static_google_cloud_aiplatform_v1_CustomJobSpec_descriptor; 1046 } 1047 1048 @java.lang.Override 1049 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()1050 internalGetFieldAccessorTable() { 1051 return com.google.cloud.aiplatform.v1.CustomJobProto 1052 .internal_static_google_cloud_aiplatform_v1_CustomJobSpec_fieldAccessorTable 1053 .ensureFieldAccessorsInitialized( 1054 com.google.cloud.aiplatform.v1.CustomJobSpec.class, 1055 com.google.cloud.aiplatform.v1.CustomJobSpec.Builder.class); 1056 } 1057 1058 // Construct using com.google.cloud.aiplatform.v1.CustomJobSpec.newBuilder() Builder()1059 private Builder() {} 1060 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1061 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 1062 super(parent); 1063 } 1064 1065 @java.lang.Override clear()1066 public Builder clear() { 1067 super.clear(); 1068 bitField0_ = 0; 1069 if (workerPoolSpecsBuilder_ == null) { 1070 workerPoolSpecs_ = java.util.Collections.emptyList(); 1071 } else { 1072 workerPoolSpecs_ = null; 1073 workerPoolSpecsBuilder_.clear(); 1074 } 1075 bitField0_ = (bitField0_ & ~0x00000001); 1076 scheduling_ = null; 1077 if (schedulingBuilder_ != null) { 1078 schedulingBuilder_.dispose(); 1079 schedulingBuilder_ = null; 1080 } 1081 serviceAccount_ = ""; 1082 network_ = ""; 1083 reservedIpRanges_ = com.google.protobuf.LazyStringArrayList.EMPTY; 1084 bitField0_ = (bitField0_ & ~0x00000010); 1085 baseOutputDirectory_ = null; 1086 if (baseOutputDirectoryBuilder_ != null) { 1087 baseOutputDirectoryBuilder_.dispose(); 1088 baseOutputDirectoryBuilder_ = null; 1089 } 1090 tensorboard_ = ""; 1091 enableWebAccess_ = false; 1092 enableDashboardAccess_ = false; 1093 experiment_ = ""; 1094 experimentRun_ = ""; 1095 return this; 1096 } 1097 1098 @java.lang.Override getDescriptorForType()1099 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 1100 return com.google.cloud.aiplatform.v1.CustomJobProto 1101 .internal_static_google_cloud_aiplatform_v1_CustomJobSpec_descriptor; 1102 } 1103 1104 @java.lang.Override getDefaultInstanceForType()1105 public com.google.cloud.aiplatform.v1.CustomJobSpec getDefaultInstanceForType() { 1106 return com.google.cloud.aiplatform.v1.CustomJobSpec.getDefaultInstance(); 1107 } 1108 1109 @java.lang.Override build()1110 public com.google.cloud.aiplatform.v1.CustomJobSpec build() { 1111 com.google.cloud.aiplatform.v1.CustomJobSpec result = buildPartial(); 1112 if (!result.isInitialized()) { 1113 throw newUninitializedMessageException(result); 1114 } 1115 return result; 1116 } 1117 1118 @java.lang.Override buildPartial()1119 public com.google.cloud.aiplatform.v1.CustomJobSpec buildPartial() { 1120 com.google.cloud.aiplatform.v1.CustomJobSpec result = 1121 new com.google.cloud.aiplatform.v1.CustomJobSpec(this); 1122 buildPartialRepeatedFields(result); 1123 if (bitField0_ != 0) { 1124 buildPartial0(result); 1125 } 1126 onBuilt(); 1127 return result; 1128 } 1129 buildPartialRepeatedFields(com.google.cloud.aiplatform.v1.CustomJobSpec result)1130 private void buildPartialRepeatedFields(com.google.cloud.aiplatform.v1.CustomJobSpec result) { 1131 if (workerPoolSpecsBuilder_ == null) { 1132 if (((bitField0_ & 0x00000001) != 0)) { 1133 workerPoolSpecs_ = java.util.Collections.unmodifiableList(workerPoolSpecs_); 1134 bitField0_ = (bitField0_ & ~0x00000001); 1135 } 1136 result.workerPoolSpecs_ = workerPoolSpecs_; 1137 } else { 1138 result.workerPoolSpecs_ = workerPoolSpecsBuilder_.build(); 1139 } 1140 if (((bitField0_ & 0x00000010) != 0)) { 1141 reservedIpRanges_ = reservedIpRanges_.getUnmodifiableView(); 1142 bitField0_ = (bitField0_ & ~0x00000010); 1143 } 1144 result.reservedIpRanges_ = reservedIpRanges_; 1145 } 1146 buildPartial0(com.google.cloud.aiplatform.v1.CustomJobSpec result)1147 private void buildPartial0(com.google.cloud.aiplatform.v1.CustomJobSpec result) { 1148 int from_bitField0_ = bitField0_; 1149 if (((from_bitField0_ & 0x00000002) != 0)) { 1150 result.scheduling_ = schedulingBuilder_ == null ? scheduling_ : schedulingBuilder_.build(); 1151 } 1152 if (((from_bitField0_ & 0x00000004) != 0)) { 1153 result.serviceAccount_ = serviceAccount_; 1154 } 1155 if (((from_bitField0_ & 0x00000008) != 0)) { 1156 result.network_ = network_; 1157 } 1158 if (((from_bitField0_ & 0x00000020) != 0)) { 1159 result.baseOutputDirectory_ = 1160 baseOutputDirectoryBuilder_ == null 1161 ? baseOutputDirectory_ 1162 : baseOutputDirectoryBuilder_.build(); 1163 } 1164 if (((from_bitField0_ & 0x00000040) != 0)) { 1165 result.tensorboard_ = tensorboard_; 1166 } 1167 if (((from_bitField0_ & 0x00000080) != 0)) { 1168 result.enableWebAccess_ = enableWebAccess_; 1169 } 1170 if (((from_bitField0_ & 0x00000100) != 0)) { 1171 result.enableDashboardAccess_ = enableDashboardAccess_; 1172 } 1173 if (((from_bitField0_ & 0x00000200) != 0)) { 1174 result.experiment_ = experiment_; 1175 } 1176 if (((from_bitField0_ & 0x00000400) != 0)) { 1177 result.experimentRun_ = experimentRun_; 1178 } 1179 } 1180 1181 @java.lang.Override clone()1182 public Builder clone() { 1183 return super.clone(); 1184 } 1185 1186 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1187 public Builder setField( 1188 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 1189 return super.setField(field, value); 1190 } 1191 1192 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1193 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 1194 return super.clearField(field); 1195 } 1196 1197 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1198 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 1199 return super.clearOneof(oneof); 1200 } 1201 1202 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1203 public Builder setRepeatedField( 1204 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 1205 return super.setRepeatedField(field, index, value); 1206 } 1207 1208 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1209 public Builder addRepeatedField( 1210 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 1211 return super.addRepeatedField(field, value); 1212 } 1213 1214 @java.lang.Override mergeFrom(com.google.protobuf.Message other)1215 public Builder mergeFrom(com.google.protobuf.Message other) { 1216 if (other instanceof com.google.cloud.aiplatform.v1.CustomJobSpec) { 1217 return mergeFrom((com.google.cloud.aiplatform.v1.CustomJobSpec) other); 1218 } else { 1219 super.mergeFrom(other); 1220 return this; 1221 } 1222 } 1223 mergeFrom(com.google.cloud.aiplatform.v1.CustomJobSpec other)1224 public Builder mergeFrom(com.google.cloud.aiplatform.v1.CustomJobSpec other) { 1225 if (other == com.google.cloud.aiplatform.v1.CustomJobSpec.getDefaultInstance()) return this; 1226 if (workerPoolSpecsBuilder_ == null) { 1227 if (!other.workerPoolSpecs_.isEmpty()) { 1228 if (workerPoolSpecs_.isEmpty()) { 1229 workerPoolSpecs_ = other.workerPoolSpecs_; 1230 bitField0_ = (bitField0_ & ~0x00000001); 1231 } else { 1232 ensureWorkerPoolSpecsIsMutable(); 1233 workerPoolSpecs_.addAll(other.workerPoolSpecs_); 1234 } 1235 onChanged(); 1236 } 1237 } else { 1238 if (!other.workerPoolSpecs_.isEmpty()) { 1239 if (workerPoolSpecsBuilder_.isEmpty()) { 1240 workerPoolSpecsBuilder_.dispose(); 1241 workerPoolSpecsBuilder_ = null; 1242 workerPoolSpecs_ = other.workerPoolSpecs_; 1243 bitField0_ = (bitField0_ & ~0x00000001); 1244 workerPoolSpecsBuilder_ = 1245 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 1246 ? getWorkerPoolSpecsFieldBuilder() 1247 : null; 1248 } else { 1249 workerPoolSpecsBuilder_.addAllMessages(other.workerPoolSpecs_); 1250 } 1251 } 1252 } 1253 if (other.hasScheduling()) { 1254 mergeScheduling(other.getScheduling()); 1255 } 1256 if (!other.getServiceAccount().isEmpty()) { 1257 serviceAccount_ = other.serviceAccount_; 1258 bitField0_ |= 0x00000004; 1259 onChanged(); 1260 } 1261 if (!other.getNetwork().isEmpty()) { 1262 network_ = other.network_; 1263 bitField0_ |= 0x00000008; 1264 onChanged(); 1265 } 1266 if (!other.reservedIpRanges_.isEmpty()) { 1267 if (reservedIpRanges_.isEmpty()) { 1268 reservedIpRanges_ = other.reservedIpRanges_; 1269 bitField0_ = (bitField0_ & ~0x00000010); 1270 } else { 1271 ensureReservedIpRangesIsMutable(); 1272 reservedIpRanges_.addAll(other.reservedIpRanges_); 1273 } 1274 onChanged(); 1275 } 1276 if (other.hasBaseOutputDirectory()) { 1277 mergeBaseOutputDirectory(other.getBaseOutputDirectory()); 1278 } 1279 if (!other.getTensorboard().isEmpty()) { 1280 tensorboard_ = other.tensorboard_; 1281 bitField0_ |= 0x00000040; 1282 onChanged(); 1283 } 1284 if (other.getEnableWebAccess() != false) { 1285 setEnableWebAccess(other.getEnableWebAccess()); 1286 } 1287 if (other.getEnableDashboardAccess() != false) { 1288 setEnableDashboardAccess(other.getEnableDashboardAccess()); 1289 } 1290 if (!other.getExperiment().isEmpty()) { 1291 experiment_ = other.experiment_; 1292 bitField0_ |= 0x00000200; 1293 onChanged(); 1294 } 1295 if (!other.getExperimentRun().isEmpty()) { 1296 experimentRun_ = other.experimentRun_; 1297 bitField0_ |= 0x00000400; 1298 onChanged(); 1299 } 1300 this.mergeUnknownFields(other.getUnknownFields()); 1301 onChanged(); 1302 return this; 1303 } 1304 1305 @java.lang.Override isInitialized()1306 public final boolean isInitialized() { 1307 return true; 1308 } 1309 1310 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1311 public Builder mergeFrom( 1312 com.google.protobuf.CodedInputStream input, 1313 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1314 throws java.io.IOException { 1315 if (extensionRegistry == null) { 1316 throw new java.lang.NullPointerException(); 1317 } 1318 try { 1319 boolean done = false; 1320 while (!done) { 1321 int tag = input.readTag(); 1322 switch (tag) { 1323 case 0: 1324 done = true; 1325 break; 1326 case 10: 1327 { 1328 com.google.cloud.aiplatform.v1.WorkerPoolSpec m = 1329 input.readMessage( 1330 com.google.cloud.aiplatform.v1.WorkerPoolSpec.parser(), extensionRegistry); 1331 if (workerPoolSpecsBuilder_ == null) { 1332 ensureWorkerPoolSpecsIsMutable(); 1333 workerPoolSpecs_.add(m); 1334 } else { 1335 workerPoolSpecsBuilder_.addMessage(m); 1336 } 1337 break; 1338 } // case 10 1339 case 26: 1340 { 1341 input.readMessage(getSchedulingFieldBuilder().getBuilder(), extensionRegistry); 1342 bitField0_ |= 0x00000002; 1343 break; 1344 } // case 26 1345 case 34: 1346 { 1347 serviceAccount_ = input.readStringRequireUtf8(); 1348 bitField0_ |= 0x00000004; 1349 break; 1350 } // case 34 1351 case 42: 1352 { 1353 network_ = input.readStringRequireUtf8(); 1354 bitField0_ |= 0x00000008; 1355 break; 1356 } // case 42 1357 case 50: 1358 { 1359 input.readMessage( 1360 getBaseOutputDirectoryFieldBuilder().getBuilder(), extensionRegistry); 1361 bitField0_ |= 0x00000020; 1362 break; 1363 } // case 50 1364 case 58: 1365 { 1366 tensorboard_ = input.readStringRequireUtf8(); 1367 bitField0_ |= 0x00000040; 1368 break; 1369 } // case 58 1370 case 80: 1371 { 1372 enableWebAccess_ = input.readBool(); 1373 bitField0_ |= 0x00000080; 1374 break; 1375 } // case 80 1376 case 106: 1377 { 1378 java.lang.String s = input.readStringRequireUtf8(); 1379 ensureReservedIpRangesIsMutable(); 1380 reservedIpRanges_.add(s); 1381 break; 1382 } // case 106 1383 case 128: 1384 { 1385 enableDashboardAccess_ = input.readBool(); 1386 bitField0_ |= 0x00000100; 1387 break; 1388 } // case 128 1389 case 138: 1390 { 1391 experiment_ = input.readStringRequireUtf8(); 1392 bitField0_ |= 0x00000200; 1393 break; 1394 } // case 138 1395 case 146: 1396 { 1397 experimentRun_ = input.readStringRequireUtf8(); 1398 bitField0_ |= 0x00000400; 1399 break; 1400 } // case 146 1401 default: 1402 { 1403 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 1404 done = true; // was an endgroup tag 1405 } 1406 break; 1407 } // default: 1408 } // switch (tag) 1409 } // while (!done) 1410 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1411 throw e.unwrapIOException(); 1412 } finally { 1413 onChanged(); 1414 } // finally 1415 return this; 1416 } 1417 1418 private int bitField0_; 1419 1420 private java.util.List<com.google.cloud.aiplatform.v1.WorkerPoolSpec> workerPoolSpecs_ = 1421 java.util.Collections.emptyList(); 1422 ensureWorkerPoolSpecsIsMutable()1423 private void ensureWorkerPoolSpecsIsMutable() { 1424 if (!((bitField0_ & 0x00000001) != 0)) { 1425 workerPoolSpecs_ = 1426 new java.util.ArrayList<com.google.cloud.aiplatform.v1.WorkerPoolSpec>( 1427 workerPoolSpecs_); 1428 bitField0_ |= 0x00000001; 1429 } 1430 } 1431 1432 private com.google.protobuf.RepeatedFieldBuilderV3< 1433 com.google.cloud.aiplatform.v1.WorkerPoolSpec, 1434 com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder, 1435 com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder> 1436 workerPoolSpecsBuilder_; 1437 1438 /** 1439 * 1440 * 1441 * <pre> 1442 * Required. The spec of the worker pools including machine type and Docker 1443 * image. All worker pools except the first one are optional and can be 1444 * skipped by providing an empty value. 1445 * </pre> 1446 * 1447 * <code> 1448 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1449 * </code> 1450 */ getWorkerPoolSpecsList()1451 public java.util.List<com.google.cloud.aiplatform.v1.WorkerPoolSpec> getWorkerPoolSpecsList() { 1452 if (workerPoolSpecsBuilder_ == null) { 1453 return java.util.Collections.unmodifiableList(workerPoolSpecs_); 1454 } else { 1455 return workerPoolSpecsBuilder_.getMessageList(); 1456 } 1457 } 1458 /** 1459 * 1460 * 1461 * <pre> 1462 * Required. The spec of the worker pools including machine type and Docker 1463 * image. All worker pools except the first one are optional and can be 1464 * skipped by providing an empty value. 1465 * </pre> 1466 * 1467 * <code> 1468 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1469 * </code> 1470 */ getWorkerPoolSpecsCount()1471 public int getWorkerPoolSpecsCount() { 1472 if (workerPoolSpecsBuilder_ == null) { 1473 return workerPoolSpecs_.size(); 1474 } else { 1475 return workerPoolSpecsBuilder_.getCount(); 1476 } 1477 } 1478 /** 1479 * 1480 * 1481 * <pre> 1482 * Required. The spec of the worker pools including machine type and Docker 1483 * image. All worker pools except the first one are optional and can be 1484 * skipped by providing an empty value. 1485 * </pre> 1486 * 1487 * <code> 1488 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1489 * </code> 1490 */ getWorkerPoolSpecs(int index)1491 public com.google.cloud.aiplatform.v1.WorkerPoolSpec getWorkerPoolSpecs(int index) { 1492 if (workerPoolSpecsBuilder_ == null) { 1493 return workerPoolSpecs_.get(index); 1494 } else { 1495 return workerPoolSpecsBuilder_.getMessage(index); 1496 } 1497 } 1498 /** 1499 * 1500 * 1501 * <pre> 1502 * Required. The spec of the worker pools including machine type and Docker 1503 * image. All worker pools except the first one are optional and can be 1504 * skipped by providing an empty value. 1505 * </pre> 1506 * 1507 * <code> 1508 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1509 * </code> 1510 */ setWorkerPoolSpecs( int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec value)1511 public Builder setWorkerPoolSpecs( 1512 int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec value) { 1513 if (workerPoolSpecsBuilder_ == null) { 1514 if (value == null) { 1515 throw new NullPointerException(); 1516 } 1517 ensureWorkerPoolSpecsIsMutable(); 1518 workerPoolSpecs_.set(index, value); 1519 onChanged(); 1520 } else { 1521 workerPoolSpecsBuilder_.setMessage(index, value); 1522 } 1523 return this; 1524 } 1525 /** 1526 * 1527 * 1528 * <pre> 1529 * Required. The spec of the worker pools including machine type and Docker 1530 * image. All worker pools except the first one are optional and can be 1531 * skipped by providing an empty value. 1532 * </pre> 1533 * 1534 * <code> 1535 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1536 * </code> 1537 */ setWorkerPoolSpecs( int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder builderForValue)1538 public Builder setWorkerPoolSpecs( 1539 int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder builderForValue) { 1540 if (workerPoolSpecsBuilder_ == null) { 1541 ensureWorkerPoolSpecsIsMutable(); 1542 workerPoolSpecs_.set(index, builderForValue.build()); 1543 onChanged(); 1544 } else { 1545 workerPoolSpecsBuilder_.setMessage(index, builderForValue.build()); 1546 } 1547 return this; 1548 } 1549 /** 1550 * 1551 * 1552 * <pre> 1553 * Required. The spec of the worker pools including machine type and Docker 1554 * image. All worker pools except the first one are optional and can be 1555 * skipped by providing an empty value. 1556 * </pre> 1557 * 1558 * <code> 1559 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1560 * </code> 1561 */ addWorkerPoolSpecs(com.google.cloud.aiplatform.v1.WorkerPoolSpec value)1562 public Builder addWorkerPoolSpecs(com.google.cloud.aiplatform.v1.WorkerPoolSpec value) { 1563 if (workerPoolSpecsBuilder_ == null) { 1564 if (value == null) { 1565 throw new NullPointerException(); 1566 } 1567 ensureWorkerPoolSpecsIsMutable(); 1568 workerPoolSpecs_.add(value); 1569 onChanged(); 1570 } else { 1571 workerPoolSpecsBuilder_.addMessage(value); 1572 } 1573 return this; 1574 } 1575 /** 1576 * 1577 * 1578 * <pre> 1579 * Required. The spec of the worker pools including machine type and Docker 1580 * image. All worker pools except the first one are optional and can be 1581 * skipped by providing an empty value. 1582 * </pre> 1583 * 1584 * <code> 1585 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1586 * </code> 1587 */ addWorkerPoolSpecs( int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec value)1588 public Builder addWorkerPoolSpecs( 1589 int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec value) { 1590 if (workerPoolSpecsBuilder_ == null) { 1591 if (value == null) { 1592 throw new NullPointerException(); 1593 } 1594 ensureWorkerPoolSpecsIsMutable(); 1595 workerPoolSpecs_.add(index, value); 1596 onChanged(); 1597 } else { 1598 workerPoolSpecsBuilder_.addMessage(index, value); 1599 } 1600 return this; 1601 } 1602 /** 1603 * 1604 * 1605 * <pre> 1606 * Required. The spec of the worker pools including machine type and Docker 1607 * image. All worker pools except the first one are optional and can be 1608 * skipped by providing an empty value. 1609 * </pre> 1610 * 1611 * <code> 1612 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1613 * </code> 1614 */ addWorkerPoolSpecs( com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder builderForValue)1615 public Builder addWorkerPoolSpecs( 1616 com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder builderForValue) { 1617 if (workerPoolSpecsBuilder_ == null) { 1618 ensureWorkerPoolSpecsIsMutable(); 1619 workerPoolSpecs_.add(builderForValue.build()); 1620 onChanged(); 1621 } else { 1622 workerPoolSpecsBuilder_.addMessage(builderForValue.build()); 1623 } 1624 return this; 1625 } 1626 /** 1627 * 1628 * 1629 * <pre> 1630 * Required. The spec of the worker pools including machine type and Docker 1631 * image. All worker pools except the first one are optional and can be 1632 * skipped by providing an empty value. 1633 * </pre> 1634 * 1635 * <code> 1636 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1637 * </code> 1638 */ addWorkerPoolSpecs( int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder builderForValue)1639 public Builder addWorkerPoolSpecs( 1640 int index, com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder builderForValue) { 1641 if (workerPoolSpecsBuilder_ == null) { 1642 ensureWorkerPoolSpecsIsMutable(); 1643 workerPoolSpecs_.add(index, builderForValue.build()); 1644 onChanged(); 1645 } else { 1646 workerPoolSpecsBuilder_.addMessage(index, builderForValue.build()); 1647 } 1648 return this; 1649 } 1650 /** 1651 * 1652 * 1653 * <pre> 1654 * Required. The spec of the worker pools including machine type and Docker 1655 * image. All worker pools except the first one are optional and can be 1656 * skipped by providing an empty value. 1657 * </pre> 1658 * 1659 * <code> 1660 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1661 * </code> 1662 */ addAllWorkerPoolSpecs( java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.WorkerPoolSpec> values)1663 public Builder addAllWorkerPoolSpecs( 1664 java.lang.Iterable<? extends com.google.cloud.aiplatform.v1.WorkerPoolSpec> values) { 1665 if (workerPoolSpecsBuilder_ == null) { 1666 ensureWorkerPoolSpecsIsMutable(); 1667 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, workerPoolSpecs_); 1668 onChanged(); 1669 } else { 1670 workerPoolSpecsBuilder_.addAllMessages(values); 1671 } 1672 return this; 1673 } 1674 /** 1675 * 1676 * 1677 * <pre> 1678 * Required. The spec of the worker pools including machine type and Docker 1679 * image. All worker pools except the first one are optional and can be 1680 * skipped by providing an empty value. 1681 * </pre> 1682 * 1683 * <code> 1684 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1685 * </code> 1686 */ clearWorkerPoolSpecs()1687 public Builder clearWorkerPoolSpecs() { 1688 if (workerPoolSpecsBuilder_ == null) { 1689 workerPoolSpecs_ = java.util.Collections.emptyList(); 1690 bitField0_ = (bitField0_ & ~0x00000001); 1691 onChanged(); 1692 } else { 1693 workerPoolSpecsBuilder_.clear(); 1694 } 1695 return this; 1696 } 1697 /** 1698 * 1699 * 1700 * <pre> 1701 * Required. The spec of the worker pools including machine type and Docker 1702 * image. All worker pools except the first one are optional and can be 1703 * skipped by providing an empty value. 1704 * </pre> 1705 * 1706 * <code> 1707 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1708 * </code> 1709 */ removeWorkerPoolSpecs(int index)1710 public Builder removeWorkerPoolSpecs(int index) { 1711 if (workerPoolSpecsBuilder_ == null) { 1712 ensureWorkerPoolSpecsIsMutable(); 1713 workerPoolSpecs_.remove(index); 1714 onChanged(); 1715 } else { 1716 workerPoolSpecsBuilder_.remove(index); 1717 } 1718 return this; 1719 } 1720 /** 1721 * 1722 * 1723 * <pre> 1724 * Required. The spec of the worker pools including machine type and Docker 1725 * image. All worker pools except the first one are optional and can be 1726 * skipped by providing an empty value. 1727 * </pre> 1728 * 1729 * <code> 1730 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1731 * </code> 1732 */ getWorkerPoolSpecsBuilder( int index)1733 public com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder getWorkerPoolSpecsBuilder( 1734 int index) { 1735 return getWorkerPoolSpecsFieldBuilder().getBuilder(index); 1736 } 1737 /** 1738 * 1739 * 1740 * <pre> 1741 * Required. The spec of the worker pools including machine type and Docker 1742 * image. All worker pools except the first one are optional and can be 1743 * skipped by providing an empty value. 1744 * </pre> 1745 * 1746 * <code> 1747 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1748 * </code> 1749 */ getWorkerPoolSpecsOrBuilder( int index)1750 public com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder getWorkerPoolSpecsOrBuilder( 1751 int index) { 1752 if (workerPoolSpecsBuilder_ == null) { 1753 return workerPoolSpecs_.get(index); 1754 } else { 1755 return workerPoolSpecsBuilder_.getMessageOrBuilder(index); 1756 } 1757 } 1758 /** 1759 * 1760 * 1761 * <pre> 1762 * Required. The spec of the worker pools including machine type and Docker 1763 * image. All worker pools except the first one are optional and can be 1764 * skipped by providing an empty value. 1765 * </pre> 1766 * 1767 * <code> 1768 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1769 * </code> 1770 */ 1771 public java.util.List<? extends com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder> getWorkerPoolSpecsOrBuilderList()1772 getWorkerPoolSpecsOrBuilderList() { 1773 if (workerPoolSpecsBuilder_ != null) { 1774 return workerPoolSpecsBuilder_.getMessageOrBuilderList(); 1775 } else { 1776 return java.util.Collections.unmodifiableList(workerPoolSpecs_); 1777 } 1778 } 1779 /** 1780 * 1781 * 1782 * <pre> 1783 * Required. The spec of the worker pools including machine type and Docker 1784 * image. All worker pools except the first one are optional and can be 1785 * skipped by providing an empty value. 1786 * </pre> 1787 * 1788 * <code> 1789 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1790 * </code> 1791 */ addWorkerPoolSpecsBuilder()1792 public com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder addWorkerPoolSpecsBuilder() { 1793 return getWorkerPoolSpecsFieldBuilder() 1794 .addBuilder(com.google.cloud.aiplatform.v1.WorkerPoolSpec.getDefaultInstance()); 1795 } 1796 /** 1797 * 1798 * 1799 * <pre> 1800 * Required. The spec of the worker pools including machine type and Docker 1801 * image. All worker pools except the first one are optional and can be 1802 * skipped by providing an empty value. 1803 * </pre> 1804 * 1805 * <code> 1806 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1807 * </code> 1808 */ addWorkerPoolSpecsBuilder( int index)1809 public com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder addWorkerPoolSpecsBuilder( 1810 int index) { 1811 return getWorkerPoolSpecsFieldBuilder() 1812 .addBuilder(index, com.google.cloud.aiplatform.v1.WorkerPoolSpec.getDefaultInstance()); 1813 } 1814 /** 1815 * 1816 * 1817 * <pre> 1818 * Required. The spec of the worker pools including machine type and Docker 1819 * image. All worker pools except the first one are optional and can be 1820 * skipped by providing an empty value. 1821 * </pre> 1822 * 1823 * <code> 1824 * repeated .google.cloud.aiplatform.v1.WorkerPoolSpec worker_pool_specs = 1 [(.google.api.field_behavior) = REQUIRED]; 1825 * </code> 1826 */ 1827 public java.util.List<com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder> getWorkerPoolSpecsBuilderList()1828 getWorkerPoolSpecsBuilderList() { 1829 return getWorkerPoolSpecsFieldBuilder().getBuilderList(); 1830 } 1831 1832 private com.google.protobuf.RepeatedFieldBuilderV3< 1833 com.google.cloud.aiplatform.v1.WorkerPoolSpec, 1834 com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder, 1835 com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder> getWorkerPoolSpecsFieldBuilder()1836 getWorkerPoolSpecsFieldBuilder() { 1837 if (workerPoolSpecsBuilder_ == null) { 1838 workerPoolSpecsBuilder_ = 1839 new com.google.protobuf.RepeatedFieldBuilderV3< 1840 com.google.cloud.aiplatform.v1.WorkerPoolSpec, 1841 com.google.cloud.aiplatform.v1.WorkerPoolSpec.Builder, 1842 com.google.cloud.aiplatform.v1.WorkerPoolSpecOrBuilder>( 1843 workerPoolSpecs_, 1844 ((bitField0_ & 0x00000001) != 0), 1845 getParentForChildren(), 1846 isClean()); 1847 workerPoolSpecs_ = null; 1848 } 1849 return workerPoolSpecsBuilder_; 1850 } 1851 1852 private com.google.cloud.aiplatform.v1.Scheduling scheduling_; 1853 private com.google.protobuf.SingleFieldBuilderV3< 1854 com.google.cloud.aiplatform.v1.Scheduling, 1855 com.google.cloud.aiplatform.v1.Scheduling.Builder, 1856 com.google.cloud.aiplatform.v1.SchedulingOrBuilder> 1857 schedulingBuilder_; 1858 /** 1859 * 1860 * 1861 * <pre> 1862 * Scheduling options for a CustomJob. 1863 * </pre> 1864 * 1865 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1866 * 1867 * @return Whether the scheduling field is set. 1868 */ hasScheduling()1869 public boolean hasScheduling() { 1870 return ((bitField0_ & 0x00000002) != 0); 1871 } 1872 /** 1873 * 1874 * 1875 * <pre> 1876 * Scheduling options for a CustomJob. 1877 * </pre> 1878 * 1879 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1880 * 1881 * @return The scheduling. 1882 */ getScheduling()1883 public com.google.cloud.aiplatform.v1.Scheduling getScheduling() { 1884 if (schedulingBuilder_ == null) { 1885 return scheduling_ == null 1886 ? com.google.cloud.aiplatform.v1.Scheduling.getDefaultInstance() 1887 : scheduling_; 1888 } else { 1889 return schedulingBuilder_.getMessage(); 1890 } 1891 } 1892 /** 1893 * 1894 * 1895 * <pre> 1896 * Scheduling options for a CustomJob. 1897 * </pre> 1898 * 1899 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1900 */ setScheduling(com.google.cloud.aiplatform.v1.Scheduling value)1901 public Builder setScheduling(com.google.cloud.aiplatform.v1.Scheduling value) { 1902 if (schedulingBuilder_ == null) { 1903 if (value == null) { 1904 throw new NullPointerException(); 1905 } 1906 scheduling_ = value; 1907 } else { 1908 schedulingBuilder_.setMessage(value); 1909 } 1910 bitField0_ |= 0x00000002; 1911 onChanged(); 1912 return this; 1913 } 1914 /** 1915 * 1916 * 1917 * <pre> 1918 * Scheduling options for a CustomJob. 1919 * </pre> 1920 * 1921 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1922 */ setScheduling( com.google.cloud.aiplatform.v1.Scheduling.Builder builderForValue)1923 public Builder setScheduling( 1924 com.google.cloud.aiplatform.v1.Scheduling.Builder builderForValue) { 1925 if (schedulingBuilder_ == null) { 1926 scheduling_ = builderForValue.build(); 1927 } else { 1928 schedulingBuilder_.setMessage(builderForValue.build()); 1929 } 1930 bitField0_ |= 0x00000002; 1931 onChanged(); 1932 return this; 1933 } 1934 /** 1935 * 1936 * 1937 * <pre> 1938 * Scheduling options for a CustomJob. 1939 * </pre> 1940 * 1941 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1942 */ mergeScheduling(com.google.cloud.aiplatform.v1.Scheduling value)1943 public Builder mergeScheduling(com.google.cloud.aiplatform.v1.Scheduling value) { 1944 if (schedulingBuilder_ == null) { 1945 if (((bitField0_ & 0x00000002) != 0) 1946 && scheduling_ != null 1947 && scheduling_ != com.google.cloud.aiplatform.v1.Scheduling.getDefaultInstance()) { 1948 getSchedulingBuilder().mergeFrom(value); 1949 } else { 1950 scheduling_ = value; 1951 } 1952 } else { 1953 schedulingBuilder_.mergeFrom(value); 1954 } 1955 bitField0_ |= 0x00000002; 1956 onChanged(); 1957 return this; 1958 } 1959 /** 1960 * 1961 * 1962 * <pre> 1963 * Scheduling options for a CustomJob. 1964 * </pre> 1965 * 1966 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1967 */ clearScheduling()1968 public Builder clearScheduling() { 1969 bitField0_ = (bitField0_ & ~0x00000002); 1970 scheduling_ = null; 1971 if (schedulingBuilder_ != null) { 1972 schedulingBuilder_.dispose(); 1973 schedulingBuilder_ = null; 1974 } 1975 onChanged(); 1976 return this; 1977 } 1978 /** 1979 * 1980 * 1981 * <pre> 1982 * Scheduling options for a CustomJob. 1983 * </pre> 1984 * 1985 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 1986 */ getSchedulingBuilder()1987 public com.google.cloud.aiplatform.v1.Scheduling.Builder getSchedulingBuilder() { 1988 bitField0_ |= 0x00000002; 1989 onChanged(); 1990 return getSchedulingFieldBuilder().getBuilder(); 1991 } 1992 /** 1993 * 1994 * 1995 * <pre> 1996 * Scheduling options for a CustomJob. 1997 * </pre> 1998 * 1999 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 2000 */ getSchedulingOrBuilder()2001 public com.google.cloud.aiplatform.v1.SchedulingOrBuilder getSchedulingOrBuilder() { 2002 if (schedulingBuilder_ != null) { 2003 return schedulingBuilder_.getMessageOrBuilder(); 2004 } else { 2005 return scheduling_ == null 2006 ? com.google.cloud.aiplatform.v1.Scheduling.getDefaultInstance() 2007 : scheduling_; 2008 } 2009 } 2010 /** 2011 * 2012 * 2013 * <pre> 2014 * Scheduling options for a CustomJob. 2015 * </pre> 2016 * 2017 * <code>.google.cloud.aiplatform.v1.Scheduling scheduling = 3;</code> 2018 */ 2019 private com.google.protobuf.SingleFieldBuilderV3< 2020 com.google.cloud.aiplatform.v1.Scheduling, 2021 com.google.cloud.aiplatform.v1.Scheduling.Builder, 2022 com.google.cloud.aiplatform.v1.SchedulingOrBuilder> getSchedulingFieldBuilder()2023 getSchedulingFieldBuilder() { 2024 if (schedulingBuilder_ == null) { 2025 schedulingBuilder_ = 2026 new com.google.protobuf.SingleFieldBuilderV3< 2027 com.google.cloud.aiplatform.v1.Scheduling, 2028 com.google.cloud.aiplatform.v1.Scheduling.Builder, 2029 com.google.cloud.aiplatform.v1.SchedulingOrBuilder>( 2030 getScheduling(), getParentForChildren(), isClean()); 2031 scheduling_ = null; 2032 } 2033 return schedulingBuilder_; 2034 } 2035 2036 private java.lang.Object serviceAccount_ = ""; 2037 /** 2038 * 2039 * 2040 * <pre> 2041 * Specifies the service account for workload run-as account. 2042 * Users submitting jobs must have act-as permission on this run-as account. 2043 * If unspecified, the [Vertex AI Custom Code Service 2044 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 2045 * for the CustomJob's project is used. 2046 * </pre> 2047 * 2048 * <code>string service_account = 4;</code> 2049 * 2050 * @return The serviceAccount. 2051 */ getServiceAccount()2052 public java.lang.String getServiceAccount() { 2053 java.lang.Object ref = serviceAccount_; 2054 if (!(ref instanceof java.lang.String)) { 2055 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2056 java.lang.String s = bs.toStringUtf8(); 2057 serviceAccount_ = s; 2058 return s; 2059 } else { 2060 return (java.lang.String) ref; 2061 } 2062 } 2063 /** 2064 * 2065 * 2066 * <pre> 2067 * Specifies the service account for workload run-as account. 2068 * Users submitting jobs must have act-as permission on this run-as account. 2069 * If unspecified, the [Vertex AI Custom Code Service 2070 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 2071 * for the CustomJob's project is used. 2072 * </pre> 2073 * 2074 * <code>string service_account = 4;</code> 2075 * 2076 * @return The bytes for serviceAccount. 2077 */ getServiceAccountBytes()2078 public com.google.protobuf.ByteString getServiceAccountBytes() { 2079 java.lang.Object ref = serviceAccount_; 2080 if (ref instanceof String) { 2081 com.google.protobuf.ByteString b = 2082 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2083 serviceAccount_ = b; 2084 return b; 2085 } else { 2086 return (com.google.protobuf.ByteString) ref; 2087 } 2088 } 2089 /** 2090 * 2091 * 2092 * <pre> 2093 * Specifies the service account for workload run-as account. 2094 * Users submitting jobs must have act-as permission on this run-as account. 2095 * If unspecified, the [Vertex AI Custom Code Service 2096 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 2097 * for the CustomJob's project is used. 2098 * </pre> 2099 * 2100 * <code>string service_account = 4;</code> 2101 * 2102 * @param value The serviceAccount to set. 2103 * @return This builder for chaining. 2104 */ setServiceAccount(java.lang.String value)2105 public Builder setServiceAccount(java.lang.String value) { 2106 if (value == null) { 2107 throw new NullPointerException(); 2108 } 2109 serviceAccount_ = value; 2110 bitField0_ |= 0x00000004; 2111 onChanged(); 2112 return this; 2113 } 2114 /** 2115 * 2116 * 2117 * <pre> 2118 * Specifies the service account for workload run-as account. 2119 * Users submitting jobs must have act-as permission on this run-as account. 2120 * If unspecified, the [Vertex AI Custom Code Service 2121 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 2122 * for the CustomJob's project is used. 2123 * </pre> 2124 * 2125 * <code>string service_account = 4;</code> 2126 * 2127 * @return This builder for chaining. 2128 */ clearServiceAccount()2129 public Builder clearServiceAccount() { 2130 serviceAccount_ = getDefaultInstance().getServiceAccount(); 2131 bitField0_ = (bitField0_ & ~0x00000004); 2132 onChanged(); 2133 return this; 2134 } 2135 /** 2136 * 2137 * 2138 * <pre> 2139 * Specifies the service account for workload run-as account. 2140 * Users submitting jobs must have act-as permission on this run-as account. 2141 * If unspecified, the [Vertex AI Custom Code Service 2142 * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) 2143 * for the CustomJob's project is used. 2144 * </pre> 2145 * 2146 * <code>string service_account = 4;</code> 2147 * 2148 * @param value The bytes for serviceAccount to set. 2149 * @return This builder for chaining. 2150 */ setServiceAccountBytes(com.google.protobuf.ByteString value)2151 public Builder setServiceAccountBytes(com.google.protobuf.ByteString value) { 2152 if (value == null) { 2153 throw new NullPointerException(); 2154 } 2155 checkByteStringIsUtf8(value); 2156 serviceAccount_ = value; 2157 bitField0_ |= 0x00000004; 2158 onChanged(); 2159 return this; 2160 } 2161 2162 private java.lang.Object network_ = ""; 2163 /** 2164 * 2165 * 2166 * <pre> 2167 * Optional. The full name of the Compute Engine 2168 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 2169 * should be peered. For example, `projects/12345/global/networks/myVPC`. 2170 * [Format](/compute/docs/reference/rest/v1/networks/insert) 2171 * is of the form `projects/{project}/global/networks/{network}`. 2172 * Where {project} is a project number, as in `12345`, and {network} is a 2173 * network name. 2174 * To specify this field, you must have already [configured VPC Network 2175 * Peering for Vertex 2176 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 2177 * If this field is left unspecified, the job is not peered with any network. 2178 * </pre> 2179 * 2180 * <code> 2181 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2182 * </code> 2183 * 2184 * @return The network. 2185 */ getNetwork()2186 public java.lang.String getNetwork() { 2187 java.lang.Object ref = network_; 2188 if (!(ref instanceof java.lang.String)) { 2189 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2190 java.lang.String s = bs.toStringUtf8(); 2191 network_ = s; 2192 return s; 2193 } else { 2194 return (java.lang.String) ref; 2195 } 2196 } 2197 /** 2198 * 2199 * 2200 * <pre> 2201 * Optional. The full name of the Compute Engine 2202 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 2203 * should be peered. For example, `projects/12345/global/networks/myVPC`. 2204 * [Format](/compute/docs/reference/rest/v1/networks/insert) 2205 * is of the form `projects/{project}/global/networks/{network}`. 2206 * Where {project} is a project number, as in `12345`, and {network} is a 2207 * network name. 2208 * To specify this field, you must have already [configured VPC Network 2209 * Peering for Vertex 2210 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 2211 * If this field is left unspecified, the job is not peered with any network. 2212 * </pre> 2213 * 2214 * <code> 2215 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2216 * </code> 2217 * 2218 * @return The bytes for network. 2219 */ getNetworkBytes()2220 public com.google.protobuf.ByteString getNetworkBytes() { 2221 java.lang.Object ref = network_; 2222 if (ref instanceof String) { 2223 com.google.protobuf.ByteString b = 2224 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2225 network_ = b; 2226 return b; 2227 } else { 2228 return (com.google.protobuf.ByteString) ref; 2229 } 2230 } 2231 /** 2232 * 2233 * 2234 * <pre> 2235 * Optional. The full name of the Compute Engine 2236 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 2237 * should be peered. For example, `projects/12345/global/networks/myVPC`. 2238 * [Format](/compute/docs/reference/rest/v1/networks/insert) 2239 * is of the form `projects/{project}/global/networks/{network}`. 2240 * Where {project} is a project number, as in `12345`, and {network} is a 2241 * network name. 2242 * To specify this field, you must have already [configured VPC Network 2243 * Peering for Vertex 2244 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 2245 * If this field is left unspecified, the job is not peered with any network. 2246 * </pre> 2247 * 2248 * <code> 2249 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2250 * </code> 2251 * 2252 * @param value The network to set. 2253 * @return This builder for chaining. 2254 */ setNetwork(java.lang.String value)2255 public Builder setNetwork(java.lang.String value) { 2256 if (value == null) { 2257 throw new NullPointerException(); 2258 } 2259 network_ = value; 2260 bitField0_ |= 0x00000008; 2261 onChanged(); 2262 return this; 2263 } 2264 /** 2265 * 2266 * 2267 * <pre> 2268 * Optional. The full name of the Compute Engine 2269 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 2270 * should be peered. For example, `projects/12345/global/networks/myVPC`. 2271 * [Format](/compute/docs/reference/rest/v1/networks/insert) 2272 * is of the form `projects/{project}/global/networks/{network}`. 2273 * Where {project} is a project number, as in `12345`, and {network} is a 2274 * network name. 2275 * To specify this field, you must have already [configured VPC Network 2276 * Peering for Vertex 2277 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 2278 * If this field is left unspecified, the job is not peered with any network. 2279 * </pre> 2280 * 2281 * <code> 2282 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2283 * </code> 2284 * 2285 * @return This builder for chaining. 2286 */ clearNetwork()2287 public Builder clearNetwork() { 2288 network_ = getDefaultInstance().getNetwork(); 2289 bitField0_ = (bitField0_ & ~0x00000008); 2290 onChanged(); 2291 return this; 2292 } 2293 /** 2294 * 2295 * 2296 * <pre> 2297 * Optional. The full name of the Compute Engine 2298 * [network](/compute/docs/networks-and-firewalls#networks) to which the Job 2299 * should be peered. For example, `projects/12345/global/networks/myVPC`. 2300 * [Format](/compute/docs/reference/rest/v1/networks/insert) 2301 * is of the form `projects/{project}/global/networks/{network}`. 2302 * Where {project} is a project number, as in `12345`, and {network} is a 2303 * network name. 2304 * To specify this field, you must have already [configured VPC Network 2305 * Peering for Vertex 2306 * AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 2307 * If this field is left unspecified, the job is not peered with any network. 2308 * </pre> 2309 * 2310 * <code> 2311 * string network = 5 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2312 * </code> 2313 * 2314 * @param value The bytes for network to set. 2315 * @return This builder for chaining. 2316 */ setNetworkBytes(com.google.protobuf.ByteString value)2317 public Builder setNetworkBytes(com.google.protobuf.ByteString value) { 2318 if (value == null) { 2319 throw new NullPointerException(); 2320 } 2321 checkByteStringIsUtf8(value); 2322 network_ = value; 2323 bitField0_ |= 0x00000008; 2324 onChanged(); 2325 return this; 2326 } 2327 2328 private com.google.protobuf.LazyStringList reservedIpRanges_ = 2329 com.google.protobuf.LazyStringArrayList.EMPTY; 2330 ensureReservedIpRangesIsMutable()2331 private void ensureReservedIpRangesIsMutable() { 2332 if (!((bitField0_ & 0x00000010) != 0)) { 2333 reservedIpRanges_ = new com.google.protobuf.LazyStringArrayList(reservedIpRanges_); 2334 bitField0_ |= 0x00000010; 2335 } 2336 } 2337 /** 2338 * 2339 * 2340 * <pre> 2341 * Optional. A list of names for the reserved ip ranges under the VPC network 2342 * that can be used for this job. 2343 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2344 * the job will be deployed to any ip ranges under the provided VPC 2345 * network. 2346 * Example: ['vertex-ai-ip-range']. 2347 * </pre> 2348 * 2349 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2350 * </code> 2351 * 2352 * @return A list containing the reservedIpRanges. 2353 */ getReservedIpRangesList()2354 public com.google.protobuf.ProtocolStringList getReservedIpRangesList() { 2355 return reservedIpRanges_.getUnmodifiableView(); 2356 } 2357 /** 2358 * 2359 * 2360 * <pre> 2361 * Optional. A list of names for the reserved ip ranges under the VPC network 2362 * that can be used for this job. 2363 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2364 * the job will be deployed to any ip ranges under the provided VPC 2365 * network. 2366 * Example: ['vertex-ai-ip-range']. 2367 * </pre> 2368 * 2369 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2370 * </code> 2371 * 2372 * @return The count of reservedIpRanges. 2373 */ getReservedIpRangesCount()2374 public int getReservedIpRangesCount() { 2375 return reservedIpRanges_.size(); 2376 } 2377 /** 2378 * 2379 * 2380 * <pre> 2381 * Optional. A list of names for the reserved ip ranges under the VPC network 2382 * that can be used for this job. 2383 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2384 * the job will be deployed to any ip ranges under the provided VPC 2385 * network. 2386 * Example: ['vertex-ai-ip-range']. 2387 * </pre> 2388 * 2389 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2390 * </code> 2391 * 2392 * @param index The index of the element to return. 2393 * @return The reservedIpRanges at the given index. 2394 */ getReservedIpRanges(int index)2395 public java.lang.String getReservedIpRanges(int index) { 2396 return reservedIpRanges_.get(index); 2397 } 2398 /** 2399 * 2400 * 2401 * <pre> 2402 * Optional. A list of names for the reserved ip ranges under the VPC network 2403 * that can be used for this job. 2404 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2405 * the job will be deployed to any ip ranges under the provided VPC 2406 * network. 2407 * Example: ['vertex-ai-ip-range']. 2408 * </pre> 2409 * 2410 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2411 * </code> 2412 * 2413 * @param index The index of the value to return. 2414 * @return The bytes of the reservedIpRanges at the given index. 2415 */ getReservedIpRangesBytes(int index)2416 public com.google.protobuf.ByteString getReservedIpRangesBytes(int index) { 2417 return reservedIpRanges_.getByteString(index); 2418 } 2419 /** 2420 * 2421 * 2422 * <pre> 2423 * Optional. A list of names for the reserved ip ranges under the VPC network 2424 * that can be used for this job. 2425 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2426 * the job will be deployed to any ip ranges under the provided VPC 2427 * network. 2428 * Example: ['vertex-ai-ip-range']. 2429 * </pre> 2430 * 2431 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2432 * </code> 2433 * 2434 * @param index The index to set the value at. 2435 * @param value The reservedIpRanges to set. 2436 * @return This builder for chaining. 2437 */ setReservedIpRanges(int index, java.lang.String value)2438 public Builder setReservedIpRanges(int index, java.lang.String value) { 2439 if (value == null) { 2440 throw new NullPointerException(); 2441 } 2442 ensureReservedIpRangesIsMutable(); 2443 reservedIpRanges_.set(index, value); 2444 onChanged(); 2445 return this; 2446 } 2447 /** 2448 * 2449 * 2450 * <pre> 2451 * Optional. A list of names for the reserved ip ranges under the VPC network 2452 * that can be used for this job. 2453 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2454 * the job will be deployed to any ip ranges under the provided VPC 2455 * network. 2456 * Example: ['vertex-ai-ip-range']. 2457 * </pre> 2458 * 2459 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2460 * </code> 2461 * 2462 * @param value The reservedIpRanges to add. 2463 * @return This builder for chaining. 2464 */ addReservedIpRanges(java.lang.String value)2465 public Builder addReservedIpRanges(java.lang.String value) { 2466 if (value == null) { 2467 throw new NullPointerException(); 2468 } 2469 ensureReservedIpRangesIsMutable(); 2470 reservedIpRanges_.add(value); 2471 onChanged(); 2472 return this; 2473 } 2474 /** 2475 * 2476 * 2477 * <pre> 2478 * Optional. A list of names for the reserved ip ranges under the VPC network 2479 * that can be used for this job. 2480 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2481 * the job will be deployed to any ip ranges under the provided VPC 2482 * network. 2483 * Example: ['vertex-ai-ip-range']. 2484 * </pre> 2485 * 2486 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2487 * </code> 2488 * 2489 * @param values The reservedIpRanges to add. 2490 * @return This builder for chaining. 2491 */ addAllReservedIpRanges(java.lang.Iterable<java.lang.String> values)2492 public Builder addAllReservedIpRanges(java.lang.Iterable<java.lang.String> values) { 2493 ensureReservedIpRangesIsMutable(); 2494 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, reservedIpRanges_); 2495 onChanged(); 2496 return this; 2497 } 2498 /** 2499 * 2500 * 2501 * <pre> 2502 * Optional. A list of names for the reserved ip ranges under the VPC network 2503 * that can be used for this job. 2504 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2505 * the job will be deployed to any ip ranges under the provided VPC 2506 * network. 2507 * Example: ['vertex-ai-ip-range']. 2508 * </pre> 2509 * 2510 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2511 * </code> 2512 * 2513 * @return This builder for chaining. 2514 */ clearReservedIpRanges()2515 public Builder clearReservedIpRanges() { 2516 reservedIpRanges_ = com.google.protobuf.LazyStringArrayList.EMPTY; 2517 bitField0_ = (bitField0_ & ~0x00000010); 2518 onChanged(); 2519 return this; 2520 } 2521 /** 2522 * 2523 * 2524 * <pre> 2525 * Optional. A list of names for the reserved ip ranges under the VPC network 2526 * that can be used for this job. 2527 * If set, we will deploy the job within the provided ip ranges. Otherwise, 2528 * the job will be deployed to any ip ranges under the provided VPC 2529 * network. 2530 * Example: ['vertex-ai-ip-range']. 2531 * </pre> 2532 * 2533 * <code>repeated string reserved_ip_ranges = 13 [(.google.api.field_behavior) = OPTIONAL]; 2534 * </code> 2535 * 2536 * @param value The bytes of the reservedIpRanges to add. 2537 * @return This builder for chaining. 2538 */ addReservedIpRangesBytes(com.google.protobuf.ByteString value)2539 public Builder addReservedIpRangesBytes(com.google.protobuf.ByteString value) { 2540 if (value == null) { 2541 throw new NullPointerException(); 2542 } 2543 checkByteStringIsUtf8(value); 2544 ensureReservedIpRangesIsMutable(); 2545 reservedIpRanges_.add(value); 2546 onChanged(); 2547 return this; 2548 } 2549 2550 private com.google.cloud.aiplatform.v1.GcsDestination baseOutputDirectory_; 2551 private com.google.protobuf.SingleFieldBuilderV3< 2552 com.google.cloud.aiplatform.v1.GcsDestination, 2553 com.google.cloud.aiplatform.v1.GcsDestination.Builder, 2554 com.google.cloud.aiplatform.v1.GcsDestinationOrBuilder> 2555 baseOutputDirectoryBuilder_; 2556 /** 2557 * 2558 * 2559 * <pre> 2560 * The Cloud Storage location to store the output of this CustomJob or 2561 * HyperparameterTuningJob. For HyperparameterTuningJob, 2562 * the baseOutputDirectory of 2563 * each child CustomJob backing a Trial is set to a subdirectory of name 2564 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2565 * HyperparameterTuningJob's baseOutputDirectory. 2566 * The following Vertex AI environment variables will be passed to 2567 * containers or python modules when this field is set: 2568 * For CustomJob: 2569 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2570 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2571 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2572 * For CustomJob backing a Trial of HyperparameterTuningJob: 2573 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2574 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2575 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2576 * </pre> 2577 * 2578 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2579 * 2580 * @return Whether the baseOutputDirectory field is set. 2581 */ hasBaseOutputDirectory()2582 public boolean hasBaseOutputDirectory() { 2583 return ((bitField0_ & 0x00000020) != 0); 2584 } 2585 /** 2586 * 2587 * 2588 * <pre> 2589 * The Cloud Storage location to store the output of this CustomJob or 2590 * HyperparameterTuningJob. For HyperparameterTuningJob, 2591 * the baseOutputDirectory of 2592 * each child CustomJob backing a Trial is set to a subdirectory of name 2593 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2594 * HyperparameterTuningJob's baseOutputDirectory. 2595 * The following Vertex AI environment variables will be passed to 2596 * containers or python modules when this field is set: 2597 * For CustomJob: 2598 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2599 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2600 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2601 * For CustomJob backing a Trial of HyperparameterTuningJob: 2602 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2603 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2604 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2605 * </pre> 2606 * 2607 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2608 * 2609 * @return The baseOutputDirectory. 2610 */ getBaseOutputDirectory()2611 public com.google.cloud.aiplatform.v1.GcsDestination getBaseOutputDirectory() { 2612 if (baseOutputDirectoryBuilder_ == null) { 2613 return baseOutputDirectory_ == null 2614 ? com.google.cloud.aiplatform.v1.GcsDestination.getDefaultInstance() 2615 : baseOutputDirectory_; 2616 } else { 2617 return baseOutputDirectoryBuilder_.getMessage(); 2618 } 2619 } 2620 /** 2621 * 2622 * 2623 * <pre> 2624 * The Cloud Storage location to store the output of this CustomJob or 2625 * HyperparameterTuningJob. For HyperparameterTuningJob, 2626 * the baseOutputDirectory of 2627 * each child CustomJob backing a Trial is set to a subdirectory of name 2628 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2629 * HyperparameterTuningJob's baseOutputDirectory. 2630 * The following Vertex AI environment variables will be passed to 2631 * containers or python modules when this field is set: 2632 * For CustomJob: 2633 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2634 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2635 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2636 * For CustomJob backing a Trial of HyperparameterTuningJob: 2637 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2638 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2639 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2640 * </pre> 2641 * 2642 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2643 */ setBaseOutputDirectory(com.google.cloud.aiplatform.v1.GcsDestination value)2644 public Builder setBaseOutputDirectory(com.google.cloud.aiplatform.v1.GcsDestination value) { 2645 if (baseOutputDirectoryBuilder_ == null) { 2646 if (value == null) { 2647 throw new NullPointerException(); 2648 } 2649 baseOutputDirectory_ = value; 2650 } else { 2651 baseOutputDirectoryBuilder_.setMessage(value); 2652 } 2653 bitField0_ |= 0x00000020; 2654 onChanged(); 2655 return this; 2656 } 2657 /** 2658 * 2659 * 2660 * <pre> 2661 * The Cloud Storage location to store the output of this CustomJob or 2662 * HyperparameterTuningJob. For HyperparameterTuningJob, 2663 * the baseOutputDirectory of 2664 * each child CustomJob backing a Trial is set to a subdirectory of name 2665 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2666 * HyperparameterTuningJob's baseOutputDirectory. 2667 * The following Vertex AI environment variables will be passed to 2668 * containers or python modules when this field is set: 2669 * For CustomJob: 2670 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2671 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2672 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2673 * For CustomJob backing a Trial of HyperparameterTuningJob: 2674 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2675 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2676 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2677 * </pre> 2678 * 2679 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2680 */ setBaseOutputDirectory( com.google.cloud.aiplatform.v1.GcsDestination.Builder builderForValue)2681 public Builder setBaseOutputDirectory( 2682 com.google.cloud.aiplatform.v1.GcsDestination.Builder builderForValue) { 2683 if (baseOutputDirectoryBuilder_ == null) { 2684 baseOutputDirectory_ = builderForValue.build(); 2685 } else { 2686 baseOutputDirectoryBuilder_.setMessage(builderForValue.build()); 2687 } 2688 bitField0_ |= 0x00000020; 2689 onChanged(); 2690 return this; 2691 } 2692 /** 2693 * 2694 * 2695 * <pre> 2696 * The Cloud Storage location to store the output of this CustomJob or 2697 * HyperparameterTuningJob. For HyperparameterTuningJob, 2698 * the baseOutputDirectory of 2699 * each child CustomJob backing a Trial is set to a subdirectory of name 2700 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2701 * HyperparameterTuningJob's baseOutputDirectory. 2702 * The following Vertex AI environment variables will be passed to 2703 * containers or python modules when this field is set: 2704 * For CustomJob: 2705 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2706 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2707 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2708 * For CustomJob backing a Trial of HyperparameterTuningJob: 2709 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2710 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2711 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2712 * </pre> 2713 * 2714 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2715 */ mergeBaseOutputDirectory(com.google.cloud.aiplatform.v1.GcsDestination value)2716 public Builder mergeBaseOutputDirectory(com.google.cloud.aiplatform.v1.GcsDestination value) { 2717 if (baseOutputDirectoryBuilder_ == null) { 2718 if (((bitField0_ & 0x00000020) != 0) 2719 && baseOutputDirectory_ != null 2720 && baseOutputDirectory_ 2721 != com.google.cloud.aiplatform.v1.GcsDestination.getDefaultInstance()) { 2722 getBaseOutputDirectoryBuilder().mergeFrom(value); 2723 } else { 2724 baseOutputDirectory_ = value; 2725 } 2726 } else { 2727 baseOutputDirectoryBuilder_.mergeFrom(value); 2728 } 2729 bitField0_ |= 0x00000020; 2730 onChanged(); 2731 return this; 2732 } 2733 /** 2734 * 2735 * 2736 * <pre> 2737 * The Cloud Storage location to store the output of this CustomJob or 2738 * HyperparameterTuningJob. For HyperparameterTuningJob, 2739 * the baseOutputDirectory of 2740 * each child CustomJob backing a Trial is set to a subdirectory of name 2741 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2742 * HyperparameterTuningJob's baseOutputDirectory. 2743 * The following Vertex AI environment variables will be passed to 2744 * containers or python modules when this field is set: 2745 * For CustomJob: 2746 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2747 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2748 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2749 * For CustomJob backing a Trial of HyperparameterTuningJob: 2750 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2751 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2752 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2753 * </pre> 2754 * 2755 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2756 */ clearBaseOutputDirectory()2757 public Builder clearBaseOutputDirectory() { 2758 bitField0_ = (bitField0_ & ~0x00000020); 2759 baseOutputDirectory_ = null; 2760 if (baseOutputDirectoryBuilder_ != null) { 2761 baseOutputDirectoryBuilder_.dispose(); 2762 baseOutputDirectoryBuilder_ = null; 2763 } 2764 onChanged(); 2765 return this; 2766 } 2767 /** 2768 * 2769 * 2770 * <pre> 2771 * The Cloud Storage location to store the output of this CustomJob or 2772 * HyperparameterTuningJob. For HyperparameterTuningJob, 2773 * the baseOutputDirectory of 2774 * each child CustomJob backing a Trial is set to a subdirectory of name 2775 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2776 * HyperparameterTuningJob's baseOutputDirectory. 2777 * The following Vertex AI environment variables will be passed to 2778 * containers or python modules when this field is set: 2779 * For CustomJob: 2780 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2781 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2782 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2783 * For CustomJob backing a Trial of HyperparameterTuningJob: 2784 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2785 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2786 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2787 * </pre> 2788 * 2789 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2790 */ getBaseOutputDirectoryBuilder()2791 public com.google.cloud.aiplatform.v1.GcsDestination.Builder getBaseOutputDirectoryBuilder() { 2792 bitField0_ |= 0x00000020; 2793 onChanged(); 2794 return getBaseOutputDirectoryFieldBuilder().getBuilder(); 2795 } 2796 /** 2797 * 2798 * 2799 * <pre> 2800 * The Cloud Storage location to store the output of this CustomJob or 2801 * HyperparameterTuningJob. For HyperparameterTuningJob, 2802 * the baseOutputDirectory of 2803 * each child CustomJob backing a Trial is set to a subdirectory of name 2804 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2805 * HyperparameterTuningJob's baseOutputDirectory. 2806 * The following Vertex AI environment variables will be passed to 2807 * containers or python modules when this field is set: 2808 * For CustomJob: 2809 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2810 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2811 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2812 * For CustomJob backing a Trial of HyperparameterTuningJob: 2813 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2814 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2815 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2816 * </pre> 2817 * 2818 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2819 */ 2820 public com.google.cloud.aiplatform.v1.GcsDestinationOrBuilder getBaseOutputDirectoryOrBuilder()2821 getBaseOutputDirectoryOrBuilder() { 2822 if (baseOutputDirectoryBuilder_ != null) { 2823 return baseOutputDirectoryBuilder_.getMessageOrBuilder(); 2824 } else { 2825 return baseOutputDirectory_ == null 2826 ? com.google.cloud.aiplatform.v1.GcsDestination.getDefaultInstance() 2827 : baseOutputDirectory_; 2828 } 2829 } 2830 /** 2831 * 2832 * 2833 * <pre> 2834 * The Cloud Storage location to store the output of this CustomJob or 2835 * HyperparameterTuningJob. For HyperparameterTuningJob, 2836 * the baseOutputDirectory of 2837 * each child CustomJob backing a Trial is set to a subdirectory of name 2838 * [id][google.cloud.aiplatform.v1.Trial.id] under its parent 2839 * HyperparameterTuningJob's baseOutputDirectory. 2840 * The following Vertex AI environment variables will be passed to 2841 * containers or python modules when this field is set: 2842 * For CustomJob: 2843 * * AIP_MODEL_DIR = `<base_output_directory>/model/` 2844 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/checkpoints/` 2845 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/logs/` 2846 * For CustomJob backing a Trial of HyperparameterTuningJob: 2847 * * AIP_MODEL_DIR = `<base_output_directory>/<trial_id>/model/` 2848 * * AIP_CHECKPOINT_DIR = `<base_output_directory>/<trial_id>/checkpoints/` 2849 * * AIP_TENSORBOARD_LOG_DIR = `<base_output_directory>/<trial_id>/logs/` 2850 * </pre> 2851 * 2852 * <code>.google.cloud.aiplatform.v1.GcsDestination base_output_directory = 6;</code> 2853 */ 2854 private com.google.protobuf.SingleFieldBuilderV3< 2855 com.google.cloud.aiplatform.v1.GcsDestination, 2856 com.google.cloud.aiplatform.v1.GcsDestination.Builder, 2857 com.google.cloud.aiplatform.v1.GcsDestinationOrBuilder> getBaseOutputDirectoryFieldBuilder()2858 getBaseOutputDirectoryFieldBuilder() { 2859 if (baseOutputDirectoryBuilder_ == null) { 2860 baseOutputDirectoryBuilder_ = 2861 new com.google.protobuf.SingleFieldBuilderV3< 2862 com.google.cloud.aiplatform.v1.GcsDestination, 2863 com.google.cloud.aiplatform.v1.GcsDestination.Builder, 2864 com.google.cloud.aiplatform.v1.GcsDestinationOrBuilder>( 2865 getBaseOutputDirectory(), getParentForChildren(), isClean()); 2866 baseOutputDirectory_ = null; 2867 } 2868 return baseOutputDirectoryBuilder_; 2869 } 2870 2871 private java.lang.Object tensorboard_ = ""; 2872 /** 2873 * 2874 * 2875 * <pre> 2876 * Optional. The name of a Vertex AI 2877 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 2878 * this CustomJob will upload Tensorboard logs. Format: 2879 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 2880 * </pre> 2881 * 2882 * <code> 2883 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2884 * </code> 2885 * 2886 * @return The tensorboard. 2887 */ getTensorboard()2888 public java.lang.String getTensorboard() { 2889 java.lang.Object ref = tensorboard_; 2890 if (!(ref instanceof java.lang.String)) { 2891 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2892 java.lang.String s = bs.toStringUtf8(); 2893 tensorboard_ = s; 2894 return s; 2895 } else { 2896 return (java.lang.String) ref; 2897 } 2898 } 2899 /** 2900 * 2901 * 2902 * <pre> 2903 * Optional. The name of a Vertex AI 2904 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 2905 * this CustomJob will upload Tensorboard logs. Format: 2906 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 2907 * </pre> 2908 * 2909 * <code> 2910 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2911 * </code> 2912 * 2913 * @return The bytes for tensorboard. 2914 */ getTensorboardBytes()2915 public com.google.protobuf.ByteString getTensorboardBytes() { 2916 java.lang.Object ref = tensorboard_; 2917 if (ref instanceof String) { 2918 com.google.protobuf.ByteString b = 2919 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2920 tensorboard_ = b; 2921 return b; 2922 } else { 2923 return (com.google.protobuf.ByteString) ref; 2924 } 2925 } 2926 /** 2927 * 2928 * 2929 * <pre> 2930 * Optional. The name of a Vertex AI 2931 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 2932 * this CustomJob will upload Tensorboard logs. Format: 2933 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 2934 * </pre> 2935 * 2936 * <code> 2937 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2938 * </code> 2939 * 2940 * @param value The tensorboard to set. 2941 * @return This builder for chaining. 2942 */ setTensorboard(java.lang.String value)2943 public Builder setTensorboard(java.lang.String value) { 2944 if (value == null) { 2945 throw new NullPointerException(); 2946 } 2947 tensorboard_ = value; 2948 bitField0_ |= 0x00000040; 2949 onChanged(); 2950 return this; 2951 } 2952 /** 2953 * 2954 * 2955 * <pre> 2956 * Optional. The name of a Vertex AI 2957 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 2958 * this CustomJob will upload Tensorboard logs. Format: 2959 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 2960 * </pre> 2961 * 2962 * <code> 2963 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2964 * </code> 2965 * 2966 * @return This builder for chaining. 2967 */ clearTensorboard()2968 public Builder clearTensorboard() { 2969 tensorboard_ = getDefaultInstance().getTensorboard(); 2970 bitField0_ = (bitField0_ & ~0x00000040); 2971 onChanged(); 2972 return this; 2973 } 2974 /** 2975 * 2976 * 2977 * <pre> 2978 * Optional. The name of a Vertex AI 2979 * [Tensorboard][google.cloud.aiplatform.v1.Tensorboard] resource to which 2980 * this CustomJob will upload Tensorboard logs. Format: 2981 * `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 2982 * </pre> 2983 * 2984 * <code> 2985 * string tensorboard = 7 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 2986 * </code> 2987 * 2988 * @param value The bytes for tensorboard to set. 2989 * @return This builder for chaining. 2990 */ setTensorboardBytes(com.google.protobuf.ByteString value)2991 public Builder setTensorboardBytes(com.google.protobuf.ByteString value) { 2992 if (value == null) { 2993 throw new NullPointerException(); 2994 } 2995 checkByteStringIsUtf8(value); 2996 tensorboard_ = value; 2997 bitField0_ |= 0x00000040; 2998 onChanged(); 2999 return this; 3000 } 3001 3002 private boolean enableWebAccess_; 3003 /** 3004 * 3005 * 3006 * <pre> 3007 * Optional. Whether you want Vertex AI to enable [interactive shell 3008 * access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) 3009 * to training containers. 3010 * If set to `true`, you can access interactive shells at the URIs given 3011 * by 3012 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 3013 * or 3014 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 3015 * (within 3016 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 3017 * </pre> 3018 * 3019 * <code>bool enable_web_access = 10 [(.google.api.field_behavior) = OPTIONAL];</code> 3020 * 3021 * @return The enableWebAccess. 3022 */ 3023 @java.lang.Override getEnableWebAccess()3024 public boolean getEnableWebAccess() { 3025 return enableWebAccess_; 3026 } 3027 /** 3028 * 3029 * 3030 * <pre> 3031 * Optional. Whether you want Vertex AI to enable [interactive shell 3032 * access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) 3033 * to training containers. 3034 * If set to `true`, you can access interactive shells at the URIs given 3035 * by 3036 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 3037 * or 3038 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 3039 * (within 3040 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 3041 * </pre> 3042 * 3043 * <code>bool enable_web_access = 10 [(.google.api.field_behavior) = OPTIONAL];</code> 3044 * 3045 * @param value The enableWebAccess to set. 3046 * @return This builder for chaining. 3047 */ setEnableWebAccess(boolean value)3048 public Builder setEnableWebAccess(boolean value) { 3049 3050 enableWebAccess_ = value; 3051 bitField0_ |= 0x00000080; 3052 onChanged(); 3053 return this; 3054 } 3055 /** 3056 * 3057 * 3058 * <pre> 3059 * Optional. Whether you want Vertex AI to enable [interactive shell 3060 * access](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) 3061 * to training containers. 3062 * If set to `true`, you can access interactive shells at the URIs given 3063 * by 3064 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 3065 * or 3066 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 3067 * (within 3068 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 3069 * </pre> 3070 * 3071 * <code>bool enable_web_access = 10 [(.google.api.field_behavior) = OPTIONAL];</code> 3072 * 3073 * @return This builder for chaining. 3074 */ clearEnableWebAccess()3075 public Builder clearEnableWebAccess() { 3076 bitField0_ = (bitField0_ & ~0x00000080); 3077 enableWebAccess_ = false; 3078 onChanged(); 3079 return this; 3080 } 3081 3082 private boolean enableDashboardAccess_; 3083 /** 3084 * 3085 * 3086 * <pre> 3087 * Optional. Whether you want Vertex AI to enable access to the customized 3088 * dashboard in training chief container. 3089 * If set to `true`, you can access the dashboard at the URIs given 3090 * by 3091 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 3092 * or 3093 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 3094 * (within 3095 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 3096 * </pre> 3097 * 3098 * <code>bool enable_dashboard_access = 16 [(.google.api.field_behavior) = OPTIONAL];</code> 3099 * 3100 * @return The enableDashboardAccess. 3101 */ 3102 @java.lang.Override getEnableDashboardAccess()3103 public boolean getEnableDashboardAccess() { 3104 return enableDashboardAccess_; 3105 } 3106 /** 3107 * 3108 * 3109 * <pre> 3110 * Optional. Whether you want Vertex AI to enable access to the customized 3111 * dashboard in training chief container. 3112 * If set to `true`, you can access the dashboard at the URIs given 3113 * by 3114 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 3115 * or 3116 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 3117 * (within 3118 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 3119 * </pre> 3120 * 3121 * <code>bool enable_dashboard_access = 16 [(.google.api.field_behavior) = OPTIONAL];</code> 3122 * 3123 * @param value The enableDashboardAccess to set. 3124 * @return This builder for chaining. 3125 */ setEnableDashboardAccess(boolean value)3126 public Builder setEnableDashboardAccess(boolean value) { 3127 3128 enableDashboardAccess_ = value; 3129 bitField0_ |= 0x00000100; 3130 onChanged(); 3131 return this; 3132 } 3133 /** 3134 * 3135 * 3136 * <pre> 3137 * Optional. Whether you want Vertex AI to enable access to the customized 3138 * dashboard in training chief container. 3139 * If set to `true`, you can access the dashboard at the URIs given 3140 * by 3141 * [CustomJob.web_access_uris][google.cloud.aiplatform.v1.CustomJob.web_access_uris] 3142 * or 3143 * [Trial.web_access_uris][google.cloud.aiplatform.v1.Trial.web_access_uris] 3144 * (within 3145 * [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials]). 3146 * </pre> 3147 * 3148 * <code>bool enable_dashboard_access = 16 [(.google.api.field_behavior) = OPTIONAL];</code> 3149 * 3150 * @return This builder for chaining. 3151 */ clearEnableDashboardAccess()3152 public Builder clearEnableDashboardAccess() { 3153 bitField0_ = (bitField0_ & ~0x00000100); 3154 enableDashboardAccess_ = false; 3155 onChanged(); 3156 return this; 3157 } 3158 3159 private java.lang.Object experiment_ = ""; 3160 /** 3161 * 3162 * 3163 * <pre> 3164 * Optional. The Experiment associated with this job. 3165 * Format: 3166 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 3167 * </pre> 3168 * 3169 * <code> 3170 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3171 * </code> 3172 * 3173 * @return The experiment. 3174 */ getExperiment()3175 public java.lang.String getExperiment() { 3176 java.lang.Object ref = experiment_; 3177 if (!(ref instanceof java.lang.String)) { 3178 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 3179 java.lang.String s = bs.toStringUtf8(); 3180 experiment_ = s; 3181 return s; 3182 } else { 3183 return (java.lang.String) ref; 3184 } 3185 } 3186 /** 3187 * 3188 * 3189 * <pre> 3190 * Optional. The Experiment associated with this job. 3191 * Format: 3192 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 3193 * </pre> 3194 * 3195 * <code> 3196 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3197 * </code> 3198 * 3199 * @return The bytes for experiment. 3200 */ getExperimentBytes()3201 public com.google.protobuf.ByteString getExperimentBytes() { 3202 java.lang.Object ref = experiment_; 3203 if (ref instanceof String) { 3204 com.google.protobuf.ByteString b = 3205 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 3206 experiment_ = b; 3207 return b; 3208 } else { 3209 return (com.google.protobuf.ByteString) ref; 3210 } 3211 } 3212 /** 3213 * 3214 * 3215 * <pre> 3216 * Optional. The Experiment associated with this job. 3217 * Format: 3218 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 3219 * </pre> 3220 * 3221 * <code> 3222 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3223 * </code> 3224 * 3225 * @param value The experiment to set. 3226 * @return This builder for chaining. 3227 */ setExperiment(java.lang.String value)3228 public Builder setExperiment(java.lang.String value) { 3229 if (value == null) { 3230 throw new NullPointerException(); 3231 } 3232 experiment_ = value; 3233 bitField0_ |= 0x00000200; 3234 onChanged(); 3235 return this; 3236 } 3237 /** 3238 * 3239 * 3240 * <pre> 3241 * Optional. The Experiment associated with this job. 3242 * Format: 3243 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 3244 * </pre> 3245 * 3246 * <code> 3247 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3248 * </code> 3249 * 3250 * @return This builder for chaining. 3251 */ clearExperiment()3252 public Builder clearExperiment() { 3253 experiment_ = getDefaultInstance().getExperiment(); 3254 bitField0_ = (bitField0_ & ~0x00000200); 3255 onChanged(); 3256 return this; 3257 } 3258 /** 3259 * 3260 * 3261 * <pre> 3262 * Optional. The Experiment associated with this job. 3263 * Format: 3264 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}` 3265 * </pre> 3266 * 3267 * <code> 3268 * string experiment = 17 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3269 * </code> 3270 * 3271 * @param value The bytes for experiment to set. 3272 * @return This builder for chaining. 3273 */ setExperimentBytes(com.google.protobuf.ByteString value)3274 public Builder setExperimentBytes(com.google.protobuf.ByteString value) { 3275 if (value == null) { 3276 throw new NullPointerException(); 3277 } 3278 checkByteStringIsUtf8(value); 3279 experiment_ = value; 3280 bitField0_ |= 0x00000200; 3281 onChanged(); 3282 return this; 3283 } 3284 3285 private java.lang.Object experimentRun_ = ""; 3286 /** 3287 * 3288 * 3289 * <pre> 3290 * Optional. The Experiment Run associated with this job. 3291 * Format: 3292 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 3293 * </pre> 3294 * 3295 * <code> 3296 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3297 * </code> 3298 * 3299 * @return The experimentRun. 3300 */ getExperimentRun()3301 public java.lang.String getExperimentRun() { 3302 java.lang.Object ref = experimentRun_; 3303 if (!(ref instanceof java.lang.String)) { 3304 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 3305 java.lang.String s = bs.toStringUtf8(); 3306 experimentRun_ = s; 3307 return s; 3308 } else { 3309 return (java.lang.String) ref; 3310 } 3311 } 3312 /** 3313 * 3314 * 3315 * <pre> 3316 * Optional. The Experiment Run associated with this job. 3317 * Format: 3318 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 3319 * </pre> 3320 * 3321 * <code> 3322 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3323 * </code> 3324 * 3325 * @return The bytes for experimentRun. 3326 */ getExperimentRunBytes()3327 public com.google.protobuf.ByteString getExperimentRunBytes() { 3328 java.lang.Object ref = experimentRun_; 3329 if (ref instanceof String) { 3330 com.google.protobuf.ByteString b = 3331 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 3332 experimentRun_ = b; 3333 return b; 3334 } else { 3335 return (com.google.protobuf.ByteString) ref; 3336 } 3337 } 3338 /** 3339 * 3340 * 3341 * <pre> 3342 * Optional. The Experiment Run associated with this job. 3343 * Format: 3344 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 3345 * </pre> 3346 * 3347 * <code> 3348 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3349 * </code> 3350 * 3351 * @param value The experimentRun to set. 3352 * @return This builder for chaining. 3353 */ setExperimentRun(java.lang.String value)3354 public Builder setExperimentRun(java.lang.String value) { 3355 if (value == null) { 3356 throw new NullPointerException(); 3357 } 3358 experimentRun_ = value; 3359 bitField0_ |= 0x00000400; 3360 onChanged(); 3361 return this; 3362 } 3363 /** 3364 * 3365 * 3366 * <pre> 3367 * Optional. The Experiment Run associated with this job. 3368 * Format: 3369 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 3370 * </pre> 3371 * 3372 * <code> 3373 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3374 * </code> 3375 * 3376 * @return This builder for chaining. 3377 */ clearExperimentRun()3378 public Builder clearExperimentRun() { 3379 experimentRun_ = getDefaultInstance().getExperimentRun(); 3380 bitField0_ = (bitField0_ & ~0x00000400); 3381 onChanged(); 3382 return this; 3383 } 3384 /** 3385 * 3386 * 3387 * <pre> 3388 * Optional. The Experiment Run associated with this job. 3389 * Format: 3390 * `projects/{project}/locations/{location}/metadataStores/{metadataStores}/contexts/{experiment-name}-{experiment-run-name}` 3391 * </pre> 3392 * 3393 * <code> 3394 * string experiment_run = 18 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { ... } 3395 * </code> 3396 * 3397 * @param value The bytes for experimentRun to set. 3398 * @return This builder for chaining. 3399 */ setExperimentRunBytes(com.google.protobuf.ByteString value)3400 public Builder setExperimentRunBytes(com.google.protobuf.ByteString value) { 3401 if (value == null) { 3402 throw new NullPointerException(); 3403 } 3404 checkByteStringIsUtf8(value); 3405 experimentRun_ = value; 3406 bitField0_ |= 0x00000400; 3407 onChanged(); 3408 return this; 3409 } 3410 3411 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)3412 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 3413 return super.setUnknownFields(unknownFields); 3414 } 3415 3416 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3417 public final Builder mergeUnknownFields( 3418 final com.google.protobuf.UnknownFieldSet unknownFields) { 3419 return super.mergeUnknownFields(unknownFields); 3420 } 3421 3422 // @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1.CustomJobSpec) 3423 } 3424 3425 // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1.CustomJobSpec) 3426 private static final com.google.cloud.aiplatform.v1.CustomJobSpec DEFAULT_INSTANCE; 3427 3428 static { 3429 DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1.CustomJobSpec(); 3430 } 3431 getDefaultInstance()3432 public static com.google.cloud.aiplatform.v1.CustomJobSpec getDefaultInstance() { 3433 return DEFAULT_INSTANCE; 3434 } 3435 3436 private static final com.google.protobuf.Parser<CustomJobSpec> PARSER = 3437 new com.google.protobuf.AbstractParser<CustomJobSpec>() { 3438 @java.lang.Override 3439 public CustomJobSpec parsePartialFrom( 3440 com.google.protobuf.CodedInputStream input, 3441 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 3442 throws com.google.protobuf.InvalidProtocolBufferException { 3443 Builder builder = newBuilder(); 3444 try { 3445 builder.mergeFrom(input, extensionRegistry); 3446 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 3447 throw e.setUnfinishedMessage(builder.buildPartial()); 3448 } catch (com.google.protobuf.UninitializedMessageException e) { 3449 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 3450 } catch (java.io.IOException e) { 3451 throw new com.google.protobuf.InvalidProtocolBufferException(e) 3452 .setUnfinishedMessage(builder.buildPartial()); 3453 } 3454 return builder.buildPartial(); 3455 } 3456 }; 3457 parser()3458 public static com.google.protobuf.Parser<CustomJobSpec> parser() { 3459 return PARSER; 3460 } 3461 3462 @java.lang.Override getParserForType()3463 public com.google.protobuf.Parser<CustomJobSpec> getParserForType() { 3464 return PARSER; 3465 } 3466 3467 @java.lang.Override getDefaultInstanceForType()3468 public com.google.cloud.aiplatform.v1.CustomJobSpec getDefaultInstanceForType() { 3469 return DEFAULT_INSTANCE; 3470 } 3471 } 3472