// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateTopicPermissions`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`aws_account_id(impl Into<String>)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::aws_account_id) / [`set_aws_account_id(Option<String>)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::set_aws_account_id):<br>required: **true**<br><p>The ID of the Amazon Web Services account that contains the topic that you want to update the permissions for.</p><br>
/// - [`topic_id(impl Into<String>)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::topic_id) / [`set_topic_id(Option<String>)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::set_topic_id):<br>required: **true**<br><p>The ID of the topic that you want to modify. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p><br>
/// - [`grant_permissions(ResourcePermission)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::grant_permissions) / [`set_grant_permissions(Option<Vec::<ResourcePermission>>)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::set_grant_permissions):<br>required: **false**<br><p>The resource permissions that you want to grant to the topic.</p><br>
/// - [`revoke_permissions(ResourcePermission)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::revoke_permissions) / [`set_revoke_permissions(Option<Vec::<ResourcePermission>>)`](crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::set_revoke_permissions):<br>required: **false**<br><p>The resource permissions that you want to revoke from the topic.</p><br>
/// - On success, responds with [`UpdateTopicPermissionsOutput`](crate::operation::update_topic_permissions::UpdateTopicPermissionsOutput) with field(s):
/// - [`topic_id(Option<String>)`](crate::operation::update_topic_permissions::UpdateTopicPermissionsOutput::topic_id): <p>The ID of the topic that you want to modify. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.</p>
/// - [`topic_arn(Option<String>)`](crate::operation::update_topic_permissions::UpdateTopicPermissionsOutput::topic_arn): <p>The Amazon Resource Name (ARN) of the topic.</p>
/// - [`permissions(Option<Vec::<ResourcePermission>>)`](crate::operation::update_topic_permissions::UpdateTopicPermissionsOutput::permissions): <p>A list of resource permissions on the topic.</p>
/// - [`status(i32)`](crate::operation::update_topic_permissions::UpdateTopicPermissionsOutput::status): <p>The HTTP status of the request.</p>
/// - [`request_id(Option<String>)`](crate::operation::update_topic_permissions::UpdateTopicPermissionsOutput::request_id): <p>The Amazon Web Services request ID for this operation.</p>
/// - On failure, responds with [`SdkError<UpdateTopicPermissionsError>`](crate::operation::update_topic_permissions::UpdateTopicPermissionsError)
pub fn update_topic_permissions(&self) -> crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder {
crate::operation::update_topic_permissions::builders::UpdateTopicPermissionsFluentBuilder::new(self.handle.clone())
}
}