aws_sdk_ec2/client/
modify_image_attribute.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`ModifyImageAttribute`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`attribute(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::attribute) / [`set_attribute(Option<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_attribute):<br>required: **false**<br><p>The name of the attribute to modify.</p> <p>Valid values: <code>description</code> | <code>imdsSupport</code> | <code>launchPermission</code></p><br>
7    ///   - [`description(AttributeValue)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::description) / [`set_description(Option<AttributeValue>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_description):<br>required: **false**<br><p>A new description for the AMI.</p><br>
8    ///   - [`image_id(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::image_id) / [`set_image_id(Option<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_image_id):<br>required: **true**<br><p>The ID of the AMI.</p><br>
9    ///   - [`launch_permission(LaunchPermissionModifications)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::launch_permission) / [`set_launch_permission(Option<LaunchPermissionModifications>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_launch_permission):<br>required: **false**<br><p>A new launch permission for the AMI.</p><br>
10    ///   - [`operation_type(OperationType)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::operation_type) / [`set_operation_type(Option<OperationType>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_operation_type):<br>required: **false**<br><p>The operation type. This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p><br>
11    ///   - [`product_codes(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::product_codes) / [`set_product_codes(Option<Vec::<String>>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_product_codes):<br>required: **false**<br><p>Not supported.</p><br>
12    ///   - [`user_groups(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::user_groups) / [`set_user_groups(Option<Vec::<String>>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_user_groups):<br>required: **false**<br><p>The user groups. This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p><br>
13    ///   - [`user_ids(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::user_ids) / [`set_user_ids(Option<Vec::<String>>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_user_ids):<br>required: **false**<br><p>The Amazon Web Services account IDs. This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p><br>
14    ///   - [`value(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::value) / [`set_value(Option<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_value):<br>required: **false**<br><p>The value of the attribute being modified. This parameter can be used only when the <code>Attribute</code> parameter is <code>description</code> or <code>imdsSupport</code>.</p><br>
15    ///   - [`organization_arns(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::organization_arns) / [`set_organization_arns(Option<Vec::<String>>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_organization_arns):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p><br>
16    ///   - [`organizational_unit_arns(impl Into<String>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::organizational_unit_arns) / [`set_organizational_unit_arns(Option<Vec::<String>>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_organizational_unit_arns):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p><br>
17    ///   - [`imds_support(AttributeValue)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::imds_support) / [`set_imds_support(Option<AttributeValue>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::set_imds_support):<br>required: **false**<br><p>Set to <code>v2.0</code> to indicate that IMDSv2 is specified in the AMI. Instances launched from this AMI will have <code>HttpTokens</code> automatically set to <code>required</code> so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, <code>HttpPutResponseHopLimit</code> is set to <code>2</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration">Configure the AMI</a> in the <i>Amazon EC2 User Guide</i>.</p><important>  <p>Do not use this parameter unless your AMI software supports IMDSv2. After you set the value to <code>v2.0</code>, you can't undo it. The only way to “reset” your AMI is to create a new AMI from the underlying snapshot.</p> </important><br>
18    ///   - [`dry_run(bool)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::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>
19    /// - On success, responds with [`ModifyImageAttributeOutput`](crate::operation::modify_image_attribute::ModifyImageAttributeOutput)
20    /// - On failure, responds with [`SdkError<ModifyImageAttributeError>`](crate::operation::modify_image_attribute::ModifyImageAttributeError)
21    pub fn modify_image_attribute(&self) -> crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder {
22        crate::operation::modify_image_attribute::builders::ModifyImageAttributeFluentBuilder::new(self.handle.clone())
23    }
24}