/*
 * Copyright 2020 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/appengine/v1/operation.proto

package com.google.appengine.v1;

public interface OperationMetadataV1OrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.appengine.v1.OperationMetadataV1)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * API method that initiated this operation. Example:
   * `google.appengine.v1.Versions.CreateVersion`.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string method = 1;</code>
   *
   * @return The method.
   */
  java.lang.String getMethod();
  /**
   *
   *
   * <pre>
   * API method that initiated this operation. Example:
   * `google.appengine.v1.Versions.CreateVersion`.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string method = 1;</code>
   *
   * @return The bytes for method.
   */
  com.google.protobuf.ByteString getMethodBytes();

  /**
   *
   *
   * <pre>
   * Time that this operation was created.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp insert_time = 2;</code>
   *
   * @return Whether the insertTime field is set.
   */
  boolean hasInsertTime();
  /**
   *
   *
   * <pre>
   * Time that this operation was created.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp insert_time = 2;</code>
   *
   * @return The insertTime.
   */
  com.google.protobuf.Timestamp getInsertTime();
  /**
   *
   *
   * <pre>
   * Time that this operation was created.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp insert_time = 2;</code>
   */
  com.google.protobuf.TimestampOrBuilder getInsertTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Time that this operation completed.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp end_time = 3;</code>
   *
   * @return Whether the endTime field is set.
   */
  boolean hasEndTime();
  /**
   *
   *
   * <pre>
   * Time that this operation completed.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp end_time = 3;</code>
   *
   * @return The endTime.
   */
  com.google.protobuf.Timestamp getEndTime();
  /**
   *
   *
   * <pre>
   * Time that this operation completed.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>.google.protobuf.Timestamp end_time = 3;</code>
   */
  com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * User who requested this operation.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string user = 4;</code>
   *
   * @return The user.
   */
  java.lang.String getUser();
  /**
   *
   *
   * <pre>
   * User who requested this operation.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string user = 4;</code>
   *
   * @return The bytes for user.
   */
  com.google.protobuf.ByteString getUserBytes();

  /**
   *
   *
   * <pre>
   * Name of the resource that this operation is acting on. Example:
   * `apps/myapp/services/default`.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string target = 5;</code>
   *
   * @return The target.
   */
  java.lang.String getTarget();
  /**
   *
   *
   * <pre>
   * Name of the resource that this operation is acting on. Example:
   * `apps/myapp/services/default`.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string target = 5;</code>
   *
   * @return The bytes for target.
   */
  com.google.protobuf.ByteString getTargetBytes();

  /**
   *
   *
   * <pre>
   * Ephemeral message that may change every time the operation is polled.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string ephemeral_message = 6;</code>
   *
   * @return The ephemeralMessage.
   */
  java.lang.String getEphemeralMessage();
  /**
   *
   *
   * <pre>
   * Ephemeral message that may change every time the operation is polled.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>string ephemeral_message = 6;</code>
   *
   * @return The bytes for ephemeralMessage.
   */
  com.google.protobuf.ByteString getEphemeralMessageBytes();

  /**
   *
   *
   * <pre>
   * Durable messages that persist on every operation poll.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>repeated string warning = 7;</code>
   *
   * @return A list containing the warning.
   */
  java.util.List<java.lang.String> getWarningList();
  /**
   *
   *
   * <pre>
   * Durable messages that persist on every operation poll.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>repeated string warning = 7;</code>
   *
   * @return The count of warning.
   */
  int getWarningCount();
  /**
   *
   *
   * <pre>
   * Durable messages that persist on every operation poll.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>repeated string warning = 7;</code>
   *
   * @param index The index of the element to return.
   * @return The warning at the given index.
   */
  java.lang.String getWarning(int index);
  /**
   *
   *
   * <pre>
   * Durable messages that persist on every operation poll.
   * &#64;OutputOnly
   * </pre>
   *
   * <code>repeated string warning = 7;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the warning at the given index.
   */
  com.google.protobuf.ByteString getWarningBytes(int index);

  /**
   * <code>.google.appengine.v1.CreateVersionMetadataV1 create_version_metadata = 8;</code>
   *
   * @return Whether the createVersionMetadata field is set.
   */
  boolean hasCreateVersionMetadata();
  /**
   * <code>.google.appengine.v1.CreateVersionMetadataV1 create_version_metadata = 8;</code>
   *
   * @return The createVersionMetadata.
   */
  com.google.appengine.v1.CreateVersionMetadataV1 getCreateVersionMetadata();
  /** <code>.google.appengine.v1.CreateVersionMetadataV1 create_version_metadata = 8;</code> */
  com.google.appengine.v1.CreateVersionMetadataV1OrBuilder getCreateVersionMetadataOrBuilder();

  public com.google.appengine.v1.OperationMetadataV1.MethodMetadataCase getMethodMetadataCase();
}
