github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcEndpointService.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 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a VPC Endpoint Service resource. 16 // Service consumers can create an _Interface_ VPC Endpoint to connect to the service. 17 // 18 // > **NOTE on VPC Endpoint Services and VPC Endpoint Service Allowed Principals:** This provider provides 19 // both a standalone VPC Endpoint Service Allowed Principal resource 20 // and a VPC Endpoint Service resource with an `allowedPrincipals` attribute. Do not use the same principal ARN in both 21 // a VPC Endpoint Service resource and a VPC Endpoint Service Allowed Principal resource. Doing so will cause a conflict 22 // and will overwrite the association. 23 // 24 // ## Example Usage 25 // 26 // ### Network Load Balancers 27 // 28 // <!--Start PulumiCodeChooser --> 29 // ```go 30 // package main 31 // 32 // import ( 33 // 34 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 35 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 36 // 37 // ) 38 // 39 // func main() { 40 // pulumi.Run(func(ctx *pulumi.Context) error { 41 // _, err := ec2.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{ 42 // AcceptanceRequired: pulumi.Bool(false), 43 // NetworkLoadBalancerArns: pulumi.StringArray{ 44 // exampleAwsLb.Arn, 45 // }, 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // return nil 51 // }) 52 // } 53 // 54 // ``` 55 // <!--End PulumiCodeChooser --> 56 // 57 // ### Gateway Load Balancers 58 // 59 // <!--Start PulumiCodeChooser --> 60 // ```go 61 // package main 62 // 63 // import ( 64 // 65 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 66 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 67 // 68 // ) 69 // 70 // func main() { 71 // pulumi.Run(func(ctx *pulumi.Context) error { 72 // _, err := ec2.NewVpcEndpointService(ctx, "example", &ec2.VpcEndpointServiceArgs{ 73 // AcceptanceRequired: pulumi.Bool(false), 74 // GatewayLoadBalancerArns: pulumi.StringArray{ 75 // exampleAwsLb.Arn, 76 // }, 77 // }) 78 // if err != nil { 79 // return err 80 // } 81 // return nil 82 // }) 83 // } 84 // 85 // ``` 86 // <!--End PulumiCodeChooser --> 87 // 88 // ## Import 89 // 90 // Using `pulumi import`, import VPC Endpoint Services using the VPC endpoint service `id`. For example: 91 // 92 // ```sh 93 // $ pulumi import aws:ec2/vpcEndpointService:VpcEndpointService foo vpce-svc-0f97a19d3fa8220bc 94 // ``` 95 type VpcEndpointService struct { 96 pulumi.CustomResourceState 97 98 // Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. 99 AcceptanceRequired pulumi.BoolOutput `pulumi:"acceptanceRequired"` 100 // The ARNs of one or more principals allowed to discover the endpoint service. 101 AllowedPrincipals pulumi.StringArrayOutput `pulumi:"allowedPrincipals"` 102 // The Amazon Resource Name (ARN) of the VPC endpoint service. 103 Arn pulumi.StringOutput `pulumi:"arn"` 104 // A set of Availability Zones in which the service is available. 105 AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"` 106 // A set of DNS names for the service. 107 BaseEndpointDnsNames pulumi.StringArrayOutput `pulumi:"baseEndpointDnsNames"` 108 // Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service. 109 GatewayLoadBalancerArns pulumi.StringArrayOutput `pulumi:"gatewayLoadBalancerArns"` 110 // Whether or not the service manages its VPC endpoints - `true` or `false`. 111 ManagesVpcEndpoints pulumi.BoolOutput `pulumi:"managesVpcEndpoints"` 112 // Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. 113 NetworkLoadBalancerArns pulumi.StringArrayOutput `pulumi:"networkLoadBalancerArns"` 114 // The private DNS name for the service. 115 PrivateDnsName pulumi.StringOutput `pulumi:"privateDnsName"` 116 // List of objects containing information about the endpoint service private DNS name configuration. 117 PrivateDnsNameConfigurations VpcEndpointServicePrivateDnsNameConfigurationArrayOutput `pulumi:"privateDnsNameConfigurations"` 118 // The service name. 119 ServiceName pulumi.StringOutput `pulumi:"serviceName"` 120 // The service type, `Gateway` or `Interface`. 121 ServiceType pulumi.StringOutput `pulumi:"serviceType"` 122 // Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is `verified`. 123 State pulumi.StringOutput `pulumi:"state"` 124 // The supported IP address types. The possible values are `ipv4` and `ipv6`. 125 SupportedIpAddressTypes pulumi.StringArrayOutput `pulumi:"supportedIpAddressTypes"` 126 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 127 Tags pulumi.StringMapOutput `pulumi:"tags"` 128 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 129 // 130 // Deprecated: Please use `tags` instead. 131 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 132 } 133 134 // NewVpcEndpointService registers a new resource with the given unique name, arguments, and options. 135 func NewVpcEndpointService(ctx *pulumi.Context, 136 name string, args *VpcEndpointServiceArgs, opts ...pulumi.ResourceOption) (*VpcEndpointService, error) { 137 if args == nil { 138 return nil, errors.New("missing one or more required arguments") 139 } 140 141 if args.AcceptanceRequired == nil { 142 return nil, errors.New("invalid value for required argument 'AcceptanceRequired'") 143 } 144 opts = internal.PkgResourceDefaultOpts(opts) 145 var resource VpcEndpointService 146 err := ctx.RegisterResource("aws:ec2/vpcEndpointService:VpcEndpointService", name, args, &resource, opts...) 147 if err != nil { 148 return nil, err 149 } 150 return &resource, nil 151 } 152 153 // GetVpcEndpointService gets an existing VpcEndpointService resource's state with the given name, ID, and optional 154 // state properties that are used to uniquely qualify the lookup (nil if not required). 155 func GetVpcEndpointService(ctx *pulumi.Context, 156 name string, id pulumi.IDInput, state *VpcEndpointServiceState, opts ...pulumi.ResourceOption) (*VpcEndpointService, error) { 157 var resource VpcEndpointService 158 err := ctx.ReadResource("aws:ec2/vpcEndpointService:VpcEndpointService", name, id, state, &resource, opts...) 159 if err != nil { 160 return nil, err 161 } 162 return &resource, nil 163 } 164 165 // Input properties used for looking up and filtering VpcEndpointService resources. 166 type vpcEndpointServiceState struct { 167 // Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. 168 AcceptanceRequired *bool `pulumi:"acceptanceRequired"` 169 // The ARNs of one or more principals allowed to discover the endpoint service. 170 AllowedPrincipals []string `pulumi:"allowedPrincipals"` 171 // The Amazon Resource Name (ARN) of the VPC endpoint service. 172 Arn *string `pulumi:"arn"` 173 // A set of Availability Zones in which the service is available. 174 AvailabilityZones []string `pulumi:"availabilityZones"` 175 // A set of DNS names for the service. 176 BaseEndpointDnsNames []string `pulumi:"baseEndpointDnsNames"` 177 // Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service. 178 GatewayLoadBalancerArns []string `pulumi:"gatewayLoadBalancerArns"` 179 // Whether or not the service manages its VPC endpoints - `true` or `false`. 180 ManagesVpcEndpoints *bool `pulumi:"managesVpcEndpoints"` 181 // Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. 182 NetworkLoadBalancerArns []string `pulumi:"networkLoadBalancerArns"` 183 // The private DNS name for the service. 184 PrivateDnsName *string `pulumi:"privateDnsName"` 185 // List of objects containing information about the endpoint service private DNS name configuration. 186 PrivateDnsNameConfigurations []VpcEndpointServicePrivateDnsNameConfiguration `pulumi:"privateDnsNameConfigurations"` 187 // The service name. 188 ServiceName *string `pulumi:"serviceName"` 189 // The service type, `Gateway` or `Interface`. 190 ServiceType *string `pulumi:"serviceType"` 191 // Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is `verified`. 192 State *string `pulumi:"state"` 193 // The supported IP address types. The possible values are `ipv4` and `ipv6`. 194 SupportedIpAddressTypes []string `pulumi:"supportedIpAddressTypes"` 195 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 196 Tags map[string]string `pulumi:"tags"` 197 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 198 // 199 // Deprecated: Please use `tags` instead. 200 TagsAll map[string]string `pulumi:"tagsAll"` 201 } 202 203 type VpcEndpointServiceState struct { 204 // Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. 205 AcceptanceRequired pulumi.BoolPtrInput 206 // The ARNs of one or more principals allowed to discover the endpoint service. 207 AllowedPrincipals pulumi.StringArrayInput 208 // The Amazon Resource Name (ARN) of the VPC endpoint service. 209 Arn pulumi.StringPtrInput 210 // A set of Availability Zones in which the service is available. 211 AvailabilityZones pulumi.StringArrayInput 212 // A set of DNS names for the service. 213 BaseEndpointDnsNames pulumi.StringArrayInput 214 // Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service. 215 GatewayLoadBalancerArns pulumi.StringArrayInput 216 // Whether or not the service manages its VPC endpoints - `true` or `false`. 217 ManagesVpcEndpoints pulumi.BoolPtrInput 218 // Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. 219 NetworkLoadBalancerArns pulumi.StringArrayInput 220 // The private DNS name for the service. 221 PrivateDnsName pulumi.StringPtrInput 222 // List of objects containing information about the endpoint service private DNS name configuration. 223 PrivateDnsNameConfigurations VpcEndpointServicePrivateDnsNameConfigurationArrayInput 224 // The service name. 225 ServiceName pulumi.StringPtrInput 226 // The service type, `Gateway` or `Interface`. 227 ServiceType pulumi.StringPtrInput 228 // Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is `verified`. 229 State pulumi.StringPtrInput 230 // The supported IP address types. The possible values are `ipv4` and `ipv6`. 231 SupportedIpAddressTypes pulumi.StringArrayInput 232 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 233 Tags pulumi.StringMapInput 234 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 235 // 236 // Deprecated: Please use `tags` instead. 237 TagsAll pulumi.StringMapInput 238 } 239 240 func (VpcEndpointServiceState) ElementType() reflect.Type { 241 return reflect.TypeOf((*vpcEndpointServiceState)(nil)).Elem() 242 } 243 244 type vpcEndpointServiceArgs struct { 245 // Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. 246 AcceptanceRequired bool `pulumi:"acceptanceRequired"` 247 // The ARNs of one or more principals allowed to discover the endpoint service. 248 AllowedPrincipals []string `pulumi:"allowedPrincipals"` 249 // Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service. 250 GatewayLoadBalancerArns []string `pulumi:"gatewayLoadBalancerArns"` 251 // Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. 252 NetworkLoadBalancerArns []string `pulumi:"networkLoadBalancerArns"` 253 // The private DNS name for the service. 254 PrivateDnsName *string `pulumi:"privateDnsName"` 255 // The supported IP address types. The possible values are `ipv4` and `ipv6`. 256 SupportedIpAddressTypes []string `pulumi:"supportedIpAddressTypes"` 257 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 258 Tags map[string]string `pulumi:"tags"` 259 } 260 261 // The set of arguments for constructing a VpcEndpointService resource. 262 type VpcEndpointServiceArgs struct { 263 // Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. 264 AcceptanceRequired pulumi.BoolInput 265 // The ARNs of one or more principals allowed to discover the endpoint service. 266 AllowedPrincipals pulumi.StringArrayInput 267 // Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service. 268 GatewayLoadBalancerArns pulumi.StringArrayInput 269 // Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. 270 NetworkLoadBalancerArns pulumi.StringArrayInput 271 // The private DNS name for the service. 272 PrivateDnsName pulumi.StringPtrInput 273 // The supported IP address types. The possible values are `ipv4` and `ipv6`. 274 SupportedIpAddressTypes pulumi.StringArrayInput 275 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 276 Tags pulumi.StringMapInput 277 } 278 279 func (VpcEndpointServiceArgs) ElementType() reflect.Type { 280 return reflect.TypeOf((*vpcEndpointServiceArgs)(nil)).Elem() 281 } 282 283 type VpcEndpointServiceInput interface { 284 pulumi.Input 285 286 ToVpcEndpointServiceOutput() VpcEndpointServiceOutput 287 ToVpcEndpointServiceOutputWithContext(ctx context.Context) VpcEndpointServiceOutput 288 } 289 290 func (*VpcEndpointService) ElementType() reflect.Type { 291 return reflect.TypeOf((**VpcEndpointService)(nil)).Elem() 292 } 293 294 func (i *VpcEndpointService) ToVpcEndpointServiceOutput() VpcEndpointServiceOutput { 295 return i.ToVpcEndpointServiceOutputWithContext(context.Background()) 296 } 297 298 func (i *VpcEndpointService) ToVpcEndpointServiceOutputWithContext(ctx context.Context) VpcEndpointServiceOutput { 299 return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointServiceOutput) 300 } 301 302 // VpcEndpointServiceArrayInput is an input type that accepts VpcEndpointServiceArray and VpcEndpointServiceArrayOutput values. 303 // You can construct a concrete instance of `VpcEndpointServiceArrayInput` via: 304 // 305 // VpcEndpointServiceArray{ VpcEndpointServiceArgs{...} } 306 type VpcEndpointServiceArrayInput interface { 307 pulumi.Input 308 309 ToVpcEndpointServiceArrayOutput() VpcEndpointServiceArrayOutput 310 ToVpcEndpointServiceArrayOutputWithContext(context.Context) VpcEndpointServiceArrayOutput 311 } 312 313 type VpcEndpointServiceArray []VpcEndpointServiceInput 314 315 func (VpcEndpointServiceArray) ElementType() reflect.Type { 316 return reflect.TypeOf((*[]*VpcEndpointService)(nil)).Elem() 317 } 318 319 func (i VpcEndpointServiceArray) ToVpcEndpointServiceArrayOutput() VpcEndpointServiceArrayOutput { 320 return i.ToVpcEndpointServiceArrayOutputWithContext(context.Background()) 321 } 322 323 func (i VpcEndpointServiceArray) ToVpcEndpointServiceArrayOutputWithContext(ctx context.Context) VpcEndpointServiceArrayOutput { 324 return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointServiceArrayOutput) 325 } 326 327 // VpcEndpointServiceMapInput is an input type that accepts VpcEndpointServiceMap and VpcEndpointServiceMapOutput values. 328 // You can construct a concrete instance of `VpcEndpointServiceMapInput` via: 329 // 330 // VpcEndpointServiceMap{ "key": VpcEndpointServiceArgs{...} } 331 type VpcEndpointServiceMapInput interface { 332 pulumi.Input 333 334 ToVpcEndpointServiceMapOutput() VpcEndpointServiceMapOutput 335 ToVpcEndpointServiceMapOutputWithContext(context.Context) VpcEndpointServiceMapOutput 336 } 337 338 type VpcEndpointServiceMap map[string]VpcEndpointServiceInput 339 340 func (VpcEndpointServiceMap) ElementType() reflect.Type { 341 return reflect.TypeOf((*map[string]*VpcEndpointService)(nil)).Elem() 342 } 343 344 func (i VpcEndpointServiceMap) ToVpcEndpointServiceMapOutput() VpcEndpointServiceMapOutput { 345 return i.ToVpcEndpointServiceMapOutputWithContext(context.Background()) 346 } 347 348 func (i VpcEndpointServiceMap) ToVpcEndpointServiceMapOutputWithContext(ctx context.Context) VpcEndpointServiceMapOutput { 349 return pulumi.ToOutputWithContext(ctx, i).(VpcEndpointServiceMapOutput) 350 } 351 352 type VpcEndpointServiceOutput struct{ *pulumi.OutputState } 353 354 func (VpcEndpointServiceOutput) ElementType() reflect.Type { 355 return reflect.TypeOf((**VpcEndpointService)(nil)).Elem() 356 } 357 358 func (o VpcEndpointServiceOutput) ToVpcEndpointServiceOutput() VpcEndpointServiceOutput { 359 return o 360 } 361 362 func (o VpcEndpointServiceOutput) ToVpcEndpointServiceOutputWithContext(ctx context.Context) VpcEndpointServiceOutput { 363 return o 364 } 365 366 // Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - `true` or `false`. 367 func (o VpcEndpointServiceOutput) AcceptanceRequired() pulumi.BoolOutput { 368 return o.ApplyT(func(v *VpcEndpointService) pulumi.BoolOutput { return v.AcceptanceRequired }).(pulumi.BoolOutput) 369 } 370 371 // The ARNs of one or more principals allowed to discover the endpoint service. 372 func (o VpcEndpointServiceOutput) AllowedPrincipals() pulumi.StringArrayOutput { 373 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.AllowedPrincipals }).(pulumi.StringArrayOutput) 374 } 375 376 // The Amazon Resource Name (ARN) of the VPC endpoint service. 377 func (o VpcEndpointServiceOutput) Arn() pulumi.StringOutput { 378 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 379 } 380 381 // A set of Availability Zones in which the service is available. 382 func (o VpcEndpointServiceOutput) AvailabilityZones() pulumi.StringArrayOutput { 383 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.AvailabilityZones }).(pulumi.StringArrayOutput) 384 } 385 386 // A set of DNS names for the service. 387 func (o VpcEndpointServiceOutput) BaseEndpointDnsNames() pulumi.StringArrayOutput { 388 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.BaseEndpointDnsNames }).(pulumi.StringArrayOutput) 389 } 390 391 // Amazon Resource Names (ARNs) of one or more Gateway Load Balancers for the endpoint service. 392 func (o VpcEndpointServiceOutput) GatewayLoadBalancerArns() pulumi.StringArrayOutput { 393 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.GatewayLoadBalancerArns }).(pulumi.StringArrayOutput) 394 } 395 396 // Whether or not the service manages its VPC endpoints - `true` or `false`. 397 func (o VpcEndpointServiceOutput) ManagesVpcEndpoints() pulumi.BoolOutput { 398 return o.ApplyT(func(v *VpcEndpointService) pulumi.BoolOutput { return v.ManagesVpcEndpoints }).(pulumi.BoolOutput) 399 } 400 401 // Amazon Resource Names (ARNs) of one or more Network Load Balancers for the endpoint service. 402 func (o VpcEndpointServiceOutput) NetworkLoadBalancerArns() pulumi.StringArrayOutput { 403 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.NetworkLoadBalancerArns }).(pulumi.StringArrayOutput) 404 } 405 406 // The private DNS name for the service. 407 func (o VpcEndpointServiceOutput) PrivateDnsName() pulumi.StringOutput { 408 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringOutput { return v.PrivateDnsName }).(pulumi.StringOutput) 409 } 410 411 // List of objects containing information about the endpoint service private DNS name configuration. 412 func (o VpcEndpointServiceOutput) PrivateDnsNameConfigurations() VpcEndpointServicePrivateDnsNameConfigurationArrayOutput { 413 return o.ApplyT(func(v *VpcEndpointService) VpcEndpointServicePrivateDnsNameConfigurationArrayOutput { 414 return v.PrivateDnsNameConfigurations 415 }).(VpcEndpointServicePrivateDnsNameConfigurationArrayOutput) 416 } 417 418 // The service name. 419 func (o VpcEndpointServiceOutput) ServiceName() pulumi.StringOutput { 420 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput) 421 } 422 423 // The service type, `Gateway` or `Interface`. 424 func (o VpcEndpointServiceOutput) ServiceType() pulumi.StringOutput { 425 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringOutput { return v.ServiceType }).(pulumi.StringOutput) 426 } 427 428 // Verification state of the VPC endpoint service. Consumers of the endpoint service can use the private name only when the state is `verified`. 429 func (o VpcEndpointServiceOutput) State() pulumi.StringOutput { 430 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) 431 } 432 433 // The supported IP address types. The possible values are `ipv4` and `ipv6`. 434 func (o VpcEndpointServiceOutput) SupportedIpAddressTypes() pulumi.StringArrayOutput { 435 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringArrayOutput { return v.SupportedIpAddressTypes }).(pulumi.StringArrayOutput) 436 } 437 438 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 439 func (o VpcEndpointServiceOutput) Tags() pulumi.StringMapOutput { 440 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 441 } 442 443 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 444 // 445 // Deprecated: Please use `tags` instead. 446 func (o VpcEndpointServiceOutput) TagsAll() pulumi.StringMapOutput { 447 return o.ApplyT(func(v *VpcEndpointService) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 448 } 449 450 type VpcEndpointServiceArrayOutput struct{ *pulumi.OutputState } 451 452 func (VpcEndpointServiceArrayOutput) ElementType() reflect.Type { 453 return reflect.TypeOf((*[]*VpcEndpointService)(nil)).Elem() 454 } 455 456 func (o VpcEndpointServiceArrayOutput) ToVpcEndpointServiceArrayOutput() VpcEndpointServiceArrayOutput { 457 return o 458 } 459 460 func (o VpcEndpointServiceArrayOutput) ToVpcEndpointServiceArrayOutputWithContext(ctx context.Context) VpcEndpointServiceArrayOutput { 461 return o 462 } 463 464 func (o VpcEndpointServiceArrayOutput) Index(i pulumi.IntInput) VpcEndpointServiceOutput { 465 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcEndpointService { 466 return vs[0].([]*VpcEndpointService)[vs[1].(int)] 467 }).(VpcEndpointServiceOutput) 468 } 469 470 type VpcEndpointServiceMapOutput struct{ *pulumi.OutputState } 471 472 func (VpcEndpointServiceMapOutput) ElementType() reflect.Type { 473 return reflect.TypeOf((*map[string]*VpcEndpointService)(nil)).Elem() 474 } 475 476 func (o VpcEndpointServiceMapOutput) ToVpcEndpointServiceMapOutput() VpcEndpointServiceMapOutput { 477 return o 478 } 479 480 func (o VpcEndpointServiceMapOutput) ToVpcEndpointServiceMapOutputWithContext(ctx context.Context) VpcEndpointServiceMapOutput { 481 return o 482 } 483 484 func (o VpcEndpointServiceMapOutput) MapIndex(k pulumi.StringInput) VpcEndpointServiceOutput { 485 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcEndpointService { 486 return vs[0].(map[string]*VpcEndpointService)[vs[1].(string)] 487 }).(VpcEndpointServiceOutput) 488 } 489 490 func init() { 491 pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointServiceInput)(nil)).Elem(), &VpcEndpointService{}) 492 pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointServiceArrayInput)(nil)).Elem(), VpcEndpointServiceArray{}) 493 pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointServiceMapInput)(nil)).Elem(), VpcEndpointServiceMap{}) 494 pulumi.RegisterOutputType(VpcEndpointServiceOutput{}) 495 pulumi.RegisterOutputType(VpcEndpointServiceArrayOutput{}) 496 pulumi.RegisterOutputType(VpcEndpointServiceMapOutput{}) 497 }