// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct DescribeUsersInput {
/// <p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>
pub authentication_token: ::std::option::Option<::std::string::String>,
/// <p>The ID of the organization.</p>
pub organization_id: ::std::option::Option<::std::string::String>,
/// <p>The IDs of the users.</p>
pub user_ids: ::std::option::Option<::std::string::String>,
/// <p>A query to filter users by user name. Remember the following about the <code>Userids</code> and <code>Query</code> parameters:</p>
/// <ul>
/// <li>
/// <p>If you don't use either parameter, the API returns a paginated list of all users on the site.</p></li>
/// <li>
/// <p>If you use both parameters, the API ignores the <code>Query</code> parameter.</p></li>
/// <li>
/// <p>The <code>Userid</code> parameter only returns user names that match a corresponding user ID.</p></li>
/// <li>
/// <p>The <code>Query</code> parameter runs a "prefix" search for users by the <code>GivenName</code>, <code>SurName</code>, or <code>UserName</code> fields included in a <a href="https://docs.aws.amazon.com/workdocs/latest/APIReference/API_CreateUser.html">CreateUser</a> API call. For example, querying on <code>Ma</code> returns Márcia Oliveira, María García, and Mateo Jackson. If you use multiple characters, the API only returns data that matches all characters. For example, querying on <code>Ma J</code> only returns Mateo Jackson.</p></li>
/// </ul>
pub query: ::std::option::Option<::std::string::String>,
/// <p>The state of the users. Specify "ALL" to include inactive users.</p>
pub include: ::std::option::Option<crate::types::UserFilterType>,
/// <p>The order for the results.</p>
pub order: ::std::option::Option<crate::types::OrderType>,
/// <p>The sorting criteria.</p>
pub sort: ::std::option::Option<crate::types::UserSortType>,
/// <p>The marker for the next set of results. (You received this marker from a previous call.)</p>
pub marker: ::std::option::Option<::std::string::String>,
/// <p>The maximum number of items to return.</p>
pub limit: ::std::option::Option<i32>,
/// <p>A comma-separated list of values. Specify "STORAGE_METADATA" to include the user storage quota and utilization information.</p>
pub fields: ::std::option::Option<::std::string::String>,
}
impl DescribeUsersInput {
/// <p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>
pub fn authentication_token(&self) -> ::std::option::Option<&str> {
self.authentication_token.as_deref()
}
/// <p>The ID of the organization.</p>
pub fn organization_id(&self) -> ::std::option::Option<&str> {
self.organization_id.as_deref()
}
/// <p>The IDs of the users.</p>
pub fn user_ids(&self) -> ::std::option::Option<&str> {
self.user_ids.as_deref()
}
/// <p>A query to filter users by user name. Remember the following about the <code>Userids</code> and <code>Query</code> parameters:</p>
/// <ul>
/// <li>
/// <p>If you don't use either parameter, the API returns a paginated list of all users on the site.</p></li>
/// <li>
/// <p>If you use both parameters, the API ignores the <code>Query</code> parameter.</p></li>
/// <li>
/// <p>The <code>Userid</code> parameter only returns user names that match a corresponding user ID.</p></li>
/// <li>
/// <p>The <code>Query</code> parameter runs a "prefix" search for users by the <code>GivenName</code>, <code>SurName</code>, or <code>UserName</code> fields included in a <a href="https://docs.aws.amazon.com/workdocs/latest/APIReference/API_CreateUser.html">CreateUser</a> API call. For example, querying on <code>Ma</code> returns Márcia Oliveira, María García, and Mateo Jackson. If you use multiple characters, the API only returns data that matches all characters. For example, querying on <code>Ma J</code> only returns Mateo Jackson.</p></li>
/// </ul>
pub fn query(&self) -> ::std::option::Option<&str> {
self.query.as_deref()
}
/// <p>The state of the users. Specify "ALL" to include inactive users.</p>
pub fn include(&self) -> ::std::option::Option<&crate::types::UserFilterType> {
self.include.as_ref()
}
/// <p>The order for the results.</p>
pub fn order(&self) -> ::std::option::Option<&crate::types::OrderType> {
self.order.as_ref()
}
/// <p>The sorting criteria.</p>
pub fn sort(&self) -> ::std::option::Option<&crate::types::UserSortType> {
self.sort.as_ref()
}
/// <p>The marker for the next set of results. (You received this marker from a previous call.)</p>
pub fn marker(&self) -> ::std::option::Option<&str> {
self.marker.as_deref()
}
/// <p>The maximum number of items to return.</p>
pub fn limit(&self) -> ::std::option::Option<i32> {
self.limit
}
/// <p>A comma-separated list of values. Specify "STORAGE_METADATA" to include the user storage quota and utilization information.</p>
pub fn fields(&self) -> ::std::option::Option<&str> {
self.fields.as_deref()
}
}
impl ::std::fmt::Debug for DescribeUsersInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("DescribeUsersInput");
formatter.field("authentication_token", &"*** Sensitive Data Redacted ***");
formatter.field("organization_id", &self.organization_id);
formatter.field("user_ids", &self.user_ids);
formatter.field("query", &"*** Sensitive Data Redacted ***");
formatter.field("include", &self.include);
formatter.field("order", &self.order);
formatter.field("sort", &self.sort);
formatter.field("marker", &self.marker);
formatter.field("limit", &self.limit);
formatter.field("fields", &self.fields);
formatter.finish()
}
}
impl DescribeUsersInput {
/// Creates a new builder-style object to manufacture [`DescribeUsersInput`](crate::operation::describe_users::DescribeUsersInput).
pub fn builder() -> crate::operation::describe_users::builders::DescribeUsersInputBuilder {
crate::operation::describe_users::builders::DescribeUsersInputBuilder::default()
}
}
/// A builder for [`DescribeUsersInput`](crate::operation::describe_users::DescribeUsersInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct DescribeUsersInputBuilder {
pub(crate) authentication_token: ::std::option::Option<::std::string::String>,
pub(crate) organization_id: ::std::option::Option<::std::string::String>,
pub(crate) user_ids: ::std::option::Option<::std::string::String>,
pub(crate) query: ::std::option::Option<::std::string::String>,
pub(crate) include: ::std::option::Option<crate::types::UserFilterType>,
pub(crate) order: ::std::option::Option<crate::types::OrderType>,
pub(crate) sort: ::std::option::Option<crate::types::UserSortType>,
pub(crate) marker: ::std::option::Option<::std::string::String>,
pub(crate) limit: ::std::option::Option<i32>,
pub(crate) fields: ::std::option::Option<::std::string::String>,
}
impl DescribeUsersInputBuilder {
/// <p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>
pub fn authentication_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.authentication_token = ::std::option::Option::Some(input.into());
self
}
/// <p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>
pub fn set_authentication_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.authentication_token = input;
self
}
/// <p>Amazon WorkDocs authentication token. Not required when using Amazon Web Services administrator credentials to access the API.</p>
pub fn get_authentication_token(&self) -> &::std::option::Option<::std::string::String> {
&self.authentication_token
}
/// <p>The ID of the organization.</p>
pub fn organization_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.organization_id = ::std::option::Option::Some(input.into());
self
}
/// <p>The ID of the organization.</p>
pub fn set_organization_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.organization_id = input;
self
}
/// <p>The ID of the organization.</p>
pub fn get_organization_id(&self) -> &::std::option::Option<::std::string::String> {
&self.organization_id
}
/// <p>The IDs of the users.</p>
pub fn user_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.user_ids = ::std::option::Option::Some(input.into());
self
}
/// <p>The IDs of the users.</p>
pub fn set_user_ids(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.user_ids = input;
self
}
/// <p>The IDs of the users.</p>
pub fn get_user_ids(&self) -> &::std::option::Option<::std::string::String> {
&self.user_ids
}
/// <p>A query to filter users by user name. Remember the following about the <code>Userids</code> and <code>Query</code> parameters:</p>
/// <ul>
/// <li>
/// <p>If you don't use either parameter, the API returns a paginated list of all users on the site.</p></li>
/// <li>
/// <p>If you use both parameters, the API ignores the <code>Query</code> parameter.</p></li>
/// <li>
/// <p>The <code>Userid</code> parameter only returns user names that match a corresponding user ID.</p></li>
/// <li>
/// <p>The <code>Query</code> parameter runs a "prefix" search for users by the <code>GivenName</code>, <code>SurName</code>, or <code>UserName</code> fields included in a <a href="https://docs.aws.amazon.com/workdocs/latest/APIReference/API_CreateUser.html">CreateUser</a> API call. For example, querying on <code>Ma</code> returns Márcia Oliveira, María García, and Mateo Jackson. If you use multiple characters, the API only returns data that matches all characters. For example, querying on <code>Ma J</code> only returns Mateo Jackson.</p></li>
/// </ul>
pub fn query(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.query = ::std::option::Option::Some(input.into());
self
}
/// <p>A query to filter users by user name. Remember the following about the <code>Userids</code> and <code>Query</code> parameters:</p>
/// <ul>
/// <li>
/// <p>If you don't use either parameter, the API returns a paginated list of all users on the site.</p></li>
/// <li>
/// <p>If you use both parameters, the API ignores the <code>Query</code> parameter.</p></li>
/// <li>
/// <p>The <code>Userid</code> parameter only returns user names that match a corresponding user ID.</p></li>
/// <li>
/// <p>The <code>Query</code> parameter runs a "prefix" search for users by the <code>GivenName</code>, <code>SurName</code>, or <code>UserName</code> fields included in a <a href="https://docs.aws.amazon.com/workdocs/latest/APIReference/API_CreateUser.html">CreateUser</a> API call. For example, querying on <code>Ma</code> returns Márcia Oliveira, María García, and Mateo Jackson. If you use multiple characters, the API only returns data that matches all characters. For example, querying on <code>Ma J</code> only returns Mateo Jackson.</p></li>
/// </ul>
pub fn set_query(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.query = input;
self
}
/// <p>A query to filter users by user name. Remember the following about the <code>Userids</code> and <code>Query</code> parameters:</p>
/// <ul>
/// <li>
/// <p>If you don't use either parameter, the API returns a paginated list of all users on the site.</p></li>
/// <li>
/// <p>If you use both parameters, the API ignores the <code>Query</code> parameter.</p></li>
/// <li>
/// <p>The <code>Userid</code> parameter only returns user names that match a corresponding user ID.</p></li>
/// <li>
/// <p>The <code>Query</code> parameter runs a "prefix" search for users by the <code>GivenName</code>, <code>SurName</code>, or <code>UserName</code> fields included in a <a href="https://docs.aws.amazon.com/workdocs/latest/APIReference/API_CreateUser.html">CreateUser</a> API call. For example, querying on <code>Ma</code> returns Márcia Oliveira, María García, and Mateo Jackson. If you use multiple characters, the API only returns data that matches all characters. For example, querying on <code>Ma J</code> only returns Mateo Jackson.</p></li>
/// </ul>
pub fn get_query(&self) -> &::std::option::Option<::std::string::String> {
&self.query
}
/// <p>The state of the users. Specify "ALL" to include inactive users.</p>
pub fn include(mut self, input: crate::types::UserFilterType) -> Self {
self.include = ::std::option::Option::Some(input);
self
}
/// <p>The state of the users. Specify "ALL" to include inactive users.</p>
pub fn set_include(mut self, input: ::std::option::Option<crate::types::UserFilterType>) -> Self {
self.include = input;
self
}
/// <p>The state of the users. Specify "ALL" to include inactive users.</p>
pub fn get_include(&self) -> &::std::option::Option<crate::types::UserFilterType> {
&self.include
}
/// <p>The order for the results.</p>
pub fn order(mut self, input: crate::types::OrderType) -> Self {
self.order = ::std::option::Option::Some(input);
self
}
/// <p>The order for the results.</p>
pub fn set_order(mut self, input: ::std::option::Option<crate::types::OrderType>) -> Self {
self.order = input;
self
}
/// <p>The order for the results.</p>
pub fn get_order(&self) -> &::std::option::Option<crate::types::OrderType> {
&self.order
}
/// <p>The sorting criteria.</p>
pub fn sort(mut self, input: crate::types::UserSortType) -> Self {
self.sort = ::std::option::Option::Some(input);
self
}
/// <p>The sorting criteria.</p>
pub fn set_sort(mut self, input: ::std::option::Option<crate::types::UserSortType>) -> Self {
self.sort = input;
self
}
/// <p>The sorting criteria.</p>
pub fn get_sort(&self) -> &::std::option::Option<crate::types::UserSortType> {
&self.sort
}
/// <p>The marker for the next set of results. (You received this marker from a previous call.)</p>
pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.marker = ::std::option::Option::Some(input.into());
self
}
/// <p>The marker for the next set of results. (You received this marker from a previous call.)</p>
pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.marker = input;
self
}
/// <p>The marker for the next set of results. (You received this marker from a previous call.)</p>
pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
&self.marker
}
/// <p>The maximum number of items to return.</p>
pub fn limit(mut self, input: i32) -> Self {
self.limit = ::std::option::Option::Some(input);
self
}
/// <p>The maximum number of items to return.</p>
pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
self.limit = input;
self
}
/// <p>The maximum number of items to return.</p>
pub fn get_limit(&self) -> &::std::option::Option<i32> {
&self.limit
}
/// <p>A comma-separated list of values. Specify "STORAGE_METADATA" to include the user storage quota and utilization information.</p>
pub fn fields(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.fields = ::std::option::Option::Some(input.into());
self
}
/// <p>A comma-separated list of values. Specify "STORAGE_METADATA" to include the user storage quota and utilization information.</p>
pub fn set_fields(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.fields = input;
self
}
/// <p>A comma-separated list of values. Specify "STORAGE_METADATA" to include the user storage quota and utilization information.</p>
pub fn get_fields(&self) -> &::std::option::Option<::std::string::String> {
&self.fields
}
/// Consumes the builder and constructs a [`DescribeUsersInput`](crate::operation::describe_users::DescribeUsersInput).
pub fn build(
self,
) -> ::std::result::Result<crate::operation::describe_users::DescribeUsersInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::describe_users::DescribeUsersInput {
authentication_token: self.authentication_token,
organization_id: self.organization_id,
user_ids: self.user_ids,
query: self.query,
include: self.include,
order: self.order,
sort: self.sort,
marker: self.marker,
limit: self.limit,
fields: self.fields,
})
}
}
impl ::std::fmt::Debug for DescribeUsersInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("DescribeUsersInputBuilder");
formatter.field("authentication_token", &"*** Sensitive Data Redacted ***");
formatter.field("organization_id", &self.organization_id);
formatter.field("user_ids", &self.user_ids);
formatter.field("query", &"*** Sensitive Data Redacted ***");
formatter.field("include", &self.include);
formatter.field("order", &self.order);
formatter.field("sort", &self.sort);
formatter.field("marker", &self.marker);
formatter.field("limit", &self.limit);
formatter.field("fields", &self.fields);
formatter.finish()
}
}