/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The metadata options for the instance.See Also:
AWS
* API Reference
IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to
* optional
(in other words, set the use of IMDSv2 to
* optional
) or required
(in other words, set the use of
* IMDSv2 to required
).
optional
- When
* IMDSv2 is optional, you can choose to retrieve instance metadata with or without
* a session token in your request. If you retrieve the IAM role credentials
* without a token, the IMDSv1 role credentials are returned. If you retrieve the
* IAM role credentials using a valid session token, the IMDSv2 role credentials
* are returned.
required
- When IMDSv2 is
* required, you must send a session token with any instance metadata retrieval
* requests. In this state, retrieving the IAM role credentials always returns
* IMDSv2 credentials; IMDSv1 credentials are not available.
Default: optional
IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to
* optional
(in other words, set the use of IMDSv2 to
* optional
) or required
(in other words, set the use of
* IMDSv2 to required
).
optional
- When
* IMDSv2 is optional, you can choose to retrieve instance metadata with or without
* a session token in your request. If you retrieve the IAM role credentials
* without a token, the IMDSv1 role credentials are returned. If you retrieve the
* IAM role credentials using a valid session token, the IMDSv2 role credentials
* are returned.
required
- When IMDSv2 is
* required, you must send a session token with any instance metadata retrieval
* requests. In this state, retrieving the IAM role credentials always returns
* IMDSv2 credentials; IMDSv1 credentials are not available.
Default: optional
IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to
* optional
(in other words, set the use of IMDSv2 to
* optional
) or required
(in other words, set the use of
* IMDSv2 to required
).
optional
- When
* IMDSv2 is optional, you can choose to retrieve instance metadata with or without
* a session token in your request. If you retrieve the IAM role credentials
* without a token, the IMDSv1 role credentials are returned. If you retrieve the
* IAM role credentials using a valid session token, the IMDSv2 role credentials
* are returned.
required
- When IMDSv2 is
* required, you must send a session token with any instance metadata retrieval
* requests. In this state, retrieving the IAM role credentials always returns
* IMDSv2 credentials; IMDSv1 credentials are not available.
Default: optional
IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to
* optional
(in other words, set the use of IMDSv2 to
* optional
) or required
(in other words, set the use of
* IMDSv2 to required
).
optional
- When
* IMDSv2 is optional, you can choose to retrieve instance metadata with or without
* a session token in your request. If you retrieve the IAM role credentials
* without a token, the IMDSv1 role credentials are returned. If you retrieve the
* IAM role credentials using a valid session token, the IMDSv2 role credentials
* are returned.
required
- When IMDSv2 is
* required, you must send a session token with any instance metadata retrieval
* requests. In this state, retrieving the IAM role credentials always returns
* IMDSv2 credentials; IMDSv1 credentials are not available.
Default: optional
IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to
* optional
(in other words, set the use of IMDSv2 to
* optional
) or required
(in other words, set the use of
* IMDSv2 to required
).
optional
- When
* IMDSv2 is optional, you can choose to retrieve instance metadata with or without
* a session token in your request. If you retrieve the IAM role credentials
* without a token, the IMDSv1 role credentials are returned. If you retrieve the
* IAM role credentials using a valid session token, the IMDSv2 role credentials
* are returned.
required
- When IMDSv2 is
* required, you must send a session token with any instance metadata retrieval
* requests. In this state, retrieving the IAM role credentials always returns
* IMDSv2 credentials; IMDSv1 credentials are not available.
Default: optional
IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to
* optional
(in other words, set the use of IMDSv2 to
* optional
) or required
(in other words, set the use of
* IMDSv2 to required
).
optional
- When
* IMDSv2 is optional, you can choose to retrieve instance metadata with or without
* a session token in your request. If you retrieve the IAM role credentials
* without a token, the IMDSv1 role credentials are returned. If you retrieve the
* IAM role credentials using a valid session token, the IMDSv2 role credentials
* are returned.
required
- When IMDSv2 is
* required, you must send a session token with any instance metadata retrieval
* requests. In this state, retrieving the IAM role credentials always returns
* IMDSv2 credentials; IMDSv1 credentials are not available.
Default: optional
The desired HTTP PUT response hop limit for instance metadata requests. The * larger the number, the further instance metadata requests can travel.
*Default: 1
Possible values: Integers from 1 to 64
*/ inline int GetHttpPutResponseHopLimit() const{ return m_httpPutResponseHopLimit; } /** *The desired HTTP PUT response hop limit for instance metadata requests. The * larger the number, the further instance metadata requests can travel.
*Default: 1
Possible values: Integers from 1 to 64
*/ inline bool HttpPutResponseHopLimitHasBeenSet() const { return m_httpPutResponseHopLimitHasBeenSet; } /** *The desired HTTP PUT response hop limit for instance metadata requests. The * larger the number, the further instance metadata requests can travel.
*Default: 1
Possible values: Integers from 1 to 64
*/ inline void SetHttpPutResponseHopLimit(int value) { m_httpPutResponseHopLimitHasBeenSet = true; m_httpPutResponseHopLimit = value; } /** *The desired HTTP PUT response hop limit for instance metadata requests. The * larger the number, the further instance metadata requests can travel.
*Default: 1
Possible values: Integers from 1 to 64
*/ inline InstanceMetadataOptionsRequest& WithHttpPutResponseHopLimit(int value) { SetHttpPutResponseHopLimit(value); return *this;} /** *Enables or disables the HTTP metadata endpoint on your instances.
If
* you specify a value of disabled
, you cannot access your instance
* metadata.
Default: enabled
Enables or disables the HTTP metadata endpoint on your instances.
If
* you specify a value of disabled
, you cannot access your instance
* metadata.
Default: enabled
Enables or disables the HTTP metadata endpoint on your instances.
If
* you specify a value of disabled
, you cannot access your instance
* metadata.
Default: enabled
Enables or disables the HTTP metadata endpoint on your instances.
If
* you specify a value of disabled
, you cannot access your instance
* metadata.
Default: enabled
Enables or disables the HTTP metadata endpoint on your instances.
If
* you specify a value of disabled
, you cannot access your instance
* metadata.
Default: enabled
Enables or disables the HTTP metadata endpoint on your instances.
If
* you specify a value of disabled
, you cannot access your instance
* metadata.
Default: enabled
Enables or disables the IPv6 endpoint for the instance metadata service.
*/ inline const InstanceMetadataProtocolState& GetHttpProtocolIpv6() const{ return m_httpProtocolIpv6; } /** *Enables or disables the IPv6 endpoint for the instance metadata service.
*/ inline bool HttpProtocolIpv6HasBeenSet() const { return m_httpProtocolIpv6HasBeenSet; } /** *Enables or disables the IPv6 endpoint for the instance metadata service.
*/ inline void SetHttpProtocolIpv6(const InstanceMetadataProtocolState& value) { m_httpProtocolIpv6HasBeenSet = true; m_httpProtocolIpv6 = value; } /** *Enables or disables the IPv6 endpoint for the instance metadata service.
*/ inline void SetHttpProtocolIpv6(InstanceMetadataProtocolState&& value) { m_httpProtocolIpv6HasBeenSet = true; m_httpProtocolIpv6 = std::move(value); } /** *Enables or disables the IPv6 endpoint for the instance metadata service.
*/ inline InstanceMetadataOptionsRequest& WithHttpProtocolIpv6(const InstanceMetadataProtocolState& value) { SetHttpProtocolIpv6(value); return *this;} /** *Enables or disables the IPv6 endpoint for the instance metadata service.
*/ inline InstanceMetadataOptionsRequest& WithHttpProtocolIpv6(InstanceMetadataProtocolState&& value) { SetHttpProtocolIpv6(std::move(value)); return *this;} /** *Set to enabled
to allow access to instance tags from the
* instance metadata. Set to disabled
to turn off access to instance
* tags from the instance metadata. For more information, see Work
* with instance tags using the instance metadata.
Default:
* disabled
Set to enabled
to allow access to instance tags from the
* instance metadata. Set to disabled
to turn off access to instance
* tags from the instance metadata. For more information, see Work
* with instance tags using the instance metadata.
Default:
* disabled
Set to enabled
to allow access to instance tags from the
* instance metadata. Set to disabled
to turn off access to instance
* tags from the instance metadata. For more information, see Work
* with instance tags using the instance metadata.
Default:
* disabled
Set to enabled
to allow access to instance tags from the
* instance metadata. Set to disabled
to turn off access to instance
* tags from the instance metadata. For more information, see Work
* with instance tags using the instance metadata.
Default:
* disabled
Set to enabled
to allow access to instance tags from the
* instance metadata. Set to disabled
to turn off access to instance
* tags from the instance metadata. For more information, see Work
* with instance tags using the instance metadata.
Default:
* disabled
Set to enabled
to allow access to instance tags from the
* instance metadata. Set to disabled
to turn off access to instance
* tags from the instance metadata. For more information, see Work
* with instance tags using the instance metadata.
Default:
* disabled