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 }