// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutGroup`](crate::operation::put_group::builders::PutGroupFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`application_id(impl Into<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::set_application_id):<br>required: **true**<br><p>The identifier of the application in which the user and group mapping belongs.</p><br>
/// - [`index_id(impl Into<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::index_id) / [`set_index_id(Option<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::set_index_id):<br>required: **true**<br><p>The identifier of the index in which you want to map users to their groups.</p><br>
/// - [`group_name(impl Into<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::group_name) / [`set_group_name(Option<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::set_group_name):<br>required: **true**<br><p>The list that contains your users or sub groups that belong the same group. For example, the group "Company" includes the user "CEO" and the sub groups "Research", "Engineering", and "Sales and Marketing".</p><br>
/// - [`data_source_id(impl Into<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::data_source_id) / [`set_data_source_id(Option<String>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::set_data_source_id):<br>required: **false**<br><p>The identifier of the data source for which you want to map users to their groups. This is useful if a group is tied to multiple data sources, but you only want the group to access documents of a certain data source. For example, the groups "Research", "Engineering", and "Sales and Marketing" are all tied to the company's documents stored in the data sources Confluence and Salesforce. However, "Sales and Marketing" team only needs access to customer-related documents stored in Salesforce.</p><br>
/// - [`r#type(MembershipType)`](crate::operation::put_group::builders::PutGroupFluentBuilder::type) / [`set_type(Option<MembershipType>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::set_type):<br>required: **true**<br><p>The type of the group.</p><br>
/// - [`group_members(GroupMembers)`](crate::operation::put_group::builders::PutGroupFluentBuilder::group_members) / [`set_group_members(Option<GroupMembers>)`](crate::operation::put_group::builders::PutGroupFluentBuilder::set_group_members):<br>required: **true**<br><p>A list of users or sub groups that belong to a group. This is for generating Amazon Q Business chat results only from document a user has access to.</p><br>
/// - On success, responds with [`PutGroupOutput`](crate::operation::put_group::PutGroupOutput)
/// - On failure, responds with [`SdkError<PutGroupError>`](crate::operation::put_group::PutGroupError)
pub fn put_group(&self) -> crate::operation::put_group::builders::PutGroupFluentBuilder {
crate::operation::put_group::builders::PutGroupFluentBuilder::new(self.handle.clone())
}
}