/*
 * 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/dataflow/v1beta3/snapshots.proto

package com.google.dataflow.v1beta3;

public interface SnapshotOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.dataflow.v1beta3.Snapshot)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * The unique ID of this snapshot.
   * </pre>
   *
   * <code>string id = 1;</code>
   *
   * @return The id.
   */
  java.lang.String getId();
  /**
   *
   *
   * <pre>
   * The unique ID of this snapshot.
   * </pre>
   *
   * <code>string id = 1;</code>
   *
   * @return The bytes for id.
   */
  com.google.protobuf.ByteString getIdBytes();

  /**
   *
   *
   * <pre>
   * The project this snapshot belongs to.
   * </pre>
   *
   * <code>string project_id = 2;</code>
   *
   * @return The projectId.
   */
  java.lang.String getProjectId();
  /**
   *
   *
   * <pre>
   * The project this snapshot belongs to.
   * </pre>
   *
   * <code>string project_id = 2;</code>
   *
   * @return The bytes for projectId.
   */
  com.google.protobuf.ByteString getProjectIdBytes();

  /**
   *
   *
   * <pre>
   * The job this snapshot was created from.
   * </pre>
   *
   * <code>string source_job_id = 3;</code>
   *
   * @return The sourceJobId.
   */
  java.lang.String getSourceJobId();
  /**
   *
   *
   * <pre>
   * The job this snapshot was created from.
   * </pre>
   *
   * <code>string source_job_id = 3;</code>
   *
   * @return The bytes for sourceJobId.
   */
  com.google.protobuf.ByteString getSourceJobIdBytes();

  /**
   *
   *
   * <pre>
   * The time this snapshot was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp creation_time = 4;</code>
   *
   * @return Whether the creationTime field is set.
   */
  boolean hasCreationTime();
  /**
   *
   *
   * <pre>
   * The time this snapshot was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp creation_time = 4;</code>
   *
   * @return The creationTime.
   */
  com.google.protobuf.Timestamp getCreationTime();
  /**
   *
   *
   * <pre>
   * The time this snapshot was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp creation_time = 4;</code>
   */
  com.google.protobuf.TimestampOrBuilder getCreationTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * The time after which this snapshot will be automatically deleted.
   * </pre>
   *
   * <code>.google.protobuf.Duration ttl = 5;</code>
   *
   * @return Whether the ttl field is set.
   */
  boolean hasTtl();
  /**
   *
   *
   * <pre>
   * The time after which this snapshot will be automatically deleted.
   * </pre>
   *
   * <code>.google.protobuf.Duration ttl = 5;</code>
   *
   * @return The ttl.
   */
  com.google.protobuf.Duration getTtl();
  /**
   *
   *
   * <pre>
   * The time after which this snapshot will be automatically deleted.
   * </pre>
   *
   * <code>.google.protobuf.Duration ttl = 5;</code>
   */
  com.google.protobuf.DurationOrBuilder getTtlOrBuilder();

  /**
   *
   *
   * <pre>
   * State of the snapshot.
   * </pre>
   *
   * <code>.google.dataflow.v1beta3.SnapshotState state = 6;</code>
   *
   * @return The enum numeric value on the wire for state.
   */
  int getStateValue();
  /**
   *
   *
   * <pre>
   * State of the snapshot.
   * </pre>
   *
   * <code>.google.dataflow.v1beta3.SnapshotState state = 6;</code>
   *
   * @return The state.
   */
  com.google.dataflow.v1beta3.SnapshotState getState();

  /**
   *
   *
   * <pre>
   * Pub/Sub snapshot metadata.
   * </pre>
   *
   * <code>repeated .google.dataflow.v1beta3.PubsubSnapshotMetadata pubsub_metadata = 7;</code>
   */
  java.util.List<com.google.dataflow.v1beta3.PubsubSnapshotMetadata> getPubsubMetadataList();
  /**
   *
   *
   * <pre>
   * Pub/Sub snapshot metadata.
   * </pre>
   *
   * <code>repeated .google.dataflow.v1beta3.PubsubSnapshotMetadata pubsub_metadata = 7;</code>
   */
  com.google.dataflow.v1beta3.PubsubSnapshotMetadata getPubsubMetadata(int index);
  /**
   *
   *
   * <pre>
   * Pub/Sub snapshot metadata.
   * </pre>
   *
   * <code>repeated .google.dataflow.v1beta3.PubsubSnapshotMetadata pubsub_metadata = 7;</code>
   */
  int getPubsubMetadataCount();
  /**
   *
   *
   * <pre>
   * Pub/Sub snapshot metadata.
   * </pre>
   *
   * <code>repeated .google.dataflow.v1beta3.PubsubSnapshotMetadata pubsub_metadata = 7;</code>
   */
  java.util.List<? extends com.google.dataflow.v1beta3.PubsubSnapshotMetadataOrBuilder>
      getPubsubMetadataOrBuilderList();
  /**
   *
   *
   * <pre>
   * Pub/Sub snapshot metadata.
   * </pre>
   *
   * <code>repeated .google.dataflow.v1beta3.PubsubSnapshotMetadata pubsub_metadata = 7;</code>
   */
  com.google.dataflow.v1beta3.PubsubSnapshotMetadataOrBuilder getPubsubMetadataOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * User specified description of the snapshot. Maybe empty.
   * </pre>
   *
   * <code>string description = 8;</code>
   *
   * @return The description.
   */
  java.lang.String getDescription();
  /**
   *
   *
   * <pre>
   * User specified description of the snapshot. Maybe empty.
   * </pre>
   *
   * <code>string description = 8;</code>
   *
   * @return The bytes for description.
   */
  com.google.protobuf.ByteString getDescriptionBytes();

  /**
   *
   *
   * <pre>
   * The disk byte size of the snapshot. Only available for snapshots in READY
   * state.
   * </pre>
   *
   * <code>int64 disk_size_bytes = 9;</code>
   *
   * @return The diskSizeBytes.
   */
  long getDiskSizeBytes();

  /**
   *
   *
   * <pre>
   * Cloud region where this snapshot lives in, e.g., "us-central1".
   * </pre>
   *
   * <code>string region = 10;</code>
   *
   * @return The region.
   */
  java.lang.String getRegion();
  /**
   *
   *
   * <pre>
   * Cloud region where this snapshot lives in, e.g., "us-central1".
   * </pre>
   *
   * <code>string region = 10;</code>
   *
   * @return The bytes for region.
   */
  com.google.protobuf.ByteString getRegionBytes();
}
