github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/getLaunchTemplate.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package ec2
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides information about a Launch Template.
    15  //
    16  // ## Example Usage
    17  //
    18  // <!--Start PulumiCodeChooser -->
    19  // ```go
    20  // package main
    21  //
    22  // import (
    23  //
    24  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			_, err := ec2.LookupLaunchTemplate(ctx, &ec2.LookupLaunchTemplateArgs{
    32  //				Name: pulumi.StringRef("my-launch-template"),
    33  //			}, nil)
    34  //			if err != nil {
    35  //				return err
    36  //			}
    37  //			return nil
    38  //		})
    39  //	}
    40  //
    41  // ```
    42  // <!--End PulumiCodeChooser -->
    43  //
    44  // ### Filter
    45  //
    46  // <!--Start PulumiCodeChooser -->
    47  // ```go
    48  // package main
    49  //
    50  // import (
    51  //
    52  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    53  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    54  //
    55  // )
    56  //
    57  //	func main() {
    58  //		pulumi.Run(func(ctx *pulumi.Context) error {
    59  //			_, err := ec2.LookupLaunchTemplate(ctx, &ec2.LookupLaunchTemplateArgs{
    60  //				Filters: []ec2.GetLaunchTemplateFilter{
    61  //					{
    62  //						Name: "launch-template-name",
    63  //						Values: []string{
    64  //							"some-template",
    65  //						},
    66  //					},
    67  //				},
    68  //			}, nil)
    69  //			if err != nil {
    70  //				return err
    71  //			}
    72  //			return nil
    73  //		})
    74  //	}
    75  //
    76  // ```
    77  // <!--End PulumiCodeChooser -->
    78  func LookupLaunchTemplate(ctx *pulumi.Context, args *LookupLaunchTemplateArgs, opts ...pulumi.InvokeOption) (*LookupLaunchTemplateResult, error) {
    79  	opts = internal.PkgInvokeDefaultOpts(opts)
    80  	var rv LookupLaunchTemplateResult
    81  	err := ctx.Invoke("aws:ec2/getLaunchTemplate:getLaunchTemplate", args, &rv, opts...)
    82  	if err != nil {
    83  		return nil, err
    84  	}
    85  	return &rv, nil
    86  }
    87  
    88  // A collection of arguments for invoking getLaunchTemplate.
    89  type LookupLaunchTemplateArgs struct {
    90  	// Configuration block(s) for filtering. Detailed below.
    91  	Filters []GetLaunchTemplateFilter `pulumi:"filters"`
    92  	// ID of the specific launch template to retrieve.
    93  	Id *string `pulumi:"id"`
    94  	// Name of the launch template.
    95  	Name *string `pulumi:"name"`
    96  	// Map of tags, each pair of which must exactly match a pair on the desired Launch Template.
    97  	Tags map[string]string `pulumi:"tags"`
    98  }
    99  
   100  // A collection of values returned by getLaunchTemplate.
   101  type LookupLaunchTemplateResult struct {
   102  	Arn                               string                                              `pulumi:"arn"`
   103  	BlockDeviceMappings               []GetLaunchTemplateBlockDeviceMapping               `pulumi:"blockDeviceMappings"`
   104  	CapacityReservationSpecifications []GetLaunchTemplateCapacityReservationSpecification `pulumi:"capacityReservationSpecifications"`
   105  	CpuOptions                        []GetLaunchTemplateCpuOption                        `pulumi:"cpuOptions"`
   106  	CreditSpecifications              []GetLaunchTemplateCreditSpecification              `pulumi:"creditSpecifications"`
   107  	DefaultVersion                    int                                                 `pulumi:"defaultVersion"`
   108  	Description                       string                                              `pulumi:"description"`
   109  	DisableApiStop                    bool                                                `pulumi:"disableApiStop"`
   110  	DisableApiTermination             bool                                                `pulumi:"disableApiTermination"`
   111  	EbsOptimized                      string                                              `pulumi:"ebsOptimized"`
   112  	ElasticGpuSpecifications          []GetLaunchTemplateElasticGpuSpecification          `pulumi:"elasticGpuSpecifications"`
   113  	ElasticInferenceAccelerators      []GetLaunchTemplateElasticInferenceAccelerator      `pulumi:"elasticInferenceAccelerators"`
   114  	EnclaveOptions                    []GetLaunchTemplateEnclaveOption                    `pulumi:"enclaveOptions"`
   115  	Filters                           []GetLaunchTemplateFilter                           `pulumi:"filters"`
   116  	HibernationOptions                []GetLaunchTemplateHibernationOption                `pulumi:"hibernationOptions"`
   117  	IamInstanceProfiles               []GetLaunchTemplateIamInstanceProfile               `pulumi:"iamInstanceProfiles"`
   118  	// ID of the launch template.
   119  	Id                                string                                  `pulumi:"id"`
   120  	ImageId                           string                                  `pulumi:"imageId"`
   121  	InstanceInitiatedShutdownBehavior string                                  `pulumi:"instanceInitiatedShutdownBehavior"`
   122  	InstanceMarketOptions             []GetLaunchTemplateInstanceMarketOption `pulumi:"instanceMarketOptions"`
   123  	InstanceRequirements              []GetLaunchTemplateInstanceRequirement  `pulumi:"instanceRequirements"`
   124  	InstanceType                      string                                  `pulumi:"instanceType"`
   125  	KernelId                          string                                  `pulumi:"kernelId"`
   126  	KeyName                           string                                  `pulumi:"keyName"`
   127  	LatestVersion                     int                                     `pulumi:"latestVersion"`
   128  	LicenseSpecifications             []GetLaunchTemplateLicenseSpecification `pulumi:"licenseSpecifications"`
   129  	MaintenanceOptions                []GetLaunchTemplateMaintenanceOption    `pulumi:"maintenanceOptions"`
   130  	MetadataOptions                   []GetLaunchTemplateMetadataOption       `pulumi:"metadataOptions"`
   131  	Monitorings                       []GetLaunchTemplateMonitoring           `pulumi:"monitorings"`
   132  	Name                              string                                  `pulumi:"name"`
   133  	NetworkInterfaces                 []GetLaunchTemplateNetworkInterface     `pulumi:"networkInterfaces"`
   134  	Placements                        []GetLaunchTemplatePlacement            `pulumi:"placements"`
   135  	PrivateDnsNameOptions             []GetLaunchTemplatePrivateDnsNameOption `pulumi:"privateDnsNameOptions"`
   136  	RamDiskId                         string                                  `pulumi:"ramDiskId"`
   137  	SecurityGroupNames                []string                                `pulumi:"securityGroupNames"`
   138  	TagSpecifications                 []GetLaunchTemplateTagSpecification     `pulumi:"tagSpecifications"`
   139  	Tags                              map[string]string                       `pulumi:"tags"`
   140  	UserData                          string                                  `pulumi:"userData"`
   141  	VpcSecurityGroupIds               []string                                `pulumi:"vpcSecurityGroupIds"`
   142  }
   143  
   144  func LookupLaunchTemplateOutput(ctx *pulumi.Context, args LookupLaunchTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupLaunchTemplateResultOutput {
   145  	return pulumi.ToOutputWithContext(context.Background(), args).
   146  		ApplyT(func(v interface{}) (LookupLaunchTemplateResult, error) {
   147  			args := v.(LookupLaunchTemplateArgs)
   148  			r, err := LookupLaunchTemplate(ctx, &args, opts...)
   149  			var s LookupLaunchTemplateResult
   150  			if r != nil {
   151  				s = *r
   152  			}
   153  			return s, err
   154  		}).(LookupLaunchTemplateResultOutput)
   155  }
   156  
   157  // A collection of arguments for invoking getLaunchTemplate.
   158  type LookupLaunchTemplateOutputArgs struct {
   159  	// Configuration block(s) for filtering. Detailed below.
   160  	Filters GetLaunchTemplateFilterArrayInput `pulumi:"filters"`
   161  	// ID of the specific launch template to retrieve.
   162  	Id pulumi.StringPtrInput `pulumi:"id"`
   163  	// Name of the launch template.
   164  	Name pulumi.StringPtrInput `pulumi:"name"`
   165  	// Map of tags, each pair of which must exactly match a pair on the desired Launch Template.
   166  	Tags pulumi.StringMapInput `pulumi:"tags"`
   167  }
   168  
   169  func (LookupLaunchTemplateOutputArgs) ElementType() reflect.Type {
   170  	return reflect.TypeOf((*LookupLaunchTemplateArgs)(nil)).Elem()
   171  }
   172  
   173  // A collection of values returned by getLaunchTemplate.
   174  type LookupLaunchTemplateResultOutput struct{ *pulumi.OutputState }
   175  
   176  func (LookupLaunchTemplateResultOutput) ElementType() reflect.Type {
   177  	return reflect.TypeOf((*LookupLaunchTemplateResult)(nil)).Elem()
   178  }
   179  
   180  func (o LookupLaunchTemplateResultOutput) ToLookupLaunchTemplateResultOutput() LookupLaunchTemplateResultOutput {
   181  	return o
   182  }
   183  
   184  func (o LookupLaunchTemplateResultOutput) ToLookupLaunchTemplateResultOutputWithContext(ctx context.Context) LookupLaunchTemplateResultOutput {
   185  	return o
   186  }
   187  
   188  func (o LookupLaunchTemplateResultOutput) Arn() pulumi.StringOutput {
   189  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.Arn }).(pulumi.StringOutput)
   190  }
   191  
   192  func (o LookupLaunchTemplateResultOutput) BlockDeviceMappings() GetLaunchTemplateBlockDeviceMappingArrayOutput {
   193  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateBlockDeviceMapping { return v.BlockDeviceMappings }).(GetLaunchTemplateBlockDeviceMappingArrayOutput)
   194  }
   195  
   196  func (o LookupLaunchTemplateResultOutput) CapacityReservationSpecifications() GetLaunchTemplateCapacityReservationSpecificationArrayOutput {
   197  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateCapacityReservationSpecification {
   198  		return v.CapacityReservationSpecifications
   199  	}).(GetLaunchTemplateCapacityReservationSpecificationArrayOutput)
   200  }
   201  
   202  func (o LookupLaunchTemplateResultOutput) CpuOptions() GetLaunchTemplateCpuOptionArrayOutput {
   203  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateCpuOption { return v.CpuOptions }).(GetLaunchTemplateCpuOptionArrayOutput)
   204  }
   205  
   206  func (o LookupLaunchTemplateResultOutput) CreditSpecifications() GetLaunchTemplateCreditSpecificationArrayOutput {
   207  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateCreditSpecification {
   208  		return v.CreditSpecifications
   209  	}).(GetLaunchTemplateCreditSpecificationArrayOutput)
   210  }
   211  
   212  func (o LookupLaunchTemplateResultOutput) DefaultVersion() pulumi.IntOutput {
   213  	return o.ApplyT(func(v LookupLaunchTemplateResult) int { return v.DefaultVersion }).(pulumi.IntOutput)
   214  }
   215  
   216  func (o LookupLaunchTemplateResultOutput) Description() pulumi.StringOutput {
   217  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.Description }).(pulumi.StringOutput)
   218  }
   219  
   220  func (o LookupLaunchTemplateResultOutput) DisableApiStop() pulumi.BoolOutput {
   221  	return o.ApplyT(func(v LookupLaunchTemplateResult) bool { return v.DisableApiStop }).(pulumi.BoolOutput)
   222  }
   223  
   224  func (o LookupLaunchTemplateResultOutput) DisableApiTermination() pulumi.BoolOutput {
   225  	return o.ApplyT(func(v LookupLaunchTemplateResult) bool { return v.DisableApiTermination }).(pulumi.BoolOutput)
   226  }
   227  
   228  func (o LookupLaunchTemplateResultOutput) EbsOptimized() pulumi.StringOutput {
   229  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.EbsOptimized }).(pulumi.StringOutput)
   230  }
   231  
   232  func (o LookupLaunchTemplateResultOutput) ElasticGpuSpecifications() GetLaunchTemplateElasticGpuSpecificationArrayOutput {
   233  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateElasticGpuSpecification {
   234  		return v.ElasticGpuSpecifications
   235  	}).(GetLaunchTemplateElasticGpuSpecificationArrayOutput)
   236  }
   237  
   238  func (o LookupLaunchTemplateResultOutput) ElasticInferenceAccelerators() GetLaunchTemplateElasticInferenceAcceleratorArrayOutput {
   239  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateElasticInferenceAccelerator {
   240  		return v.ElasticInferenceAccelerators
   241  	}).(GetLaunchTemplateElasticInferenceAcceleratorArrayOutput)
   242  }
   243  
   244  func (o LookupLaunchTemplateResultOutput) EnclaveOptions() GetLaunchTemplateEnclaveOptionArrayOutput {
   245  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateEnclaveOption { return v.EnclaveOptions }).(GetLaunchTemplateEnclaveOptionArrayOutput)
   246  }
   247  
   248  func (o LookupLaunchTemplateResultOutput) Filters() GetLaunchTemplateFilterArrayOutput {
   249  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateFilter { return v.Filters }).(GetLaunchTemplateFilterArrayOutput)
   250  }
   251  
   252  func (o LookupLaunchTemplateResultOutput) HibernationOptions() GetLaunchTemplateHibernationOptionArrayOutput {
   253  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateHibernationOption { return v.HibernationOptions }).(GetLaunchTemplateHibernationOptionArrayOutput)
   254  }
   255  
   256  func (o LookupLaunchTemplateResultOutput) IamInstanceProfiles() GetLaunchTemplateIamInstanceProfileArrayOutput {
   257  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateIamInstanceProfile { return v.IamInstanceProfiles }).(GetLaunchTemplateIamInstanceProfileArrayOutput)
   258  }
   259  
   260  // ID of the launch template.
   261  func (o LookupLaunchTemplateResultOutput) Id() pulumi.StringOutput {
   262  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.Id }).(pulumi.StringOutput)
   263  }
   264  
   265  func (o LookupLaunchTemplateResultOutput) ImageId() pulumi.StringOutput {
   266  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.ImageId }).(pulumi.StringOutput)
   267  }
   268  
   269  func (o LookupLaunchTemplateResultOutput) InstanceInitiatedShutdownBehavior() pulumi.StringOutput {
   270  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.InstanceInitiatedShutdownBehavior }).(pulumi.StringOutput)
   271  }
   272  
   273  func (o LookupLaunchTemplateResultOutput) InstanceMarketOptions() GetLaunchTemplateInstanceMarketOptionArrayOutput {
   274  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateInstanceMarketOption {
   275  		return v.InstanceMarketOptions
   276  	}).(GetLaunchTemplateInstanceMarketOptionArrayOutput)
   277  }
   278  
   279  func (o LookupLaunchTemplateResultOutput) InstanceRequirements() GetLaunchTemplateInstanceRequirementArrayOutput {
   280  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateInstanceRequirement {
   281  		return v.InstanceRequirements
   282  	}).(GetLaunchTemplateInstanceRequirementArrayOutput)
   283  }
   284  
   285  func (o LookupLaunchTemplateResultOutput) InstanceType() pulumi.StringOutput {
   286  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.InstanceType }).(pulumi.StringOutput)
   287  }
   288  
   289  func (o LookupLaunchTemplateResultOutput) KernelId() pulumi.StringOutput {
   290  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.KernelId }).(pulumi.StringOutput)
   291  }
   292  
   293  func (o LookupLaunchTemplateResultOutput) KeyName() pulumi.StringOutput {
   294  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.KeyName }).(pulumi.StringOutput)
   295  }
   296  
   297  func (o LookupLaunchTemplateResultOutput) LatestVersion() pulumi.IntOutput {
   298  	return o.ApplyT(func(v LookupLaunchTemplateResult) int { return v.LatestVersion }).(pulumi.IntOutput)
   299  }
   300  
   301  func (o LookupLaunchTemplateResultOutput) LicenseSpecifications() GetLaunchTemplateLicenseSpecificationArrayOutput {
   302  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateLicenseSpecification {
   303  		return v.LicenseSpecifications
   304  	}).(GetLaunchTemplateLicenseSpecificationArrayOutput)
   305  }
   306  
   307  func (o LookupLaunchTemplateResultOutput) MaintenanceOptions() GetLaunchTemplateMaintenanceOptionArrayOutput {
   308  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateMaintenanceOption { return v.MaintenanceOptions }).(GetLaunchTemplateMaintenanceOptionArrayOutput)
   309  }
   310  
   311  func (o LookupLaunchTemplateResultOutput) MetadataOptions() GetLaunchTemplateMetadataOptionArrayOutput {
   312  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateMetadataOption { return v.MetadataOptions }).(GetLaunchTemplateMetadataOptionArrayOutput)
   313  }
   314  
   315  func (o LookupLaunchTemplateResultOutput) Monitorings() GetLaunchTemplateMonitoringArrayOutput {
   316  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateMonitoring { return v.Monitorings }).(GetLaunchTemplateMonitoringArrayOutput)
   317  }
   318  
   319  func (o LookupLaunchTemplateResultOutput) Name() pulumi.StringOutput {
   320  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.Name }).(pulumi.StringOutput)
   321  }
   322  
   323  func (o LookupLaunchTemplateResultOutput) NetworkInterfaces() GetLaunchTemplateNetworkInterfaceArrayOutput {
   324  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateNetworkInterface { return v.NetworkInterfaces }).(GetLaunchTemplateNetworkInterfaceArrayOutput)
   325  }
   326  
   327  func (o LookupLaunchTemplateResultOutput) Placements() GetLaunchTemplatePlacementArrayOutput {
   328  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplatePlacement { return v.Placements }).(GetLaunchTemplatePlacementArrayOutput)
   329  }
   330  
   331  func (o LookupLaunchTemplateResultOutput) PrivateDnsNameOptions() GetLaunchTemplatePrivateDnsNameOptionArrayOutput {
   332  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplatePrivateDnsNameOption {
   333  		return v.PrivateDnsNameOptions
   334  	}).(GetLaunchTemplatePrivateDnsNameOptionArrayOutput)
   335  }
   336  
   337  func (o LookupLaunchTemplateResultOutput) RamDiskId() pulumi.StringOutput {
   338  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.RamDiskId }).(pulumi.StringOutput)
   339  }
   340  
   341  func (o LookupLaunchTemplateResultOutput) SecurityGroupNames() pulumi.StringArrayOutput {
   342  	return o.ApplyT(func(v LookupLaunchTemplateResult) []string { return v.SecurityGroupNames }).(pulumi.StringArrayOutput)
   343  }
   344  
   345  func (o LookupLaunchTemplateResultOutput) TagSpecifications() GetLaunchTemplateTagSpecificationArrayOutput {
   346  	return o.ApplyT(func(v LookupLaunchTemplateResult) []GetLaunchTemplateTagSpecification { return v.TagSpecifications }).(GetLaunchTemplateTagSpecificationArrayOutput)
   347  }
   348  
   349  func (o LookupLaunchTemplateResultOutput) Tags() pulumi.StringMapOutput {
   350  	return o.ApplyT(func(v LookupLaunchTemplateResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   351  }
   352  
   353  func (o LookupLaunchTemplateResultOutput) UserData() pulumi.StringOutput {
   354  	return o.ApplyT(func(v LookupLaunchTemplateResult) string { return v.UserData }).(pulumi.StringOutput)
   355  }
   356  
   357  func (o LookupLaunchTemplateResultOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput {
   358  	return o.ApplyT(func(v LookupLaunchTemplateResult) []string { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput)
   359  }
   360  
   361  func init() {
   362  	pulumi.RegisterOutputType(LookupLaunchTemplateResultOutput{})
   363  }