/*
 * Copyright 2023 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/notebooks/v1/managed_service.proto

package com.google.cloud.notebooks.v1;

public interface UpdateRuntimeRequestOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.cloud.notebooks.v1.UpdateRuntimeRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Required. The Runtime to be updated.
   * </pre>
   *
   * <code>.google.cloud.notebooks.v1.Runtime runtime = 1 [(.google.api.field_behavior) = REQUIRED];
   * </code>
   *
   * @return Whether the runtime field is set.
   */
  boolean hasRuntime();
  /**
   *
   *
   * <pre>
   * Required. The Runtime to be updated.
   * </pre>
   *
   * <code>.google.cloud.notebooks.v1.Runtime runtime = 1 [(.google.api.field_behavior) = REQUIRED];
   * </code>
   *
   * @return The runtime.
   */
  com.google.cloud.notebooks.v1.Runtime getRuntime();
  /**
   *
   *
   * <pre>
   * Required. The Runtime to be updated.
   * </pre>
   *
   * <code>.google.cloud.notebooks.v1.Runtime runtime = 1 [(.google.api.field_behavior) = REQUIRED];
   * </code>
   */
  com.google.cloud.notebooks.v1.RuntimeOrBuilder getRuntimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Required. Specifies the path, relative to `Runtime`, of
   * the field to update. For example, to change the software configuration
   * kernels, the `update_mask` parameter would be
   * specified as `software_config.kernels`,
   * and the `PATCH` request body would specify the new value, as follows:
   *
   *     {
   *       "software_config":{
   *         "kernels": [{
   *            'repository':
   *            'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag':
   *            'latest' }],
   *         }
   *     }
   *
   *
   * Currently, only the following fields can be updated:
   * - `software_config.kernels`
   * - `software_config.post_startup_script`
   * - `software_config.custom_gpu_driver_path`
   * - `software_config.idle_shutdown`
   * - `software_config.idle_shutdown_timeout`
   * - `software_config.disable_terminal`
   * </pre>
   *
   * <code>.google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
   * </code>
   *
   * @return Whether the updateMask field is set.
   */
  boolean hasUpdateMask();
  /**
   *
   *
   * <pre>
   * Required. Specifies the path, relative to `Runtime`, of
   * the field to update. For example, to change the software configuration
   * kernels, the `update_mask` parameter would be
   * specified as `software_config.kernels`,
   * and the `PATCH` request body would specify the new value, as follows:
   *
   *     {
   *       "software_config":{
   *         "kernels": [{
   *            'repository':
   *            'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag':
   *            'latest' }],
   *         }
   *     }
   *
   *
   * Currently, only the following fields can be updated:
   * - `software_config.kernels`
   * - `software_config.post_startup_script`
   * - `software_config.custom_gpu_driver_path`
   * - `software_config.idle_shutdown`
   * - `software_config.idle_shutdown_timeout`
   * - `software_config.disable_terminal`
   * </pre>
   *
   * <code>.google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
   * </code>
   *
   * @return The updateMask.
   */
  com.google.protobuf.FieldMask getUpdateMask();
  /**
   *
   *
   * <pre>
   * Required. Specifies the path, relative to `Runtime`, of
   * the field to update. For example, to change the software configuration
   * kernels, the `update_mask` parameter would be
   * specified as `software_config.kernels`,
   * and the `PATCH` request body would specify the new value, as follows:
   *
   *     {
   *       "software_config":{
   *         "kernels": [{
   *            'repository':
   *            'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag':
   *            'latest' }],
   *         }
   *     }
   *
   *
   * Currently, only the following fields can be updated:
   * - `software_config.kernels`
   * - `software_config.post_startup_script`
   * - `software_config.custom_gpu_driver_path`
   * - `software_config.idle_shutdown`
   * - `software_config.idle_shutdown_timeout`
   * - `software_config.disable_terminal`
   * </pre>
   *
   * <code>.google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED];
   * </code>
   */
  com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder();

  /**
   *
   *
   * <pre>
   * Idempotent request UUID.
   * </pre>
   *
   * <code>string request_id = 3;</code>
   *
   * @return The requestId.
   */
  java.lang.String getRequestId();
  /**
   *
   *
   * <pre>
   * Idempotent request UUID.
   * </pre>
   *
   * <code>string request_id = 3;</code>
   *
   * @return The bytes for requestId.
   */
  com.google.protobuf.ByteString getRequestIdBytes();
}
