// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/monitoring/v3/group_service.proto

package com.google.monitoring.v3;

public interface ListGroupsRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.monitoring.v3.ListGroupsRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The project whose groups are to be listed. The format is
   * `"projects/{project_id_or_number}"`.
   * </pre>
   *
   * <code>string name = 7;</code>
   */
  java.lang.String getName();
  /**
   * <pre>
   * The project whose groups are to be listed. The format is
   * `"projects/{project_id_or_number}"`.
   * </pre>
   *
   * <code>string name = 7;</code>
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <pre>
   * A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
   * Returns groups whose `parentName` field contains the group
   * name.  If no groups have this parent, the results are empty.
   * </pre>
   *
   * <code>string children_of_group = 2;</code>
   */
  java.lang.String getChildrenOfGroup();
  /**
   * <pre>
   * A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
   * Returns groups whose `parentName` field contains the group
   * name.  If no groups have this parent, the results are empty.
   * </pre>
   *
   * <code>string children_of_group = 2;</code>
   */
  com.google.protobuf.ByteString
      getChildrenOfGroupBytes();

  /**
   * <pre>
   * A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
   * Returns groups that are ancestors of the specified group.
   * The groups are returned in order, starting with the immediate parent and
   * ending with the most distant ancestor.  If the specified group has no
   * immediate parent, the results are empty.
   * </pre>
   *
   * <code>string ancestors_of_group = 3;</code>
   */
  java.lang.String getAncestorsOfGroup();
  /**
   * <pre>
   * A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
   * Returns groups that are ancestors of the specified group.
   * The groups are returned in order, starting with the immediate parent and
   * ending with the most distant ancestor.  If the specified group has no
   * immediate parent, the results are empty.
   * </pre>
   *
   * <code>string ancestors_of_group = 3;</code>
   */
  com.google.protobuf.ByteString
      getAncestorsOfGroupBytes();

  /**
   * <pre>
   * A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
   * Returns the descendants of the specified group.  This is a superset of
   * the results returned by the `childrenOfGroup` filter, and includes
   * children-of-children, and so forth.
   * </pre>
   *
   * <code>string descendants_of_group = 4;</code>
   */
  java.lang.String getDescendantsOfGroup();
  /**
   * <pre>
   * A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
   * Returns the descendants of the specified group.  This is a superset of
   * the results returned by the `childrenOfGroup` filter, and includes
   * children-of-children, and so forth.
   * </pre>
   *
   * <code>string descendants_of_group = 4;</code>
   */
  com.google.protobuf.ByteString
      getDescendantsOfGroupBytes();

  /**
   * <pre>
   * A positive number that is the maximum number of results to return.
   * </pre>
   *
   * <code>int32 page_size = 5;</code>
   */
  int getPageSize();

  /**
   * <pre>
   * If this field is not empty then it must contain the `nextPageToken` value
   * returned by a previous call to this method.  Using this field causes the
   * method to return additional results from the previous method call.
   * </pre>
   *
   * <code>string page_token = 6;</code>
   */
  java.lang.String getPageToken();
  /**
   * <pre>
   * If this field is not empty then it must contain the `nextPageToken` value
   * returned by a previous call to this method.  Using this field causes the
   * method to return additional results from the previous method call.
   * </pre>
   *
   * <code>string page_token = 6;</code>
   */
  com.google.protobuf.ByteString
      getPageTokenBytes();

  public com.google.monitoring.v3.ListGroupsRequest.FilterCase getFilterCase();
}
