/*
 * 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/analytics/admin/v1alpha/resources.proto

package com.google.analytics.admin.v1alpha;

public interface BigQueryLinkOrBuilder
    extends
    // @@protoc_insertion_point(interface_extends:google.analytics.admin.v1alpha.BigQueryLink)
    com.google.protobuf.MessageOrBuilder {

  /**
   *
   *
   * <pre>
   * Output only. Resource name of this BigQuery link.
   * Format: 'properties/{property_id}/bigQueryLinks/{bigquery_link_id}'
   * Format: 'properties/1234/bigQueryLinks/abc567'
   * </pre>
   *
   * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   *
   * @return The name.
   */
  java.lang.String getName();
  /**
   *
   *
   * <pre>
   * Output only. Resource name of this BigQuery link.
   * Format: 'properties/{property_id}/bigQueryLinks/{bigquery_link_id}'
   * Format: 'properties/1234/bigQueryLinks/abc567'
   * </pre>
   *
   * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   *
   * @return The bytes for name.
   */
  com.google.protobuf.ByteString getNameBytes();

  /**
   *
   *
   * <pre>
   * Immutable. The linked Google Cloud project. When creating a BigQueryLink,
   * you may provide this resource name using either a project number or project
   * ID. Once this resource has been created, the returned project will always
   * have a project that contains a project number.
   * Format: 'projects/{project number}'
   * Example: 'projects/1234'
   * </pre>
   *
   * <code>string project = 2 [(.google.api.field_behavior) = IMMUTABLE];</code>
   *
   * @return The project.
   */
  java.lang.String getProject();
  /**
   *
   *
   * <pre>
   * Immutable. The linked Google Cloud project. When creating a BigQueryLink,
   * you may provide this resource name using either a project number or project
   * ID. Once this resource has been created, the returned project will always
   * have a project that contains a project number.
   * Format: 'projects/{project number}'
   * Example: 'projects/1234'
   * </pre>
   *
   * <code>string project = 2 [(.google.api.field_behavior) = IMMUTABLE];</code>
   *
   * @return The bytes for project.
   */
  com.google.protobuf.ByteString getProjectBytes();

  /**
   *
   *
   * <pre>
   * Output only. Time when the link was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   *
   * @return Whether the createTime field is set.
   */
  boolean hasCreateTime();
  /**
   *
   *
   * <pre>
   * Output only. Time when the link was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   *
   * @return The createTime.
   */
  com.google.protobuf.Timestamp getCreateTime();
  /**
   *
   *
   * <pre>
   * Output only. Time when the link was created.
   * </pre>
   *
   * <code>.google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
   * </code>
   */
  com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder();

  /**
   *
   *
   * <pre>
   * If set true, enables daily data export to the linked Google Cloud project.
   * </pre>
   *
   * <code>bool daily_export_enabled = 4;</code>
   *
   * @return The dailyExportEnabled.
   */
  boolean getDailyExportEnabled();

  /**
   *
   *
   * <pre>
   * If set true, enables streaming export to the linked Google Cloud project.
   * </pre>
   *
   * <code>bool streaming_export_enabled = 5;</code>
   *
   * @return The streamingExportEnabled.
   */
  boolean getStreamingExportEnabled();

  /**
   *
   *
   * <pre>
   * If set true, enables intraday export to the linked Google Cloud project.
   * </pre>
   *
   * <code>bool intraday_export_enabled = 9;</code>
   *
   * @return The intradayExportEnabled.
   */
  boolean getIntradayExportEnabled();

  /**
   *
   *
   * <pre>
   * If set true, exported data will include advertising identifiers for mobile
   * app streams.
   * </pre>
   *
   * <code>bool include_advertising_id = 6;</code>
   *
   * @return The includeAdvertisingId.
   */
  boolean getIncludeAdvertisingId();

  /**
   *
   *
   * <pre>
   * The list of streams under the parent property for which data will be
   * exported.
   * Format: properties/{property_id}/dataStreams/{stream_id}
   * Example: ['properties/1000/dataStreams/2000']
   * </pre>
   *
   * <code>repeated string export_streams = 7;</code>
   *
   * @return A list containing the exportStreams.
   */
  java.util.List<java.lang.String> getExportStreamsList();
  /**
   *
   *
   * <pre>
   * The list of streams under the parent property for which data will be
   * exported.
   * Format: properties/{property_id}/dataStreams/{stream_id}
   * Example: ['properties/1000/dataStreams/2000']
   * </pre>
   *
   * <code>repeated string export_streams = 7;</code>
   *
   * @return The count of exportStreams.
   */
  int getExportStreamsCount();
  /**
   *
   *
   * <pre>
   * The list of streams under the parent property for which data will be
   * exported.
   * Format: properties/{property_id}/dataStreams/{stream_id}
   * Example: ['properties/1000/dataStreams/2000']
   * </pre>
   *
   * <code>repeated string export_streams = 7;</code>
   *
   * @param index The index of the element to return.
   * @return The exportStreams at the given index.
   */
  java.lang.String getExportStreams(int index);
  /**
   *
   *
   * <pre>
   * The list of streams under the parent property for which data will be
   * exported.
   * Format: properties/{property_id}/dataStreams/{stream_id}
   * Example: ['properties/1000/dataStreams/2000']
   * </pre>
   *
   * <code>repeated string export_streams = 7;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the exportStreams at the given index.
   */
  com.google.protobuf.ByteString getExportStreamsBytes(int index);

  /**
   *
   *
   * <pre>
   * The list of event names that will be excluded from exports.
   * </pre>
   *
   * <code>repeated string excluded_events = 8;</code>
   *
   * @return A list containing the excludedEvents.
   */
  java.util.List<java.lang.String> getExcludedEventsList();
  /**
   *
   *
   * <pre>
   * The list of event names that will be excluded from exports.
   * </pre>
   *
   * <code>repeated string excluded_events = 8;</code>
   *
   * @return The count of excludedEvents.
   */
  int getExcludedEventsCount();
  /**
   *
   *
   * <pre>
   * The list of event names that will be excluded from exports.
   * </pre>
   *
   * <code>repeated string excluded_events = 8;</code>
   *
   * @param index The index of the element to return.
   * @return The excludedEvents at the given index.
   */
  java.lang.String getExcludedEvents(int index);
  /**
   *
   *
   * <pre>
   * The list of event names that will be excluded from exports.
   * </pre>
   *
   * <code>repeated string excluded_events = 8;</code>
   *
   * @param index The index of the value to return.
   * @return The bytes of the excludedEvents at the given index.
   */
  com.google.protobuf.ByteString getExcludedEventsBytes(int index);
}
