github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/instanceConnectEndpoint.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 ec2transitgateway 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Manages an EC2 Instance Connect Endpoint. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := ec2transitgateway.NewInstanceConnectEndpoint(ctx, "example", &ec2transitgateway.InstanceConnectEndpointArgs{ 33 // SubnetId: pulumi.Any(exampleAwsSubnet.Id), 34 // }) 35 // if err != nil { 36 // return err 37 // } 38 // return nil 39 // }) 40 // } 41 // 42 // ``` 43 // <!--End PulumiCodeChooser --> 44 // 45 // ## Import 46 // 47 // Using `pulumi import`, import EC2 Instance Connect Endpoints using the `id`. For example: 48 // 49 // ```sh 50 // $ pulumi import aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint example eice-012345678 51 // ``` 52 type InstanceConnectEndpoint struct { 53 pulumi.CustomResourceState 54 55 // The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint. 56 Arn pulumi.StringOutput `pulumi:"arn"` 57 // The Availability Zone of the EC2 Instance Connect Endpoint. 58 AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` 59 // The DNS name of the EC2 Instance Connect Endpoint. 60 DnsName pulumi.StringOutput `pulumi:"dnsName"` 61 // The DNS name of the EC2 Instance Connect FIPS Endpoint. 62 FipsDnsName pulumi.StringOutput `pulumi:"fipsDnsName"` 63 // The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint. 64 NetworkInterfaceIds pulumi.StringArrayOutput `pulumi:"networkInterfaceIds"` 65 // The ID of the AWS account that created the EC2 Instance Connect Endpoint. 66 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 67 // Indicates whether your client's IP address is preserved as the source. Default: `true`. 68 PreserveClientIp pulumi.BoolOutput `pulumi:"preserveClientIp"` 69 // One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint. 70 SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` 71 // The ID of the subnet in which to create the EC2 Instance Connect Endpoint. 72 SubnetId pulumi.StringOutput `pulumi:"subnetId"` 73 // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 74 Tags pulumi.StringMapOutput `pulumi:"tags"` 75 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 76 // 77 // Deprecated: Please use `tags` instead. 78 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 79 Timeouts InstanceConnectEndpointTimeoutsPtrOutput `pulumi:"timeouts"` 80 // The ID of the VPC in which the EC2 Instance Connect Endpoint was created. 81 VpcId pulumi.StringOutput `pulumi:"vpcId"` 82 } 83 84 // NewInstanceConnectEndpoint registers a new resource with the given unique name, arguments, and options. 85 func NewInstanceConnectEndpoint(ctx *pulumi.Context, 86 name string, args *InstanceConnectEndpointArgs, opts ...pulumi.ResourceOption) (*InstanceConnectEndpoint, error) { 87 if args == nil { 88 return nil, errors.New("missing one or more required arguments") 89 } 90 91 if args.SubnetId == nil { 92 return nil, errors.New("invalid value for required argument 'SubnetId'") 93 } 94 opts = internal.PkgResourceDefaultOpts(opts) 95 var resource InstanceConnectEndpoint 96 err := ctx.RegisterResource("aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint", name, args, &resource, opts...) 97 if err != nil { 98 return nil, err 99 } 100 return &resource, nil 101 } 102 103 // GetInstanceConnectEndpoint gets an existing InstanceConnectEndpoint resource's state with the given name, ID, and optional 104 // state properties that are used to uniquely qualify the lookup (nil if not required). 105 func GetInstanceConnectEndpoint(ctx *pulumi.Context, 106 name string, id pulumi.IDInput, state *InstanceConnectEndpointState, opts ...pulumi.ResourceOption) (*InstanceConnectEndpoint, error) { 107 var resource InstanceConnectEndpoint 108 err := ctx.ReadResource("aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint", name, id, state, &resource, opts...) 109 if err != nil { 110 return nil, err 111 } 112 return &resource, nil 113 } 114 115 // Input properties used for looking up and filtering InstanceConnectEndpoint resources. 116 type instanceConnectEndpointState struct { 117 // The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint. 118 Arn *string `pulumi:"arn"` 119 // The Availability Zone of the EC2 Instance Connect Endpoint. 120 AvailabilityZone *string `pulumi:"availabilityZone"` 121 // The DNS name of the EC2 Instance Connect Endpoint. 122 DnsName *string `pulumi:"dnsName"` 123 // The DNS name of the EC2 Instance Connect FIPS Endpoint. 124 FipsDnsName *string `pulumi:"fipsDnsName"` 125 // The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint. 126 NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` 127 // The ID of the AWS account that created the EC2 Instance Connect Endpoint. 128 OwnerId *string `pulumi:"ownerId"` 129 // Indicates whether your client's IP address is preserved as the source. Default: `true`. 130 PreserveClientIp *bool `pulumi:"preserveClientIp"` 131 // One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint. 132 SecurityGroupIds []string `pulumi:"securityGroupIds"` 133 // The ID of the subnet in which to create the EC2 Instance Connect Endpoint. 134 SubnetId *string `pulumi:"subnetId"` 135 // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 136 Tags map[string]string `pulumi:"tags"` 137 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 138 // 139 // Deprecated: Please use `tags` instead. 140 TagsAll map[string]string `pulumi:"tagsAll"` 141 Timeouts *InstanceConnectEndpointTimeouts `pulumi:"timeouts"` 142 // The ID of the VPC in which the EC2 Instance Connect Endpoint was created. 143 VpcId *string `pulumi:"vpcId"` 144 } 145 146 type InstanceConnectEndpointState struct { 147 // The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint. 148 Arn pulumi.StringPtrInput 149 // The Availability Zone of the EC2 Instance Connect Endpoint. 150 AvailabilityZone pulumi.StringPtrInput 151 // The DNS name of the EC2 Instance Connect Endpoint. 152 DnsName pulumi.StringPtrInput 153 // The DNS name of the EC2 Instance Connect FIPS Endpoint. 154 FipsDnsName pulumi.StringPtrInput 155 // The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint. 156 NetworkInterfaceIds pulumi.StringArrayInput 157 // The ID of the AWS account that created the EC2 Instance Connect Endpoint. 158 OwnerId pulumi.StringPtrInput 159 // Indicates whether your client's IP address is preserved as the source. Default: `true`. 160 PreserveClientIp pulumi.BoolPtrInput 161 // One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint. 162 SecurityGroupIds pulumi.StringArrayInput 163 // The ID of the subnet in which to create the EC2 Instance Connect Endpoint. 164 SubnetId pulumi.StringPtrInput 165 // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 166 Tags pulumi.StringMapInput 167 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 168 // 169 // Deprecated: Please use `tags` instead. 170 TagsAll pulumi.StringMapInput 171 Timeouts InstanceConnectEndpointTimeoutsPtrInput 172 // The ID of the VPC in which the EC2 Instance Connect Endpoint was created. 173 VpcId pulumi.StringPtrInput 174 } 175 176 func (InstanceConnectEndpointState) ElementType() reflect.Type { 177 return reflect.TypeOf((*instanceConnectEndpointState)(nil)).Elem() 178 } 179 180 type instanceConnectEndpointArgs struct { 181 // Indicates whether your client's IP address is preserved as the source. Default: `true`. 182 PreserveClientIp *bool `pulumi:"preserveClientIp"` 183 // One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint. 184 SecurityGroupIds []string `pulumi:"securityGroupIds"` 185 // The ID of the subnet in which to create the EC2 Instance Connect Endpoint. 186 SubnetId string `pulumi:"subnetId"` 187 // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 188 Tags map[string]string `pulumi:"tags"` 189 Timeouts *InstanceConnectEndpointTimeouts `pulumi:"timeouts"` 190 } 191 192 // The set of arguments for constructing a InstanceConnectEndpoint resource. 193 type InstanceConnectEndpointArgs struct { 194 // Indicates whether your client's IP address is preserved as the source. Default: `true`. 195 PreserveClientIp pulumi.BoolPtrInput 196 // One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint. 197 SecurityGroupIds pulumi.StringArrayInput 198 // The ID of the subnet in which to create the EC2 Instance Connect Endpoint. 199 SubnetId pulumi.StringInput 200 // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 201 Tags pulumi.StringMapInput 202 Timeouts InstanceConnectEndpointTimeoutsPtrInput 203 } 204 205 func (InstanceConnectEndpointArgs) ElementType() reflect.Type { 206 return reflect.TypeOf((*instanceConnectEndpointArgs)(nil)).Elem() 207 } 208 209 type InstanceConnectEndpointInput interface { 210 pulumi.Input 211 212 ToInstanceConnectEndpointOutput() InstanceConnectEndpointOutput 213 ToInstanceConnectEndpointOutputWithContext(ctx context.Context) InstanceConnectEndpointOutput 214 } 215 216 func (*InstanceConnectEndpoint) ElementType() reflect.Type { 217 return reflect.TypeOf((**InstanceConnectEndpoint)(nil)).Elem() 218 } 219 220 func (i *InstanceConnectEndpoint) ToInstanceConnectEndpointOutput() InstanceConnectEndpointOutput { 221 return i.ToInstanceConnectEndpointOutputWithContext(context.Background()) 222 } 223 224 func (i *InstanceConnectEndpoint) ToInstanceConnectEndpointOutputWithContext(ctx context.Context) InstanceConnectEndpointOutput { 225 return pulumi.ToOutputWithContext(ctx, i).(InstanceConnectEndpointOutput) 226 } 227 228 // InstanceConnectEndpointArrayInput is an input type that accepts InstanceConnectEndpointArray and InstanceConnectEndpointArrayOutput values. 229 // You can construct a concrete instance of `InstanceConnectEndpointArrayInput` via: 230 // 231 // InstanceConnectEndpointArray{ InstanceConnectEndpointArgs{...} } 232 type InstanceConnectEndpointArrayInput interface { 233 pulumi.Input 234 235 ToInstanceConnectEndpointArrayOutput() InstanceConnectEndpointArrayOutput 236 ToInstanceConnectEndpointArrayOutputWithContext(context.Context) InstanceConnectEndpointArrayOutput 237 } 238 239 type InstanceConnectEndpointArray []InstanceConnectEndpointInput 240 241 func (InstanceConnectEndpointArray) ElementType() reflect.Type { 242 return reflect.TypeOf((*[]*InstanceConnectEndpoint)(nil)).Elem() 243 } 244 245 func (i InstanceConnectEndpointArray) ToInstanceConnectEndpointArrayOutput() InstanceConnectEndpointArrayOutput { 246 return i.ToInstanceConnectEndpointArrayOutputWithContext(context.Background()) 247 } 248 249 func (i InstanceConnectEndpointArray) ToInstanceConnectEndpointArrayOutputWithContext(ctx context.Context) InstanceConnectEndpointArrayOutput { 250 return pulumi.ToOutputWithContext(ctx, i).(InstanceConnectEndpointArrayOutput) 251 } 252 253 // InstanceConnectEndpointMapInput is an input type that accepts InstanceConnectEndpointMap and InstanceConnectEndpointMapOutput values. 254 // You can construct a concrete instance of `InstanceConnectEndpointMapInput` via: 255 // 256 // InstanceConnectEndpointMap{ "key": InstanceConnectEndpointArgs{...} } 257 type InstanceConnectEndpointMapInput interface { 258 pulumi.Input 259 260 ToInstanceConnectEndpointMapOutput() InstanceConnectEndpointMapOutput 261 ToInstanceConnectEndpointMapOutputWithContext(context.Context) InstanceConnectEndpointMapOutput 262 } 263 264 type InstanceConnectEndpointMap map[string]InstanceConnectEndpointInput 265 266 func (InstanceConnectEndpointMap) ElementType() reflect.Type { 267 return reflect.TypeOf((*map[string]*InstanceConnectEndpoint)(nil)).Elem() 268 } 269 270 func (i InstanceConnectEndpointMap) ToInstanceConnectEndpointMapOutput() InstanceConnectEndpointMapOutput { 271 return i.ToInstanceConnectEndpointMapOutputWithContext(context.Background()) 272 } 273 274 func (i InstanceConnectEndpointMap) ToInstanceConnectEndpointMapOutputWithContext(ctx context.Context) InstanceConnectEndpointMapOutput { 275 return pulumi.ToOutputWithContext(ctx, i).(InstanceConnectEndpointMapOutput) 276 } 277 278 type InstanceConnectEndpointOutput struct{ *pulumi.OutputState } 279 280 func (InstanceConnectEndpointOutput) ElementType() reflect.Type { 281 return reflect.TypeOf((**InstanceConnectEndpoint)(nil)).Elem() 282 } 283 284 func (o InstanceConnectEndpointOutput) ToInstanceConnectEndpointOutput() InstanceConnectEndpointOutput { 285 return o 286 } 287 288 func (o InstanceConnectEndpointOutput) ToInstanceConnectEndpointOutputWithContext(ctx context.Context) InstanceConnectEndpointOutput { 289 return o 290 } 291 292 // The Amazon Resource Name (ARN) of the EC2 Instance Connect Endpoint. 293 func (o InstanceConnectEndpointOutput) Arn() pulumi.StringOutput { 294 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 295 } 296 297 // The Availability Zone of the EC2 Instance Connect Endpoint. 298 func (o InstanceConnectEndpointOutput) AvailabilityZone() pulumi.StringOutput { 299 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) 300 } 301 302 // The DNS name of the EC2 Instance Connect Endpoint. 303 func (o InstanceConnectEndpointOutput) DnsName() pulumi.StringOutput { 304 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) 305 } 306 307 // The DNS name of the EC2 Instance Connect FIPS Endpoint. 308 func (o InstanceConnectEndpointOutput) FipsDnsName() pulumi.StringOutput { 309 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.FipsDnsName }).(pulumi.StringOutput) 310 } 311 312 // The IDs of the ENIs that Amazon EC2 automatically created when creating the EC2 Instance Connect Endpoint. 313 func (o InstanceConnectEndpointOutput) NetworkInterfaceIds() pulumi.StringArrayOutput { 314 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringArrayOutput { return v.NetworkInterfaceIds }).(pulumi.StringArrayOutput) 315 } 316 317 // The ID of the AWS account that created the EC2 Instance Connect Endpoint. 318 func (o InstanceConnectEndpointOutput) OwnerId() pulumi.StringOutput { 319 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 320 } 321 322 // Indicates whether your client's IP address is preserved as the source. Default: `true`. 323 func (o InstanceConnectEndpointOutput) PreserveClientIp() pulumi.BoolOutput { 324 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.BoolOutput { return v.PreserveClientIp }).(pulumi.BoolOutput) 325 } 326 327 // One or more security groups to associate with the endpoint. If you don't specify a security group, the default security group for the VPC will be associated with the endpoint. 328 func (o InstanceConnectEndpointOutput) SecurityGroupIds() pulumi.StringArrayOutput { 329 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) 330 } 331 332 // The ID of the subnet in which to create the EC2 Instance Connect Endpoint. 333 func (o InstanceConnectEndpointOutput) SubnetId() pulumi.StringOutput { 334 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.SubnetId }).(pulumi.StringOutput) 335 } 336 337 // Map of tags to assign to this resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 338 func (o InstanceConnectEndpointOutput) Tags() pulumi.StringMapOutput { 339 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 340 } 341 342 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 343 // 344 // Deprecated: Please use `tags` instead. 345 func (o InstanceConnectEndpointOutput) TagsAll() pulumi.StringMapOutput { 346 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 347 } 348 349 func (o InstanceConnectEndpointOutput) Timeouts() InstanceConnectEndpointTimeoutsPtrOutput { 350 return o.ApplyT(func(v *InstanceConnectEndpoint) InstanceConnectEndpointTimeoutsPtrOutput { return v.Timeouts }).(InstanceConnectEndpointTimeoutsPtrOutput) 351 } 352 353 // The ID of the VPC in which the EC2 Instance Connect Endpoint was created. 354 func (o InstanceConnectEndpointOutput) VpcId() pulumi.StringOutput { 355 return o.ApplyT(func(v *InstanceConnectEndpoint) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) 356 } 357 358 type InstanceConnectEndpointArrayOutput struct{ *pulumi.OutputState } 359 360 func (InstanceConnectEndpointArrayOutput) ElementType() reflect.Type { 361 return reflect.TypeOf((*[]*InstanceConnectEndpoint)(nil)).Elem() 362 } 363 364 func (o InstanceConnectEndpointArrayOutput) ToInstanceConnectEndpointArrayOutput() InstanceConnectEndpointArrayOutput { 365 return o 366 } 367 368 func (o InstanceConnectEndpointArrayOutput) ToInstanceConnectEndpointArrayOutputWithContext(ctx context.Context) InstanceConnectEndpointArrayOutput { 369 return o 370 } 371 372 func (o InstanceConnectEndpointArrayOutput) Index(i pulumi.IntInput) InstanceConnectEndpointOutput { 373 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceConnectEndpoint { 374 return vs[0].([]*InstanceConnectEndpoint)[vs[1].(int)] 375 }).(InstanceConnectEndpointOutput) 376 } 377 378 type InstanceConnectEndpointMapOutput struct{ *pulumi.OutputState } 379 380 func (InstanceConnectEndpointMapOutput) ElementType() reflect.Type { 381 return reflect.TypeOf((*map[string]*InstanceConnectEndpoint)(nil)).Elem() 382 } 383 384 func (o InstanceConnectEndpointMapOutput) ToInstanceConnectEndpointMapOutput() InstanceConnectEndpointMapOutput { 385 return o 386 } 387 388 func (o InstanceConnectEndpointMapOutput) ToInstanceConnectEndpointMapOutputWithContext(ctx context.Context) InstanceConnectEndpointMapOutput { 389 return o 390 } 391 392 func (o InstanceConnectEndpointMapOutput) MapIndex(k pulumi.StringInput) InstanceConnectEndpointOutput { 393 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceConnectEndpoint { 394 return vs[0].(map[string]*InstanceConnectEndpoint)[vs[1].(string)] 395 }).(InstanceConnectEndpointOutput) 396 } 397 398 func init() { 399 pulumi.RegisterInputType(reflect.TypeOf((*InstanceConnectEndpointInput)(nil)).Elem(), &InstanceConnectEndpoint{}) 400 pulumi.RegisterInputType(reflect.TypeOf((*InstanceConnectEndpointArrayInput)(nil)).Elem(), InstanceConnectEndpointArray{}) 401 pulumi.RegisterInputType(reflect.TypeOf((*InstanceConnectEndpointMapInput)(nil)).Elem(), InstanceConnectEndpointMap{}) 402 pulumi.RegisterOutputType(InstanceConnectEndpointOutput{}) 403 pulumi.RegisterOutputType(InstanceConnectEndpointArrayOutput{}) 404 pulumi.RegisterOutputType(InstanceConnectEndpointMapOutput{}) 405 }