/**
* 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
The state of the metadata option changes.
pending
- The
* metadata options are being updated and the instance is not ready to process
* metadata traffic with the new selection.
applied
- The
* metadata options have been successfully applied on the instance.
The state of the metadata option changes.
pending
- The
* metadata options are being updated and the instance is not ready to process
* metadata traffic with the new selection.
applied
- The
* metadata options have been successfully applied on the instance.
The state of the metadata option changes.
pending
- The
* metadata options are being updated and the instance is not ready to process
* metadata traffic with the new selection.
applied
- The
* metadata options have been successfully applied on the instance.
The state of the metadata option changes.
pending
- The
* metadata options are being updated and the instance is not ready to process
* metadata traffic with the new selection.
applied
- The
* metadata options have been successfully applied on the instance.
The state of the metadata option changes.
pending
- The
* metadata options are being updated and the instance is not ready to process
* metadata traffic with the new selection.
applied
- The
* metadata options have been successfully applied on the instance.
The state of the metadata option changes.
pending
- The
* metadata options are being updated and the instance is not ready to process
* metadata traffic with the new selection.
applied
- The
* metadata options have been successfully applied on the instance.
IMDSv2 uses token-backed sessions. Indicates whether the use of HTTP tokens
* is optional
(in other words, indicates whether the use of IMDSv2 is
* optional
) or required
(in other words, indicates
* whether the use of IMDSv2 is 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. Indicates whether the use of HTTP tokens
* is optional
(in other words, indicates whether the use of IMDSv2 is
* optional
) or required
(in other words, indicates
* whether the use of IMDSv2 is 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. Indicates whether the use of HTTP tokens
* is optional
(in other words, indicates whether the use of IMDSv2 is
* optional
) or required
(in other words, indicates
* whether the use of IMDSv2 is 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. Indicates whether the use of HTTP tokens
* is optional
(in other words, indicates whether the use of IMDSv2 is
* optional
) or required
(in other words, indicates
* whether the use of IMDSv2 is 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. Indicates whether the use of HTTP tokens
* is optional
(in other words, indicates whether the use of IMDSv2 is
* optional
) or required
(in other words, indicates
* whether the use of IMDSv2 is 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. Indicates whether the use of HTTP tokens
* is optional
(in other words, indicates whether the use of IMDSv2 is
* optional
) or required
(in other words, indicates
* whether the use of IMDSv2 is 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 InstanceMetadataOptionsResponse& WithHttpPutResponseHopLimit(int value) { SetHttpPutResponseHopLimit(value); return *this;} /** *Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
If the value is disabled
, you cannot access your
* instance metadata.
Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
If the value is disabled
, you cannot access your
* instance metadata.
Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
If the value is disabled
, you cannot access your
* instance metadata.
Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
If the value is disabled
, you cannot access your
* instance metadata.
Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
If the value is disabled
, you cannot access your
* instance metadata.
Indicates whether the HTTP metadata endpoint on your instances is enabled or * disabled.
If the value is disabled
, you cannot access your
* instance metadata.
Indicates whether the IPv6 endpoint for the instance metadata service is * enabled or disabled.
*/ inline const InstanceMetadataProtocolState& GetHttpProtocolIpv6() const{ return m_httpProtocolIpv6; } /** *Indicates whether the IPv6 endpoint for the instance metadata service is * enabled or disabled.
*/ inline bool HttpProtocolIpv6HasBeenSet() const { return m_httpProtocolIpv6HasBeenSet; } /** *Indicates whether the IPv6 endpoint for the instance metadata service is * enabled or disabled.
*/ inline void SetHttpProtocolIpv6(const InstanceMetadataProtocolState& value) { m_httpProtocolIpv6HasBeenSet = true; m_httpProtocolIpv6 = value; } /** *Indicates whether the IPv6 endpoint for the instance metadata service is * enabled or disabled.
*/ inline void SetHttpProtocolIpv6(InstanceMetadataProtocolState&& value) { m_httpProtocolIpv6HasBeenSet = true; m_httpProtocolIpv6 = std::move(value); } /** *Indicates whether the IPv6 endpoint for the instance metadata service is * enabled or disabled.
*/ inline InstanceMetadataOptionsResponse& WithHttpProtocolIpv6(const InstanceMetadataProtocolState& value) { SetHttpProtocolIpv6(value); return *this;} /** *Indicates whether the IPv6 endpoint for the instance metadata service is * enabled or disabled.
*/ inline InstanceMetadataOptionsResponse& WithHttpProtocolIpv6(InstanceMetadataProtocolState&& value) { SetHttpProtocolIpv6(std::move(value)); return *this;} /** *Indicates whether access to instance tags from the instance metadata is * enabled or disabled. For more information, see Work * with instance tags using the instance metadata.
*/ inline const InstanceMetadataTagsState& GetInstanceMetadataTags() const{ return m_instanceMetadataTags; } /** *Indicates whether access to instance tags from the instance metadata is * enabled or disabled. For more information, see Work * with instance tags using the instance metadata.
*/ inline bool InstanceMetadataTagsHasBeenSet() const { return m_instanceMetadataTagsHasBeenSet; } /** *Indicates whether access to instance tags from the instance metadata is * enabled or disabled. For more information, see Work * with instance tags using the instance metadata.
*/ inline void SetInstanceMetadataTags(const InstanceMetadataTagsState& value) { m_instanceMetadataTagsHasBeenSet = true; m_instanceMetadataTags = value; } /** *Indicates whether access to instance tags from the instance metadata is * enabled or disabled. For more information, see Work * with instance tags using the instance metadata.
*/ inline void SetInstanceMetadataTags(InstanceMetadataTagsState&& value) { m_instanceMetadataTagsHasBeenSet = true; m_instanceMetadataTags = std::move(value); } /** *Indicates whether access to instance tags from the instance metadata is * enabled or disabled. For more information, see Work * with instance tags using the instance metadata.
*/ inline InstanceMetadataOptionsResponse& WithInstanceMetadataTags(const InstanceMetadataTagsState& value) { SetInstanceMetadataTags(value); return *this;} /** *Indicates whether access to instance tags from the instance metadata is * enabled or disabled. For more information, see Work * with instance tags using the instance metadata.
*/ inline InstanceMetadataOptionsResponse& WithInstanceMetadataTags(InstanceMetadataTagsState&& value) { SetInstanceMetadataTags(std::move(value)); return *this;} private: InstanceMetadataOptionsState m_state; bool m_stateHasBeenSet = false; HttpTokensState m_httpTokens; bool m_httpTokensHasBeenSet = false; int m_httpPutResponseHopLimit; bool m_httpPutResponseHopLimitHasBeenSet = false; InstanceMetadataEndpointState m_httpEndpoint; bool m_httpEndpointHasBeenSet = false; InstanceMetadataProtocolState m_httpProtocolIpv6; bool m_httpProtocolIpv6HasBeenSet = false; InstanceMetadataTagsState m_instanceMetadataTags; bool m_instanceMetadataTagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws