// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/ads/googleads/v10/resources/customer_user_access.proto

package com.google.ads.googleads.v10.resources;

public interface CustomerUserAccessOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.ads.googleads.v10.resources.CustomerUserAccess)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Immutable. Name of the resource.
   * Resource names have the form:
   * `customers/{customer_id}/customerUserAccesses/{user_id}`
   * </pre>
   *
   * <code>string resource_name = 1 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... }</code>
   * @return The resourceName.
   */
  java.lang.String getResourceName();
  /**
   * <pre>
   * Immutable. Name of the resource.
   * Resource names have the form:
   * `customers/{customer_id}/customerUserAccesses/{user_id}`
   * </pre>
   *
   * <code>string resource_name = 1 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... }</code>
   * @return The bytes for resourceName.
   */
  com.google.protobuf.ByteString
      getResourceNameBytes();

  /**
   * <pre>
   * Output only. User id of the user with the customer access.
   * Read only field
   * </pre>
   *
   * <code>int64 user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The userId.
   */
  long getUserId();

  /**
   * <pre>
   * Output only. Email address of the user.
   * Read only field
   * </pre>
   *
   * <code>optional string email_address = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return Whether the emailAddress field is set.
   */
  boolean hasEmailAddress();
  /**
   * <pre>
   * Output only. Email address of the user.
   * Read only field
   * </pre>
   *
   * <code>optional string email_address = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The emailAddress.
   */
  java.lang.String getEmailAddress();
  /**
   * <pre>
   * Output only. Email address of the user.
   * Read only field
   * </pre>
   *
   * <code>optional string email_address = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The bytes for emailAddress.
   */
  com.google.protobuf.ByteString
      getEmailAddressBytes();

  /**
   * <pre>
   * Access role of the user.
   * </pre>
   *
   * <code>.google.ads.googleads.v10.enums.AccessRoleEnum.AccessRole access_role = 4;</code>
   * @return The enum numeric value on the wire for accessRole.
   */
  int getAccessRoleValue();
  /**
   * <pre>
   * Access role of the user.
   * </pre>
   *
   * <code>.google.ads.googleads.v10.enums.AccessRoleEnum.AccessRole access_role = 4;</code>
   * @return The accessRole.
   */
  com.google.ads.googleads.v10.enums.AccessRoleEnum.AccessRole getAccessRole();

  /**
   * <pre>
   * Output only. The customer user access creation time.
   * Read only field
   * The format is "YYYY-MM-DD HH:MM:SS".
   * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
   * </pre>
   *
   * <code>optional string access_creation_date_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return Whether the accessCreationDateTime field is set.
   */
  boolean hasAccessCreationDateTime();
  /**
   * <pre>
   * Output only. The customer user access creation time.
   * Read only field
   * The format is "YYYY-MM-DD HH:MM:SS".
   * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
   * </pre>
   *
   * <code>optional string access_creation_date_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The accessCreationDateTime.
   */
  java.lang.String getAccessCreationDateTime();
  /**
   * <pre>
   * Output only. The customer user access creation time.
   * Read only field
   * The format is "YYYY-MM-DD HH:MM:SS".
   * Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
   * </pre>
   *
   * <code>optional string access_creation_date_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The bytes for accessCreationDateTime.
   */
  com.google.protobuf.ByteString
      getAccessCreationDateTimeBytes();

  /**
   * <pre>
   * Output only. The email address of the inviter user.
   * Read only field
   * </pre>
   *
   * <code>optional string inviter_user_email_address = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return Whether the inviterUserEmailAddress field is set.
   */
  boolean hasInviterUserEmailAddress();
  /**
   * <pre>
   * Output only. The email address of the inviter user.
   * Read only field
   * </pre>
   *
   * <code>optional string inviter_user_email_address = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The inviterUserEmailAddress.
   */
  java.lang.String getInviterUserEmailAddress();
  /**
   * <pre>
   * Output only. The email address of the inviter user.
   * Read only field
   * </pre>
   *
   * <code>optional string inviter_user_email_address = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
   * @return The bytes for inviterUserEmailAddress.
   */
  com.google.protobuf.ByteString
      getInviterUserEmailAddressBytes();
}
