/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace CognitoIdentityProvider { namespace Model { /** *

Represents the request to list users.

See Also:

AWS * API Reference

*/ class ListUsersRequest : public CognitoIdentityProviderRequest { public: AWS_COGNITOIDENTITYPROVIDER_API ListUsersRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListUsers"; } AWS_COGNITOIDENTITYPROVIDER_API Aws::String SerializePayload() const override; AWS_COGNITOIDENTITYPROVIDER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline const Aws::String& GetUserPoolId() const{ return m_userPoolId; } /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; } /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline void SetUserPoolId(const Aws::String& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = value; } /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline void SetUserPoolId(Aws::String&& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = std::move(value); } /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline void SetUserPoolId(const char* value) { m_userPoolIdHasBeenSet = true; m_userPoolId.assign(value); } /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline ListUsersRequest& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline ListUsersRequest& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} /** *

The user pool ID for the user pool on which the search should be * performed.

*/ inline ListUsersRequest& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline const Aws::Vector& GetAttributesToGet() const{ return m_attributesToGet; } /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline bool AttributesToGetHasBeenSet() const { return m_attributesToGetHasBeenSet; } /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline void SetAttributesToGet(const Aws::Vector& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet = value; } /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline void SetAttributesToGet(Aws::Vector&& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet = std::move(value); } /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline ListUsersRequest& WithAttributesToGet(const Aws::Vector& value) { SetAttributesToGet(value); return *this;} /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline ListUsersRequest& WithAttributesToGet(Aws::Vector&& value) { SetAttributesToGet(std::move(value)); return *this;} /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline ListUsersRequest& AddAttributesToGet(const Aws::String& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.push_back(value); return *this; } /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline ListUsersRequest& AddAttributesToGet(Aws::String&& value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.push_back(std::move(value)); return *this; } /** *

An array of strings, where each string is the name of a user attribute to be * returned for each user in the search results. If the array is null, all * attributes are returned.

*/ inline ListUsersRequest& AddAttributesToGet(const char* value) { m_attributesToGetHasBeenSet = true; m_attributesToGet.push_back(value); return *this; } /** *

Maximum number of users to be returned.

*/ inline int GetLimit() const{ return m_limit; } /** *

Maximum number of users to be returned.

*/ inline bool LimitHasBeenSet() const { return m_limitHasBeenSet; } /** *

Maximum number of users to be returned.

*/ inline void SetLimit(int value) { m_limitHasBeenSet = true; m_limit = value; } /** *

Maximum number of users to be returned.

*/ inline ListUsersRequest& WithLimit(int value) { SetLimit(value); return *this;} /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline const Aws::String& GetPaginationToken() const{ return m_paginationToken; } /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline bool PaginationTokenHasBeenSet() const { return m_paginationTokenHasBeenSet; } /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline void SetPaginationToken(const Aws::String& value) { m_paginationTokenHasBeenSet = true; m_paginationToken = value; } /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline void SetPaginationToken(Aws::String&& value) { m_paginationTokenHasBeenSet = true; m_paginationToken = std::move(value); } /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline void SetPaginationToken(const char* value) { m_paginationTokenHasBeenSet = true; m_paginationToken.assign(value); } /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline ListUsersRequest& WithPaginationToken(const Aws::String& value) { SetPaginationToken(value); return *this;} /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline ListUsersRequest& WithPaginationToken(Aws::String&& value) { SetPaginationToken(std::move(value)); return *this;} /** *

An identifier that was returned from the previous call to this operation, * which can be used to return the next set of items in the list.

*/ inline ListUsersRequest& WithPaginationToken(const char* value) { SetPaginationToken(value); return *this;} /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline const Aws::String& GetFilter() const{ return m_filter; } /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline void SetFilter(const Aws::String& value) { m_filterHasBeenSet = true; m_filter = value; } /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline void SetFilter(Aws::String&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline void SetFilter(const char* value) { m_filterHasBeenSet = true; m_filter.assign(value); } /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline ListUsersRequest& WithFilter(const Aws::String& value) { SetFilter(value); return *this;} /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline ListUsersRequest& WithFilter(Aws::String&& value) { SetFilter(std::move(value)); return *this;} /** *

A filter string of the form "AttributeName Filter-Type * "AttributeValue"". Quotation marks within the filter string must be * escaped using the backslash (\) character. For example, * "family_name = \"Reddy\"".

  • AttributeName: * The name of the attribute to search for. You can only search for one attribute * at a time.

  • Filter-Type: For an exact match, use =, for * example, "given_name = \"Jon\"". For a prefix ("starts with") * match, use ^=, for example, "given_name ^= \"Jon\"".

  • *
  • AttributeValue: The attribute value that must be matched for * each user.

If the filter string is empty, * ListUsers returns all users in the user pool.

You can only * search for the following standard attributes:

  • * username (case-sensitive)

  • email *

  • phone_number

  • * name

  • given_name

  • *

    family_name

  • preferred_username *

  • cognito:user_status (called Status in * the Console) (case-insensitive)

  • status (called * Enabled in the Console) (case-sensitive)

  • * sub

Custom attributes aren't searchable.

*

You can also list users with a client-side filter. The server-side * filter matches no more than one attribute. For an advanced search, use a * client-side filter with the --query parameter of the * list-users action in the CLI. When you use a client-side filter, * ListUsers returns a paginated list of zero or more users. You can receive * multiple pages in a row with zero results. Repeat the query with each pagination * token that is returned until you receive a null pagination token value, and then * review the combined result.

For more information about server-side and * client-side filtering, see FilteringCLI * output in the Command * Line Interface User Guide.

For more information, see Searching * for Users Using the ListUsers API and Examples * of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ inline ListUsersRequest& WithFilter(const char* value) { SetFilter(value); return *this;} private: Aws::String m_userPoolId; bool m_userPoolIdHasBeenSet = false; Aws::Vector m_attributesToGet; bool m_attributesToGetHasBeenSet = false; int m_limit; bool m_limitHasBeenSet = false; Aws::String m_paginationToken; bool m_paginationTokenHasBeenSet = false; Aws::String m_filter; bool m_filterHasBeenSet = false; }; } // namespace Model } // namespace CognitoIdentityProvider } // namespace Aws