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}