// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/devtools/containeranalysis/v1beta1/provenance/provenance.proto

package io.grafeas.v1beta1.provenance;

public interface BuildProvenanceOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:grafeas.v1beta1.provenance.BuildProvenance)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Unique identifier of the build.
   * </pre>
   *
   * <code>string id = 1;</code>
   */
  java.lang.String getId();
  /**
   *
   *
   * <pre>
   * Unique identifier of the build.
   * </pre>
   *
   * <code>string id = 1;</code>
   */
  com.google.protobuf.ByteString getIdBytes();

  /**
   *
   *
   * <pre>
   * ID of the project.
   * </pre>
   *
   * <code>string project_id = 2;</code>
   */
  java.lang.String getProjectId();
  /**
   *
   *
   * <pre>
   * ID of the project.
   * </pre>
   *
   * <code>string project_id = 2;</code>
   */
  com.google.protobuf.ByteString getProjectIdBytes();

  /**
   *
   *
   * <pre>
   * Commands requested by the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Command commands = 3;</code>
   */
  java.util.List<io.grafeas.v1beta1.provenance.Command> getCommandsList();
  /**
   *
   *
   * <pre>
   * Commands requested by the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Command commands = 3;</code>
   */
  io.grafeas.v1beta1.provenance.Command getCommands(int index);
  /**
   *
   *
   * <pre>
   * Commands requested by the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Command commands = 3;</code>
   */
  int getCommandsCount();
  /**
   *
   *
   * <pre>
   * Commands requested by the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Command commands = 3;</code>
   */
  java.util.List<? extends io.grafeas.v1beta1.provenance.CommandOrBuilder>
      getCommandsOrBuilderList();
  /**
   *
   *
   * <pre>
   * Commands requested by the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Command commands = 3;</code>
   */
  io.grafeas.v1beta1.provenance.CommandOrBuilder getCommandsOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * Output of the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Artifact built_artifacts = 4;</code>
   */
  java.util.List<io.grafeas.v1beta1.provenance.Artifact> getBuiltArtifactsList();
  /**
   *
   *
   * <pre>
   * Output of the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Artifact built_artifacts = 4;</code>
   */
  io.grafeas.v1beta1.provenance.Artifact getBuiltArtifacts(int index);
  /**
   *
   *
   * <pre>
   * Output of the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Artifact built_artifacts = 4;</code>
   */
  int getBuiltArtifactsCount();
  /**
   *
   *
   * <pre>
   * Output of the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Artifact built_artifacts = 4;</code>
   */
  java.util.List<? extends io.grafeas.v1beta1.provenance.ArtifactOrBuilder>
      getBuiltArtifactsOrBuilderList();
  /**
   *
   *
   * <pre>
   * Output of the build.
   * </pre>
   *
   * <code>repeated .grafeas.v1beta1.provenance.Artifact built_artifacts = 4;</code>
   */
  io.grafeas.v1beta1.provenance.ArtifactOrBuilder getBuiltArtifactsOrBuilder(int index);

  /**
   *
   *
   * <pre>
   * Time at which the build was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 5;</code>
   */
  boolean hasCreateTime();
  /**
   *
   *
   * <pre>
   * Time at which the build was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 5;</code>
   */
  com.google.protobuf.Timestamp getCreateTime();
  /**
   *
   *
   * <pre>
   * Time at which the build was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 5;</code>
   */
  com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Time at which execution of the build was started.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp start_time = 6;</code>
   */
  boolean hasStartTime();
  /**
   *
   *
   * <pre>
   * Time at which execution of the build was started.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp start_time = 6;</code>
   */
  com.google.protobuf.Timestamp getStartTime();
  /**
   *
   *
   * <pre>
   * Time at which execution of the build was started.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp start_time = 6;</code>
   */
  com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * Time at which execution of the build was finished.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp end_time = 7;</code>
   */
  boolean hasEndTime();
  /**
   *
   *
   * <pre>
   * Time at which execution of the build was finished.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp end_time = 7;</code>
   */
  com.google.protobuf.Timestamp getEndTime();
  /**
   *
   *
   * <pre>
   * Time at which execution of the build was finished.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp end_time = 7;</code>
   */
  com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * E-mail address of the user who initiated this build. Note that this was the
   * user's e-mail address at the time the build was initiated; this address may
   * not represent the same end-user for all time.
   * </pre>
   *
   * <code>string creator = 8;</code>
   */
  java.lang.String getCreator();
  /**
   *
   *
   * <pre>
   * E-mail address of the user who initiated this build. Note that this was the
   * user's e-mail address at the time the build was initiated; this address may
   * not represent the same end-user for all time.
   * </pre>
   *
   * <code>string creator = 8;</code>
   */
  com.google.protobuf.ByteString getCreatorBytes();

  /**
   *
   *
   * <pre>
   * URI where any logs for this provenance were written.
   * </pre>
   *
   * <code>string logs_uri = 9;</code>
   */
  java.lang.String getLogsUri();
  /**
   *
   *
   * <pre>
   * URI where any logs for this provenance were written.
   * </pre>
   *
   * <code>string logs_uri = 9;</code>
   */
  com.google.protobuf.ByteString getLogsUriBytes();

  /**
   *
   *
   * <pre>
   * Details of the Source input to the build.
   * </pre>
   *
   * <code>.grafeas.v1beta1.provenance.Source source_provenance = 10;</code>
   */
  boolean hasSourceProvenance();
  /**
   *
   *
   * <pre>
   * Details of the Source input to the build.
   * </pre>
   *
   * <code>.grafeas.v1beta1.provenance.Source source_provenance = 10;</code>
   */
  io.grafeas.v1beta1.provenance.Source getSourceProvenance();
  /**
   *
   *
   * <pre>
   * Details of the Source input to the build.
   * </pre>
   *
   * <code>.grafeas.v1beta1.provenance.Source source_provenance = 10;</code>
   */
  io.grafeas.v1beta1.provenance.SourceOrBuilder getSourceProvenanceOrBuilder();

  /**
   *
   *
   * <pre>
   * Trigger identifier if the build was triggered automatically; empty if not.
   * </pre>
   *
   * <code>string trigger_id = 11;</code>
   */
  java.lang.String getTriggerId();
  /**
   *
   *
   * <pre>
   * Trigger identifier if the build was triggered automatically; empty if not.
   * </pre>
   *
   * <code>string trigger_id = 11;</code>
   */
  com.google.protobuf.ByteString getTriggerIdBytes();

  /**
   *
   *
   * <pre>
   * Special options applied to this build. This is a catch-all field where
   * build providers can enter any desired additional details.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_options = 12;</code>
   */
  int getBuildOptionsCount();
  /**
   *
   *
   * <pre>
   * Special options applied to this build. This is a catch-all field where
   * build providers can enter any desired additional details.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_options = 12;</code>
   */
  boolean containsBuildOptions(java.lang.String key);
  /** Use {@link #getBuildOptionsMap()} instead. */
  @java.lang.Deprecated
  java.util.Map<java.lang.String, java.lang.String> getBuildOptions();
  /**
   *
   *
   * <pre>
   * Special options applied to this build. This is a catch-all field where
   * build providers can enter any desired additional details.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_options = 12;</code>
   */
  java.util.Map<java.lang.String, java.lang.String> getBuildOptionsMap();
  /**
   *
   *
   * <pre>
   * Special options applied to this build. This is a catch-all field where
   * build providers can enter any desired additional details.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_options = 12;</code>
   */
  java.lang.String getBuildOptionsOrDefault(java.lang.String key, java.lang.String defaultValue);
  /**
   *
   *
   * <pre>
   * Special options applied to this build. This is a catch-all field where
   * build providers can enter any desired additional details.
   * </pre>
   *
   * <code>map&lt;string, string&gt; build_options = 12;</code>
   */
  java.lang.String getBuildOptionsOrThrow(java.lang.String key);

  /**
   *
   *
   * <pre>
   * Version string of the builder at the time this build was executed.
   * </pre>
   *
   * <code>string builder_version = 13;</code>
   */
  java.lang.String getBuilderVersion();
  /**
   *
   *
   * <pre>
   * Version string of the builder at the time this build was executed.
   * </pre>
   *
   * <code>string builder_version = 13;</code>
   */
  com.google.protobuf.ByteString getBuilderVersionBytes();
}
