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

com.pulumi.awsnative.autoscaling.kotlin.outputs.AutoScalingGroupLaunchTemplateSpecification.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.autoscaling.kotlin.outputs

import kotlin.String
import kotlin.Suppress

/**
 * Specifies a launch template to use when provisioning EC2 instances for an Auto Scaling group.
 *  You must specify the following:
 *   +  The ID or the name of the launch template, but not both.
 *   +  The version of the launch template.
 *   ``LaunchTemplateSpecification`` is property of the [AWS::AutoScaling::AutoScalingGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html) resource. It is also a property of the [AWS::AutoScaling::AutoScalingGroup LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplate.html) and [AWS::AutoScaling::AutoScalingGroup LaunchTemplateOverrides](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplateoverrides.html) property types.
 *  For information about creating a launch template, see [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) and [Create a launch template for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) in the *Amazon EC2 Auto Scaling User Guide*.
 *  For examples of launch templates, see [Create launch templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ec2-launch-templates.html).
 * @property launchTemplateId The ID of the launch template.
 *  You must specify the ``LaunchTemplateID`` or the ``LaunchTemplateName``, but not both.
 * @property launchTemplateName The name of the launch template.
 *  You must specify the ``LaunchTemplateName`` or the ``LaunchTemplateID``, but not both.
 * @property version The version number of the launch template.
 *  Specifying ``$Latest`` or ``$Default`` for the template version number is not supported. However, you can specify ``LatestVersionNumber`` or ``DefaultVersionNumber`` using the ``Fn::GetAtt`` intrinsic function. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html).
 *   For an example of using the ``Fn::GetAtt`` function, see the [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html#aws-resource-autoscaling-autoscalinggroup--examples) section of the ``AWS::AutoScaling::AutoScalingGroup`` resource.
 */
public data class AutoScalingGroupLaunchTemplateSpecification(
    public val launchTemplateId: String? = null,
    public val launchTemplateName: String? = null,
    public val version: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.autoscaling.outputs.AutoScalingGroupLaunchTemplateSpecification): AutoScalingGroupLaunchTemplateSpecification = AutoScalingGroupLaunchTemplateSpecification(
            launchTemplateId = javaType.launchTemplateId().map({ args0 -> args0 }).orElse(null),
            launchTemplateName = javaType.launchTemplateName().map({ args0 -> args0 }).orElse(null),
            version = javaType.version(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy