// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/api/auth.proto

package com.google.api;

public interface AuthenticationRuleOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.api.AuthenticationRule)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Selects the methods to which this rule applies.
   * Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
   * </pre>
   *
   * <code>string selector = 1;</code>
   */
  java.lang.String getSelector();
  /**
   * <pre>
   * Selects the methods to which this rule applies.
   * Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
   * </pre>
   *
   * <code>string selector = 1;</code>
   */
  com.google.protobuf.ByteString
      getSelectorBytes();

  /**
   * <pre>
   * The requirements for OAuth credentials.
   * </pre>
   *
   * <code>.google.api.OAuthRequirements oauth = 2;</code>
   */
  boolean hasOauth();
  /**
   * <pre>
   * The requirements for OAuth credentials.
   * </pre>
   *
   * <code>.google.api.OAuthRequirements oauth = 2;</code>
   */
  com.google.api.OAuthRequirements getOauth();
  /**
   * <pre>
   * The requirements for OAuth credentials.
   * </pre>
   *
   * <code>.google.api.OAuthRequirements oauth = 2;</code>
   */
  com.google.api.OAuthRequirementsOrBuilder getOauthOrBuilder();

  /**
   * <pre>
   * If true, the service accepts API keys without any other credential.
   * </pre>
   *
   * <code>bool allow_without_credential = 5;</code>
   */
  boolean getAllowWithoutCredential();

  /**
   * <pre>
   * Requirements for additional authentication providers.
   * </pre>
   *
   * <code>repeated .google.api.AuthRequirement requirements = 7;</code>
   */
  java.util.List<com.google.api.AuthRequirement> 
      getRequirementsList();
  /**
   * <pre>
   * Requirements for additional authentication providers.
   * </pre>
   *
   * <code>repeated .google.api.AuthRequirement requirements = 7;</code>
   */
  com.google.api.AuthRequirement getRequirements(int index);
  /**
   * <pre>
   * Requirements for additional authentication providers.
   * </pre>
   *
   * <code>repeated .google.api.AuthRequirement requirements = 7;</code>
   */
  int getRequirementsCount();
  /**
   * <pre>
   * Requirements for additional authentication providers.
   * </pre>
   *
   * <code>repeated .google.api.AuthRequirement requirements = 7;</code>
   */
  java.util.List<? extends com.google.api.AuthRequirementOrBuilder> 
      getRequirementsOrBuilderList();
  /**
   * <pre>
   * Requirements for additional authentication providers.
   * </pre>
   *
   * <code>repeated .google.api.AuthRequirement requirements = 7;</code>
   */
  com.google.api.AuthRequirementOrBuilder getRequirementsOrBuilder(
      int index);
}
