![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.ec2.kotlin.outputs.LaunchTemplateMetadataOptions.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ec2.kotlin.outputs
import kotlin.Int
import kotlin.String
import kotlin.Suppress
/**
* The metadata options for the instance. For more information, see [Instance metadata and user data](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) in the *Amazon EC2 User Guide*.
* ``MetadataOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).
* @property httpEndpoint Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is ``enabled``.
* If you specify a value of ``disabled``, you will not be able to access your instance metadata.
* @property httpProtocolIpv6 Enables or disables the IPv6 endpoint for the instance metadata service.
* Default: ``disabled``
* @property 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
* @property httpTokens Indicates whether IMDSv2 is required.
* + ``optional`` - 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.
* + ``required`` - 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.
* Default: If the value of ``ImdsSupport`` for the Amazon Machine Image (AMI) for your instance is ``v2.0``, the default is ``required``.
* @property instanceMetadataTags 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS).
* Default: ``disabled``
*/
public data class LaunchTemplateMetadataOptions(
public val httpEndpoint: String? = null,
public val httpProtocolIpv6: String? = null,
public val httpPutResponseHopLimit: Int? = null,
public val httpTokens: String? = null,
public val instanceMetadataTags: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.ec2.outputs.LaunchTemplateMetadataOptions): LaunchTemplateMetadataOptions = LaunchTemplateMetadataOptions(
httpEndpoint = javaType.httpEndpoint().map({ args0 -> args0 }).orElse(null),
httpProtocolIpv6 = javaType.httpProtocolIpv6().map({ args0 -> args0 }).orElse(null),
httpPutResponseHopLimit = javaType.httpPutResponseHopLimit().map({ args0 -> args0 }).orElse(null),
httpTokens = javaType.httpTokens().map({ args0 -> args0 }).orElse(null),
instanceMetadataTags = javaType.instanceMetadataTags().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy