// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/iot/v1/device_manager.proto

package com.google.cloud.iot.v1;

public interface ListDevicesRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.cloud.iot.v1.ListDevicesRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The device registry path. Required. For example,
   * `projects/my-project/locations/us-central1/registries/my-registry`.
   * </pre>
   *
   * <code>string parent = 1;</code>
   */
  java.lang.String getParent();
  /**
   * <pre>
   * The device registry path. Required. For example,
   * `projects/my-project/locations/us-central1/registries/my-registry`.
   * </pre>
   *
   * <code>string parent = 1;</code>
   */
  com.google.protobuf.ByteString
      getParentBytes();

  /**
   * <pre>
   * A list of device numerical ids. If empty, it will ignore this field. This
   * field cannot hold more than 10,000 entries.
   * </pre>
   *
   * <code>repeated uint64 device_num_ids = 2;</code>
   */
  java.util.List<java.lang.Long> getDeviceNumIdsList();
  /**
   * <pre>
   * A list of device numerical ids. If empty, it will ignore this field. This
   * field cannot hold more than 10,000 entries.
   * </pre>
   *
   * <code>repeated uint64 device_num_ids = 2;</code>
   */
  int getDeviceNumIdsCount();
  /**
   * <pre>
   * A list of device numerical ids. If empty, it will ignore this field. This
   * field cannot hold more than 10,000 entries.
   * </pre>
   *
   * <code>repeated uint64 device_num_ids = 2;</code>
   */
  long getDeviceNumIds(int index);

  /**
   * <pre>
   * A list of device string identifiers. If empty, it will ignore this field.
   * For example, `['device0', 'device12']`. This field cannot hold more than
   * 10,000 entries.
   * </pre>
   *
   * <code>repeated string device_ids = 3;</code>
   */
  java.util.List<java.lang.String>
      getDeviceIdsList();
  /**
   * <pre>
   * A list of device string identifiers. If empty, it will ignore this field.
   * For example, `['device0', 'device12']`. This field cannot hold more than
   * 10,000 entries.
   * </pre>
   *
   * <code>repeated string device_ids = 3;</code>
   */
  int getDeviceIdsCount();
  /**
   * <pre>
   * A list of device string identifiers. If empty, it will ignore this field.
   * For example, `['device0', 'device12']`. This field cannot hold more than
   * 10,000 entries.
   * </pre>
   *
   * <code>repeated string device_ids = 3;</code>
   */
  java.lang.String getDeviceIds(int index);
  /**
   * <pre>
   * A list of device string identifiers. If empty, it will ignore this field.
   * For example, `['device0', 'device12']`. This field cannot hold more than
   * 10,000 entries.
   * </pre>
   *
   * <code>repeated string device_ids = 3;</code>
   */
  com.google.protobuf.ByteString
      getDeviceIdsBytes(int index);

  /**
   * <pre>
   * The fields of the `Device` resource to be returned in the response. The
   * fields `id`, and `num_id` are always returned by default, along with any
   * other fields specified.
   * </pre>
   *
   * <code>.google.protobuf.FieldMask field_mask = 4;</code>
   */
  boolean hasFieldMask();
  /**
   * <pre>
   * The fields of the `Device` resource to be returned in the response. The
   * fields `id`, and `num_id` are always returned by default, along with any
   * other fields specified.
   * </pre>
   *
   * <code>.google.protobuf.FieldMask field_mask = 4;</code>
   */
  com.google.protobuf.FieldMask getFieldMask();
  /**
   * <pre>
   * The fields of the `Device` resource to be returned in the response. The
   * fields `id`, and `num_id` are always returned by default, along with any
   * other fields specified.
   * </pre>
   *
   * <code>.google.protobuf.FieldMask field_mask = 4;</code>
   */
  com.google.protobuf.FieldMaskOrBuilder getFieldMaskOrBuilder();

  /**
   * <pre>
   * The maximum number of devices to return in the response. If this value
   * is zero, the service will select a default size. A call may return fewer
   * objects than requested, but if there is a non-empty `page_token`, it
   * indicates that more entries are available.
   * </pre>
   *
   * <code>int32 page_size = 100;</code>
   */
  int getPageSize();

  /**
   * <pre>
   * The value returned by the last `ListDevicesResponse`; indicates
   * that this is a continuation of a prior `ListDevices` call, and
   * that the system should return the next page of data.
   * </pre>
   *
   * <code>string page_token = 101;</code>
   */
  java.lang.String getPageToken();
  /**
   * <pre>
   * The value returned by the last `ListDevicesResponse`; indicates
   * that this is a continuation of a prior `ListDevices` call, and
   * that the system should return the next page of data.
   * </pre>
   *
   * <code>string page_token = 101;</code>
   */
  com.google.protobuf.ByteString
      getPageTokenBytes();
}
