// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ReplacePermissionAssociations`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`from_permission_arn(impl Into<String>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::from_permission_arn) / [`set_from_permission_arn(Option<String>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::set_from_permission_arn):<br>required: **true**<br><p>Specifies the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Name (ARN)</a> of the managed permission that you want to replace.</p><br>
/// - [`from_permission_version(i32)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::from_permission_version) / [`set_from_permission_version(Option<i32>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::set_from_permission_version):<br>required: **false**<br><p>Specifies that you want to updated the permissions for only those resource shares that use the specified version of the managed permission.</p><br>
/// - [`to_permission_arn(impl Into<String>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::to_permission_arn) / [`set_to_permission_arn(Option<String>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::set_to_permission_arn):<br>required: **true**<br><p>Specifies the ARN of the managed permission that you want to associate with resource shares in place of the one specified by <code>fromPerssionArn</code> and <code>fromPermissionVersion</code>.</p> <p>The operation always associates the version that is currently the default for the specified managed permission.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::set_client_token):<br>required: **false**<br><p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value.</a>.</p> <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p> <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p><br>
/// - On success, responds with [`ReplacePermissionAssociationsOutput`](crate::operation::replace_permission_associations::ReplacePermissionAssociationsOutput) with field(s):
/// - [`replace_permission_associations_work(Option<ReplacePermissionAssociationsWork>)`](crate::operation::replace_permission_associations::ReplacePermissionAssociationsOutput::replace_permission_associations_work): <p>Specifies a data structure that you can use to track the asynchronous tasks that RAM performs to complete this operation. You can use the <code>ListReplacePermissionAssociationsWork</code> operation and pass the <code>id</code> value returned in this structure.</p>
/// - [`client_token(Option<String>)`](crate::operation::replace_permission_associations::ReplacePermissionAssociationsOutput::client_token): <p>The idempotency identifier associated with this request. If you want to repeat the same operation in an idempotent manner then you must include this value in the <code>clientToken</code> request parameter of that later call. All other parameters must also have the same values that you used in the first call.</p>
/// - On failure, responds with [`SdkError<ReplacePermissionAssociationsError>`](crate::operation::replace_permission_associations::ReplacePermissionAssociationsError)
pub fn replace_permission_associations(
&self,
) -> crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder {
crate::operation::replace_permission_associations::builders::ReplacePermissionAssociationsFluentBuilder::new(self.handle.clone())
}
}