// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/asset/v1beta1/asset_service.proto

package com.google.cloud.asset.v1beta1;

public interface ExportAssetsRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1beta1.ExportAssetsRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Required. The relative name of the root asset. It can only be an
   * organization number (e.g. "organizations/123") or a project number
   * (e.g. "projects/12345").
   * </pre>
   *
   * <code>string parent = 1;</code>
   */
  java.lang.String getParent();
  /**
   * <pre>
   * Required. The relative name of the root asset. It can only be an
   * organization number (e.g. "organizations/123") or a project number
   * (e.g. "projects/12345").
   * </pre>
   *
   * <code>string parent = 1;</code>
   */
  com.google.protobuf.ByteString
      getParentBytes();

  /**
   * <pre>
   * Timestamp to take an asset snapshot. This can only be current or past
   * time. If not specified, the current time will be used. Due to delays in
   * resource data collection and indexing, there is a volatile window during
   * which running the same query may get different results.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp read_time = 2;</code>
   */
  boolean hasReadTime();
  /**
   * <pre>
   * Timestamp to take an asset snapshot. This can only be current or past
   * time. If not specified, the current time will be used. Due to delays in
   * resource data collection and indexing, there is a volatile window during
   * which running the same query may get different results.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp read_time = 2;</code>
   */
  com.google.protobuf.Timestamp getReadTime();
  /**
   * <pre>
   * Timestamp to take an asset snapshot. This can only be current or past
   * time. If not specified, the current time will be used. Due to delays in
   * resource data collection and indexing, there is a volatile window during
   * which running the same query may get different results.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp read_time = 2;</code>
   */
  com.google.protobuf.TimestampOrBuilder getReadTimeOrBuilder();

  /**
   * <pre>
   * A list of asset types to take a snapshot for. Example:
   * "google.compute.disk". If specified, only matching assets will be returned.
   * </pre>
   *
   * <code>repeated string asset_types = 3;</code>
   */
  java.util.List<java.lang.String>
      getAssetTypesList();
  /**
   * <pre>
   * A list of asset types to take a snapshot for. Example:
   * "google.compute.disk". If specified, only matching assets will be returned.
   * </pre>
   *
   * <code>repeated string asset_types = 3;</code>
   */
  int getAssetTypesCount();
  /**
   * <pre>
   * A list of asset types to take a snapshot for. Example:
   * "google.compute.disk". If specified, only matching assets will be returned.
   * </pre>
   *
   * <code>repeated string asset_types = 3;</code>
   */
  java.lang.String getAssetTypes(int index);
  /**
   * <pre>
   * A list of asset types to take a snapshot for. Example:
   * "google.compute.disk". If specified, only matching assets will be returned.
   * </pre>
   *
   * <code>repeated string asset_types = 3;</code>
   */
  com.google.protobuf.ByteString
      getAssetTypesBytes(int index);

  /**
   * <pre>
   * A list of asset content types. If specified, only matching content will be
   * returned. Otherwise, no content but the asset name will be returned.
   * </pre>
   *
   * <code>repeated .google.cloud.asset.v1beta1.ContentType content_types = 4;</code>
   */
  java.util.List<com.google.cloud.asset.v1beta1.ContentType> getContentTypesList();
  /**
   * <pre>
   * A list of asset content types. If specified, only matching content will be
   * returned. Otherwise, no content but the asset name will be returned.
   * </pre>
   *
   * <code>repeated .google.cloud.asset.v1beta1.ContentType content_types = 4;</code>
   */
  int getContentTypesCount();
  /**
   * <pre>
   * A list of asset content types. If specified, only matching content will be
   * returned. Otherwise, no content but the asset name will be returned.
   * </pre>
   *
   * <code>repeated .google.cloud.asset.v1beta1.ContentType content_types = 4;</code>
   */
  com.google.cloud.asset.v1beta1.ContentType getContentTypes(int index);
  /**
   * <pre>
   * A list of asset content types. If specified, only matching content will be
   * returned. Otherwise, no content but the asset name will be returned.
   * </pre>
   *
   * <code>repeated .google.cloud.asset.v1beta1.ContentType content_types = 4;</code>
   */
  java.util.List<java.lang.Integer>
  getContentTypesValueList();
  /**
   * <pre>
   * A list of asset content types. If specified, only matching content will be
   * returned. Otherwise, no content but the asset name will be returned.
   * </pre>
   *
   * <code>repeated .google.cloud.asset.v1beta1.ContentType content_types = 4;</code>
   */
  int getContentTypesValue(int index);

  /**
   * <pre>
   * Required. Output configuration indicating where the results will be output
   * to. All results will be in newline delimited JSON format.
   * </pre>
   *
   * <code>.google.cloud.asset.v1beta1.OutputConfig output_config = 5;</code>
   */
  boolean hasOutputConfig();
  /**
   * <pre>
   * Required. Output configuration indicating where the results will be output
   * to. All results will be in newline delimited JSON format.
   * </pre>
   *
   * <code>.google.cloud.asset.v1beta1.OutputConfig output_config = 5;</code>
   */
  com.google.cloud.asset.v1beta1.OutputConfig getOutputConfig();
  /**
   * <pre>
   * Required. Output configuration indicating where the results will be output
   * to. All results will be in newline delimited JSON format.
   * </pre>
   *
   * <code>.google.cloud.asset.v1beta1.OutputConfig output_config = 5;</code>
   */
  com.google.cloud.asset.v1beta1.OutputConfigOrBuilder getOutputConfigOrBuilder();
}
