All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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