aws_sdk_ec2/client/
modify_instance_metadata_options.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 [`ModifyInstanceMetadataOptions`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`instance_id(impl Into<String>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::set_instance_id):<br>required: **true**<br><p>The ID of the instance.</p><br>
7    ///   - [`http_tokens(HttpTokensState)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::http_tokens) / [`set_http_tokens(Option<HttpTokensState>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::set_http_tokens):<br>required: **false**<br><p>Indicates whether IMDSv2 is required.</p> <ul>  <li>   <p><code>optional</code> - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.</p></li>  <li>   <p><code>required</code> - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.</p></li> </ul> <p>Default:</p> <ul>  <li>   <p>If the value of <code>ImdsSupport</code> for the Amazon Machine Image (AMI) for your instance is <code>v2.0</code> and the account level default is set to <code>no-preference</code>, the default is <code>required</code>.</p></li>  <li>   <p>If the value of <code>ImdsSupport</code> for the Amazon Machine Image (AMI) for your instance is <code>v2.0</code>, but the account level default is set to <code>V1 or V2</code>, the default is <code>optional</code>.</p></li> </ul> <p>The default value can also be affected by other combinations of parameters. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html#instance-metadata-options-order-of-precedence">Order of precedence for instance metadata options</a> in the <i>Amazon EC2 User Guide</i>.</p><br>
8    ///   - [`http_put_response_hop_limit(i32)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::http_put_response_hop_limit) / [`set_http_put_response_hop_limit(Option<i32>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::set_http_put_response_hop_limit):<br>required: **false**<br><p>The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.</p> <p>Possible values: Integers from 1 to 64</p><br>
9    ///   - [`http_endpoint(InstanceMetadataEndpointState)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::http_endpoint) / [`set_http_endpoint(Option<InstanceMetadataEndpointState>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::set_http_endpoint):<br>required: **false**<br><p>Enables or disables the HTTP metadata endpoint on your instances. If this parameter is not specified, the existing state is maintained.</p> <p>If you specify a value of <code>disabled</code>, you cannot access your instance metadata.</p><br>
10    ///   - [`dry_run(bool)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::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>
11    ///   - [`http_protocol_ipv6(InstanceMetadataProtocolState)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::http_protocol_ipv6) / [`set_http_protocol_ipv6(Option<InstanceMetadataProtocolState>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::set_http_protocol_ipv6):<br>required: **false**<br><p>Enables or disables the IPv6 endpoint for the instance metadata service. Applies only if you enabled the HTTP metadata endpoint.</p><br>
12    ///   - [`instance_metadata_tags(InstanceMetadataTagsState)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::instance_metadata_tags) / [`set_instance_metadata_tags(Option<InstanceMetadataTagsState>)`](crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::set_instance_metadata_tags):<br>required: **false**<br><p>Set to <code>enabled</code> to allow access to instance tags from the instance metadata. Set to <code>disabled</code> to turn off access to instance tags from the instance metadata. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS">Work with instance tags using the instance metadata</a>.</p><br>
13    /// - On success, responds with [`ModifyInstanceMetadataOptionsOutput`](crate::operation::modify_instance_metadata_options::ModifyInstanceMetadataOptionsOutput) with field(s):
14    ///   - [`instance_id(Option<String>)`](crate::operation::modify_instance_metadata_options::ModifyInstanceMetadataOptionsOutput::instance_id): <p>The ID of the instance.</p>
15    ///   - [`instance_metadata_options(Option<InstanceMetadataOptionsResponse>)`](crate::operation::modify_instance_metadata_options::ModifyInstanceMetadataOptionsOutput::instance_metadata_options): <p>The metadata options for the instance.</p>
16    /// - On failure, responds with [`SdkError<ModifyInstanceMetadataOptionsError>`](crate::operation::modify_instance_metadata_options::ModifyInstanceMetadataOptionsError)
17    pub fn modify_instance_metadata_options(
18        &self,
19    ) -> crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder {
20        crate::operation::modify_instance_metadata_options::builders::ModifyInstanceMetadataOptionsFluentBuilder::new(self.handle.clone())
21    }
22}