github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/verifiedaccess/endpoint.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 verifiedaccess 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 // Resource for managing an AWS EC2 (Elastic Compute Cloud) Verified Access Endpoint. 16 // 17 // ## Example Usage 18 // 19 // ### Network Interface Example 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedaccess" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := verifiedaccess.NewEndpoint(ctx, "example", &verifiedaccess.EndpointArgs{ 35 // ApplicationDomain: pulumi.String("example.com"), 36 // AttachmentType: pulumi.String("vpc"), 37 // Description: pulumi.String("example"), 38 // DomainCertificateArn: pulumi.Any(exampleAwsAcmCertificate.Arn), 39 // EndpointDomainPrefix: pulumi.String("example"), 40 // EndpointType: pulumi.String("network-interface"), 41 // NetworkInterfaceOptions: &verifiedaccess.EndpointNetworkInterfaceOptionsArgs{ 42 // NetworkInterfaceId: pulumi.Any(exampleAwsNetworkInterface.Id), 43 // Port: pulumi.Int(443), 44 // Protocol: pulumi.String("https"), 45 // }, 46 // SecurityGroupIds: pulumi.StringArray{ 47 // exampleAwsSecurityGroup.Id, 48 // }, 49 // VerifiedAccessGroupId: pulumi.Any(exampleAwsVerifiedaccessGroup.Id), 50 // }) 51 // if err != nil { 52 // return err 53 // } 54 // return nil 55 // }) 56 // } 57 // 58 // ``` 59 // <!--End PulumiCodeChooser --> 60 // 61 // ## Import 62 // 63 // Using `pulumi import`, import Verified Access Instances using the `id`. For example: 64 // 65 // ```sh 66 // $ pulumi import aws:verifiedaccess/endpoint:Endpoint example vae-8012925589 67 // ``` 68 type Endpoint struct { 69 pulumi.CustomResourceState 70 71 // The DNS name for users to reach your application. 72 ApplicationDomain pulumi.StringOutput `pulumi:"applicationDomain"` 73 // The type of attachment. Currently, only `vpc` is supported. 74 AttachmentType pulumi.StringOutput `pulumi:"attachmentType"` 75 // A description for the Verified Access endpoint. 76 Description pulumi.StringPtrOutput `pulumi:"description"` 77 // Returned if endpoint has a device trust provider attached. 78 DeviceValidationDomain pulumi.StringOutput `pulumi:"deviceValidationDomain"` 79 // The ARN of the public TLS/SSL certificate in AWS Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application. 80 DomainCertificateArn pulumi.StringOutput `pulumi:"domainCertificateArn"` 81 // A DNS name that is generated for the endpoint. 82 EndpointDomain pulumi.StringOutput `pulumi:"endpointDomain"` 83 // A custom identifier that is prepended to the DNS name that is generated for the endpoint. 84 EndpointDomainPrefix pulumi.StringOutput `pulumi:"endpointDomainPrefix"` 85 // The type of Verified Access endpoint to create. Currently `load-balancer` or `network-interface` are supported. 86 EndpointType pulumi.StringOutput `pulumi:"endpointType"` 87 // The load balancer details. This parameter is required if the endpoint type is `load-balancer`. 88 LoadBalancerOptions EndpointLoadBalancerOptionsPtrOutput `pulumi:"loadBalancerOptions"` 89 // The network interface details. This parameter is required if the endpoint type is `network-interface`. 90 NetworkInterfaceOptions EndpointNetworkInterfaceOptionsPtrOutput `pulumi:"networkInterfaceOptions"` 91 // The policy document that is associated with this resource. 92 PolicyDocument pulumi.StringPtrOutput `pulumi:"policyDocument"` 93 // List of the the security groups IDs to associate with the Verified Access endpoint. 94 SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` 95 // The options in use for server side encryption. 96 SseSpecification EndpointSseSpecificationOutput `pulumi:"sseSpecification"` 97 // Key-value tags for the Verified Access Endpoint. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 98 Tags pulumi.StringMapOutput `pulumi:"tags"` 99 // Deprecated: Please use `tags` instead. 100 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 101 // The ID of the Verified Access group to associate the endpoint with. 102 // 103 // The following arguments are optional: 104 VerifiedAccessGroupId pulumi.StringOutput `pulumi:"verifiedAccessGroupId"` 105 VerifiedAccessInstanceId pulumi.StringOutput `pulumi:"verifiedAccessInstanceId"` 106 } 107 108 // NewEndpoint registers a new resource with the given unique name, arguments, and options. 109 func NewEndpoint(ctx *pulumi.Context, 110 name string, args *EndpointArgs, opts ...pulumi.ResourceOption) (*Endpoint, error) { 111 if args == nil { 112 return nil, errors.New("missing one or more required arguments") 113 } 114 115 if args.ApplicationDomain == nil { 116 return nil, errors.New("invalid value for required argument 'ApplicationDomain'") 117 } 118 if args.AttachmentType == nil { 119 return nil, errors.New("invalid value for required argument 'AttachmentType'") 120 } 121 if args.DomainCertificateArn == nil { 122 return nil, errors.New("invalid value for required argument 'DomainCertificateArn'") 123 } 124 if args.EndpointDomainPrefix == nil { 125 return nil, errors.New("invalid value for required argument 'EndpointDomainPrefix'") 126 } 127 if args.EndpointType == nil { 128 return nil, errors.New("invalid value for required argument 'EndpointType'") 129 } 130 if args.VerifiedAccessGroupId == nil { 131 return nil, errors.New("invalid value for required argument 'VerifiedAccessGroupId'") 132 } 133 opts = internal.PkgResourceDefaultOpts(opts) 134 var resource Endpoint 135 err := ctx.RegisterResource("aws:verifiedaccess/endpoint:Endpoint", name, args, &resource, opts...) 136 if err != nil { 137 return nil, err 138 } 139 return &resource, nil 140 } 141 142 // GetEndpoint gets an existing Endpoint resource's state with the given name, ID, and optional 143 // state properties that are used to uniquely qualify the lookup (nil if not required). 144 func GetEndpoint(ctx *pulumi.Context, 145 name string, id pulumi.IDInput, state *EndpointState, opts ...pulumi.ResourceOption) (*Endpoint, error) { 146 var resource Endpoint 147 err := ctx.ReadResource("aws:verifiedaccess/endpoint:Endpoint", name, id, state, &resource, opts...) 148 if err != nil { 149 return nil, err 150 } 151 return &resource, nil 152 } 153 154 // Input properties used for looking up and filtering Endpoint resources. 155 type endpointState struct { 156 // The DNS name for users to reach your application. 157 ApplicationDomain *string `pulumi:"applicationDomain"` 158 // The type of attachment. Currently, only `vpc` is supported. 159 AttachmentType *string `pulumi:"attachmentType"` 160 // A description for the Verified Access endpoint. 161 Description *string `pulumi:"description"` 162 // Returned if endpoint has a device trust provider attached. 163 DeviceValidationDomain *string `pulumi:"deviceValidationDomain"` 164 // The ARN of the public TLS/SSL certificate in AWS Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application. 165 DomainCertificateArn *string `pulumi:"domainCertificateArn"` 166 // A DNS name that is generated for the endpoint. 167 EndpointDomain *string `pulumi:"endpointDomain"` 168 // A custom identifier that is prepended to the DNS name that is generated for the endpoint. 169 EndpointDomainPrefix *string `pulumi:"endpointDomainPrefix"` 170 // The type of Verified Access endpoint to create. Currently `load-balancer` or `network-interface` are supported. 171 EndpointType *string `pulumi:"endpointType"` 172 // The load balancer details. This parameter is required if the endpoint type is `load-balancer`. 173 LoadBalancerOptions *EndpointLoadBalancerOptions `pulumi:"loadBalancerOptions"` 174 // The network interface details. This parameter is required if the endpoint type is `network-interface`. 175 NetworkInterfaceOptions *EndpointNetworkInterfaceOptions `pulumi:"networkInterfaceOptions"` 176 // The policy document that is associated with this resource. 177 PolicyDocument *string `pulumi:"policyDocument"` 178 // List of the the security groups IDs to associate with the Verified Access endpoint. 179 SecurityGroupIds []string `pulumi:"securityGroupIds"` 180 // The options in use for server side encryption. 181 SseSpecification *EndpointSseSpecification `pulumi:"sseSpecification"` 182 // Key-value tags for the Verified Access Endpoint. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 183 Tags map[string]string `pulumi:"tags"` 184 // Deprecated: Please use `tags` instead. 185 TagsAll map[string]string `pulumi:"tagsAll"` 186 // The ID of the Verified Access group to associate the endpoint with. 187 // 188 // The following arguments are optional: 189 VerifiedAccessGroupId *string `pulumi:"verifiedAccessGroupId"` 190 VerifiedAccessInstanceId *string `pulumi:"verifiedAccessInstanceId"` 191 } 192 193 type EndpointState struct { 194 // The DNS name for users to reach your application. 195 ApplicationDomain pulumi.StringPtrInput 196 // The type of attachment. Currently, only `vpc` is supported. 197 AttachmentType pulumi.StringPtrInput 198 // A description for the Verified Access endpoint. 199 Description pulumi.StringPtrInput 200 // Returned if endpoint has a device trust provider attached. 201 DeviceValidationDomain pulumi.StringPtrInput 202 // The ARN of the public TLS/SSL certificate in AWS Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application. 203 DomainCertificateArn pulumi.StringPtrInput 204 // A DNS name that is generated for the endpoint. 205 EndpointDomain pulumi.StringPtrInput 206 // A custom identifier that is prepended to the DNS name that is generated for the endpoint. 207 EndpointDomainPrefix pulumi.StringPtrInput 208 // The type of Verified Access endpoint to create. Currently `load-balancer` or `network-interface` are supported. 209 EndpointType pulumi.StringPtrInput 210 // The load balancer details. This parameter is required if the endpoint type is `load-balancer`. 211 LoadBalancerOptions EndpointLoadBalancerOptionsPtrInput 212 // The network interface details. This parameter is required if the endpoint type is `network-interface`. 213 NetworkInterfaceOptions EndpointNetworkInterfaceOptionsPtrInput 214 // The policy document that is associated with this resource. 215 PolicyDocument pulumi.StringPtrInput 216 // List of the the security groups IDs to associate with the Verified Access endpoint. 217 SecurityGroupIds pulumi.StringArrayInput 218 // The options in use for server side encryption. 219 SseSpecification EndpointSseSpecificationPtrInput 220 // Key-value tags for the Verified Access Endpoint. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 221 Tags pulumi.StringMapInput 222 // Deprecated: Please use `tags` instead. 223 TagsAll pulumi.StringMapInput 224 // The ID of the Verified Access group to associate the endpoint with. 225 // 226 // The following arguments are optional: 227 VerifiedAccessGroupId pulumi.StringPtrInput 228 VerifiedAccessInstanceId pulumi.StringPtrInput 229 } 230 231 func (EndpointState) ElementType() reflect.Type { 232 return reflect.TypeOf((*endpointState)(nil)).Elem() 233 } 234 235 type endpointArgs struct { 236 // The DNS name for users to reach your application. 237 ApplicationDomain string `pulumi:"applicationDomain"` 238 // The type of attachment. Currently, only `vpc` is supported. 239 AttachmentType string `pulumi:"attachmentType"` 240 // A description for the Verified Access endpoint. 241 Description *string `pulumi:"description"` 242 // The ARN of the public TLS/SSL certificate in AWS Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application. 243 DomainCertificateArn string `pulumi:"domainCertificateArn"` 244 // A custom identifier that is prepended to the DNS name that is generated for the endpoint. 245 EndpointDomainPrefix string `pulumi:"endpointDomainPrefix"` 246 // The type of Verified Access endpoint to create. Currently `load-balancer` or `network-interface` are supported. 247 EndpointType string `pulumi:"endpointType"` 248 // The load balancer details. This parameter is required if the endpoint type is `load-balancer`. 249 LoadBalancerOptions *EndpointLoadBalancerOptions `pulumi:"loadBalancerOptions"` 250 // The network interface details. This parameter is required if the endpoint type is `network-interface`. 251 NetworkInterfaceOptions *EndpointNetworkInterfaceOptions `pulumi:"networkInterfaceOptions"` 252 // The policy document that is associated with this resource. 253 PolicyDocument *string `pulumi:"policyDocument"` 254 // List of the the security groups IDs to associate with the Verified Access endpoint. 255 SecurityGroupIds []string `pulumi:"securityGroupIds"` 256 // The options in use for server side encryption. 257 SseSpecification *EndpointSseSpecification `pulumi:"sseSpecification"` 258 // Key-value tags for the Verified Access Endpoint. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 259 Tags map[string]string `pulumi:"tags"` 260 // The ID of the Verified Access group to associate the endpoint with. 261 // 262 // The following arguments are optional: 263 VerifiedAccessGroupId string `pulumi:"verifiedAccessGroupId"` 264 } 265 266 // The set of arguments for constructing a Endpoint resource. 267 type EndpointArgs struct { 268 // The DNS name for users to reach your application. 269 ApplicationDomain pulumi.StringInput 270 // The type of attachment. Currently, only `vpc` is supported. 271 AttachmentType pulumi.StringInput 272 // A description for the Verified Access endpoint. 273 Description pulumi.StringPtrInput 274 // The ARN of the public TLS/SSL certificate in AWS Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application. 275 DomainCertificateArn pulumi.StringInput 276 // A custom identifier that is prepended to the DNS name that is generated for the endpoint. 277 EndpointDomainPrefix pulumi.StringInput 278 // The type of Verified Access endpoint to create. Currently `load-balancer` or `network-interface` are supported. 279 EndpointType pulumi.StringInput 280 // The load balancer details. This parameter is required if the endpoint type is `load-balancer`. 281 LoadBalancerOptions EndpointLoadBalancerOptionsPtrInput 282 // The network interface details. This parameter is required if the endpoint type is `network-interface`. 283 NetworkInterfaceOptions EndpointNetworkInterfaceOptionsPtrInput 284 // The policy document that is associated with this resource. 285 PolicyDocument pulumi.StringPtrInput 286 // List of the the security groups IDs to associate with the Verified Access endpoint. 287 SecurityGroupIds pulumi.StringArrayInput 288 // The options in use for server side encryption. 289 SseSpecification EndpointSseSpecificationPtrInput 290 // Key-value tags for the Verified Access Endpoint. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 291 Tags pulumi.StringMapInput 292 // The ID of the Verified Access group to associate the endpoint with. 293 // 294 // The following arguments are optional: 295 VerifiedAccessGroupId pulumi.StringInput 296 } 297 298 func (EndpointArgs) ElementType() reflect.Type { 299 return reflect.TypeOf((*endpointArgs)(nil)).Elem() 300 } 301 302 type EndpointInput interface { 303 pulumi.Input 304 305 ToEndpointOutput() EndpointOutput 306 ToEndpointOutputWithContext(ctx context.Context) EndpointOutput 307 } 308 309 func (*Endpoint) ElementType() reflect.Type { 310 return reflect.TypeOf((**Endpoint)(nil)).Elem() 311 } 312 313 func (i *Endpoint) ToEndpointOutput() EndpointOutput { 314 return i.ToEndpointOutputWithContext(context.Background()) 315 } 316 317 func (i *Endpoint) ToEndpointOutputWithContext(ctx context.Context) EndpointOutput { 318 return pulumi.ToOutputWithContext(ctx, i).(EndpointOutput) 319 } 320 321 // EndpointArrayInput is an input type that accepts EndpointArray and EndpointArrayOutput values. 322 // You can construct a concrete instance of `EndpointArrayInput` via: 323 // 324 // EndpointArray{ EndpointArgs{...} } 325 type EndpointArrayInput interface { 326 pulumi.Input 327 328 ToEndpointArrayOutput() EndpointArrayOutput 329 ToEndpointArrayOutputWithContext(context.Context) EndpointArrayOutput 330 } 331 332 type EndpointArray []EndpointInput 333 334 func (EndpointArray) ElementType() reflect.Type { 335 return reflect.TypeOf((*[]*Endpoint)(nil)).Elem() 336 } 337 338 func (i EndpointArray) ToEndpointArrayOutput() EndpointArrayOutput { 339 return i.ToEndpointArrayOutputWithContext(context.Background()) 340 } 341 342 func (i EndpointArray) ToEndpointArrayOutputWithContext(ctx context.Context) EndpointArrayOutput { 343 return pulumi.ToOutputWithContext(ctx, i).(EndpointArrayOutput) 344 } 345 346 // EndpointMapInput is an input type that accepts EndpointMap and EndpointMapOutput values. 347 // You can construct a concrete instance of `EndpointMapInput` via: 348 // 349 // EndpointMap{ "key": EndpointArgs{...} } 350 type EndpointMapInput interface { 351 pulumi.Input 352 353 ToEndpointMapOutput() EndpointMapOutput 354 ToEndpointMapOutputWithContext(context.Context) EndpointMapOutput 355 } 356 357 type EndpointMap map[string]EndpointInput 358 359 func (EndpointMap) ElementType() reflect.Type { 360 return reflect.TypeOf((*map[string]*Endpoint)(nil)).Elem() 361 } 362 363 func (i EndpointMap) ToEndpointMapOutput() EndpointMapOutput { 364 return i.ToEndpointMapOutputWithContext(context.Background()) 365 } 366 367 func (i EndpointMap) ToEndpointMapOutputWithContext(ctx context.Context) EndpointMapOutput { 368 return pulumi.ToOutputWithContext(ctx, i).(EndpointMapOutput) 369 } 370 371 type EndpointOutput struct{ *pulumi.OutputState } 372 373 func (EndpointOutput) ElementType() reflect.Type { 374 return reflect.TypeOf((**Endpoint)(nil)).Elem() 375 } 376 377 func (o EndpointOutput) ToEndpointOutput() EndpointOutput { 378 return o 379 } 380 381 func (o EndpointOutput) ToEndpointOutputWithContext(ctx context.Context) EndpointOutput { 382 return o 383 } 384 385 // The DNS name for users to reach your application. 386 func (o EndpointOutput) ApplicationDomain() pulumi.StringOutput { 387 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.ApplicationDomain }).(pulumi.StringOutput) 388 } 389 390 // The type of attachment. Currently, only `vpc` is supported. 391 func (o EndpointOutput) AttachmentType() pulumi.StringOutput { 392 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.AttachmentType }).(pulumi.StringOutput) 393 } 394 395 // A description for the Verified Access endpoint. 396 func (o EndpointOutput) Description() pulumi.StringPtrOutput { 397 return o.ApplyT(func(v *Endpoint) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 398 } 399 400 // Returned if endpoint has a device trust provider attached. 401 func (o EndpointOutput) DeviceValidationDomain() pulumi.StringOutput { 402 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.DeviceValidationDomain }).(pulumi.StringOutput) 403 } 404 405 // The ARN of the public TLS/SSL certificate in AWS Certificate Manager to associate with the endpoint. The CN in the certificate must match the DNS name your end users will use to reach your application. 406 func (o EndpointOutput) DomainCertificateArn() pulumi.StringOutput { 407 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.DomainCertificateArn }).(pulumi.StringOutput) 408 } 409 410 // A DNS name that is generated for the endpoint. 411 func (o EndpointOutput) EndpointDomain() pulumi.StringOutput { 412 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.EndpointDomain }).(pulumi.StringOutput) 413 } 414 415 // A custom identifier that is prepended to the DNS name that is generated for the endpoint. 416 func (o EndpointOutput) EndpointDomainPrefix() pulumi.StringOutput { 417 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.EndpointDomainPrefix }).(pulumi.StringOutput) 418 } 419 420 // The type of Verified Access endpoint to create. Currently `load-balancer` or `network-interface` are supported. 421 func (o EndpointOutput) EndpointType() pulumi.StringOutput { 422 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.EndpointType }).(pulumi.StringOutput) 423 } 424 425 // The load balancer details. This parameter is required if the endpoint type is `load-balancer`. 426 func (o EndpointOutput) LoadBalancerOptions() EndpointLoadBalancerOptionsPtrOutput { 427 return o.ApplyT(func(v *Endpoint) EndpointLoadBalancerOptionsPtrOutput { return v.LoadBalancerOptions }).(EndpointLoadBalancerOptionsPtrOutput) 428 } 429 430 // The network interface details. This parameter is required if the endpoint type is `network-interface`. 431 func (o EndpointOutput) NetworkInterfaceOptions() EndpointNetworkInterfaceOptionsPtrOutput { 432 return o.ApplyT(func(v *Endpoint) EndpointNetworkInterfaceOptionsPtrOutput { return v.NetworkInterfaceOptions }).(EndpointNetworkInterfaceOptionsPtrOutput) 433 } 434 435 // The policy document that is associated with this resource. 436 func (o EndpointOutput) PolicyDocument() pulumi.StringPtrOutput { 437 return o.ApplyT(func(v *Endpoint) pulumi.StringPtrOutput { return v.PolicyDocument }).(pulumi.StringPtrOutput) 438 } 439 440 // List of the the security groups IDs to associate with the Verified Access endpoint. 441 func (o EndpointOutput) SecurityGroupIds() pulumi.StringArrayOutput { 442 return o.ApplyT(func(v *Endpoint) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) 443 } 444 445 // The options in use for server side encryption. 446 func (o EndpointOutput) SseSpecification() EndpointSseSpecificationOutput { 447 return o.ApplyT(func(v *Endpoint) EndpointSseSpecificationOutput { return v.SseSpecification }).(EndpointSseSpecificationOutput) 448 } 449 450 // Key-value tags for the Verified Access Endpoint. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 451 func (o EndpointOutput) Tags() pulumi.StringMapOutput { 452 return o.ApplyT(func(v *Endpoint) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 453 } 454 455 // Deprecated: Please use `tags` instead. 456 func (o EndpointOutput) TagsAll() pulumi.StringMapOutput { 457 return o.ApplyT(func(v *Endpoint) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 458 } 459 460 // The ID of the Verified Access group to associate the endpoint with. 461 // 462 // The following arguments are optional: 463 func (o EndpointOutput) VerifiedAccessGroupId() pulumi.StringOutput { 464 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.VerifiedAccessGroupId }).(pulumi.StringOutput) 465 } 466 467 func (o EndpointOutput) VerifiedAccessInstanceId() pulumi.StringOutput { 468 return o.ApplyT(func(v *Endpoint) pulumi.StringOutput { return v.VerifiedAccessInstanceId }).(pulumi.StringOutput) 469 } 470 471 type EndpointArrayOutput struct{ *pulumi.OutputState } 472 473 func (EndpointArrayOutput) ElementType() reflect.Type { 474 return reflect.TypeOf((*[]*Endpoint)(nil)).Elem() 475 } 476 477 func (o EndpointArrayOutput) ToEndpointArrayOutput() EndpointArrayOutput { 478 return o 479 } 480 481 func (o EndpointArrayOutput) ToEndpointArrayOutputWithContext(ctx context.Context) EndpointArrayOutput { 482 return o 483 } 484 485 func (o EndpointArrayOutput) Index(i pulumi.IntInput) EndpointOutput { 486 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Endpoint { 487 return vs[0].([]*Endpoint)[vs[1].(int)] 488 }).(EndpointOutput) 489 } 490 491 type EndpointMapOutput struct{ *pulumi.OutputState } 492 493 func (EndpointMapOutput) ElementType() reflect.Type { 494 return reflect.TypeOf((*map[string]*Endpoint)(nil)).Elem() 495 } 496 497 func (o EndpointMapOutput) ToEndpointMapOutput() EndpointMapOutput { 498 return o 499 } 500 501 func (o EndpointMapOutput) ToEndpointMapOutputWithContext(ctx context.Context) EndpointMapOutput { 502 return o 503 } 504 505 func (o EndpointMapOutput) MapIndex(k pulumi.StringInput) EndpointOutput { 506 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Endpoint { 507 return vs[0].(map[string]*Endpoint)[vs[1].(string)] 508 }).(EndpointOutput) 509 } 510 511 func init() { 512 pulumi.RegisterInputType(reflect.TypeOf((*EndpointInput)(nil)).Elem(), &Endpoint{}) 513 pulumi.RegisterInputType(reflect.TypeOf((*EndpointArrayInput)(nil)).Elem(), EndpointArray{}) 514 pulumi.RegisterInputType(reflect.TypeOf((*EndpointMapInput)(nil)).Elem(), EndpointMap{}) 515 pulumi.RegisterOutputType(EndpointOutput{}) 516 pulumi.RegisterOutputType(EndpointArrayOutput{}) 517 pulumi.RegisterOutputType(EndpointMapOutput{}) 518 }