// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ModifyFpgaImageAttribute`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`dry_run(bool)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_dry_run):<br>required: **false**<br><p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
/// - [`fpga_image_id(impl Into<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::fpga_image_id) / [`set_fpga_image_id(Option<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_fpga_image_id):<br>required: **true**<br><p>The ID of the AFI.</p><br>
/// - [`attribute(FpgaImageAttributeName)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::attribute) / [`set_attribute(Option<FpgaImageAttributeName>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_attribute):<br>required: **false**<br><p>The name of the attribute.</p><br>
/// - [`operation_type(OperationType)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::operation_type) / [`set_operation_type(Option<OperationType>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_operation_type):<br>required: **false**<br><p>The operation type.</p><br>
/// - [`user_ids(impl Into<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::user_ids) / [`set_user_ids(Option<Vec::<String>>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_user_ids):<br>required: **false**<br><p>The Amazon Web Services account IDs. This parameter is valid only when modifying the <code>loadPermission</code> attribute.</p><br>
/// - [`user_groups(impl Into<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::user_groups) / [`set_user_groups(Option<Vec::<String>>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_user_groups):<br>required: **false**<br><p>The user groups. This parameter is valid only when modifying the <code>loadPermission</code> attribute.</p><br>
/// - [`product_codes(impl Into<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::product_codes) / [`set_product_codes(Option<Vec::<String>>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_product_codes):<br>required: **false**<br><p>The product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the <code>productCodes</code> attribute.</p><br>
/// - [`load_permission(LoadPermissionModifications)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::load_permission) / [`set_load_permission(Option<LoadPermissionModifications>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_load_permission):<br>required: **false**<br><p>The load permission for the AFI.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_description):<br>required: **false**<br><p>A description for the AFI.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::set_name):<br>required: **false**<br><p>A name for the AFI.</p><br>
/// - On success, responds with [`ModifyFpgaImageAttributeOutput`](crate::operation::modify_fpga_image_attribute::ModifyFpgaImageAttributeOutput) with field(s):
/// - [`fpga_image_attribute(Option<FpgaImageAttribute>)`](crate::operation::modify_fpga_image_attribute::ModifyFpgaImageAttributeOutput::fpga_image_attribute): <p>Information about the attribute.</p>
/// - On failure, responds with [`SdkError<ModifyFpgaImageAttributeError>`](crate::operation::modify_fpga_image_attribute::ModifyFpgaImageAttributeError)
pub fn modify_fpga_image_attribute(&self) -> crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder {
crate::operation::modify_fpga_image_attribute::builders::ModifyFpgaImageAttributeFluentBuilder::new(self.handle.clone())
}
}