// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateCrossAccountAttachment`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`attachment_arn(impl Into<String>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::attachment_arn) / [`set_attachment_arn(Option<String>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::set_attachment_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the cross-account attachment to update.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::set_name):<br>required: **false**<br><p>The name of the cross-account attachment.</p><br>
/// - [`add_principals(impl Into<String>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::add_principals) / [`set_add_principals(Option<Vec::<String>>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::set_add_principals):<br>required: **false**<br><p>The principals to add to the cross-account attachment. A principal is an account or the Amazon Resource Name (ARN) of an accelerator that the attachment gives permission to work with resources from another account. The resources are also listed in the attachment.</p> <p>To add more than one principal, separate the account numbers or accelerator ARNs, or both, with commas.</p><br>
/// - [`remove_principals(impl Into<String>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::remove_principals) / [`set_remove_principals(Option<Vec::<String>>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::set_remove_principals):<br>required: **false**<br><p>The principals to remove from the cross-account attachment. A principal is an account or the Amazon Resource Name (ARN) of an accelerator that the attachment gives permission to work with resources from another account. The resources are also listed in the attachment.</p> <p>To remove more than one principal, separate the account numbers or accelerator ARNs, or both, with commas.</p><br>
/// - [`add_resources(Resource)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::add_resources) / [`set_add_resources(Option<Vec::<Resource>>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::set_add_resources):<br>required: **false**<br><p>The resources to add to the cross-account attachment. A resource listed in a cross-account attachment can be used with an accelerator by the principals that are listed in the attachment.</p> <p>To add more than one resource, separate the resource ARNs with commas.</p><br>
/// - [`remove_resources(Resource)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::remove_resources) / [`set_remove_resources(Option<Vec::<Resource>>)`](crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::set_remove_resources):<br>required: **false**<br><p>The resources to remove from the cross-account attachment. A resource listed in a cross-account attachment can be used with an accelerator by the principals that are listed in the attachment.</p> <p>To remove more than one resource, separate the resource ARNs with commas.</p><br>
/// - On success, responds with [`UpdateCrossAccountAttachmentOutput`](crate::operation::update_cross_account_attachment::UpdateCrossAccountAttachmentOutput) with field(s):
/// - [`cross_account_attachment(Option<Attachment>)`](crate::operation::update_cross_account_attachment::UpdateCrossAccountAttachmentOutput::cross_account_attachment): <p>Information about the updated cross-account attachment.</p>
/// - On failure, responds with [`SdkError<UpdateCrossAccountAttachmentError>`](crate::operation::update_cross_account_attachment::UpdateCrossAccountAttachmentError)
pub fn update_cross_account_attachment(
&self,
) -> crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder {
crate::operation::update_cross_account_attachment::builders::UpdateCrossAccountAttachmentFluentBuilder::new(self.handle.clone())
}
}