github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/s3/accessPoint.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 s3 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 resource to manage an S3 Access Point. 16 // 17 // > **NOTE on Access Points and Access Point Policies:** This provider provides both a standalone Access Point Policy resource and an Access Point resource with a resource policy defined in-line. You cannot use an Access Point with in-line resource policy in conjunction with an Access Point Policy resource. Doing so will cause a conflict of policies and will overwrite the access point's resource policy. 18 // 19 // > Advanced usage: To use a custom API endpoint for this resource, use the `s3control` endpoint provider configuration), not the `s3` endpoint provider configuration. 20 // 21 // > This resource cannot be used with S3 directory buckets. 22 // 23 // ## Example Usage 24 // 25 // ### AWS Partition General Purpose Bucket 26 // 27 // <!--Start PulumiCodeChooser --> 28 // ```go 29 // package main 30 // 31 // import ( 32 // 33 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 34 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 35 // 36 // ) 37 // 38 // func main() { 39 // pulumi.Run(func(ctx *pulumi.Context) error { 40 // example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{ 41 // Bucket: pulumi.String("example"), 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // _, err = s3.NewAccessPoint(ctx, "example", &s3.AccessPointArgs{ 47 // Bucket: example.ID(), 48 // Name: pulumi.String("example"), 49 // }) 50 // if err != nil { 51 // return err 52 // } 53 // return nil 54 // }) 55 // } 56 // 57 // ``` 58 // <!--End PulumiCodeChooser --> 59 // 60 // ### S3 on Outposts Bucket 61 // 62 // <!--Start PulumiCodeChooser --> 63 // ```go 64 // package main 65 // 66 // import ( 67 // 68 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 69 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 70 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control" 71 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 72 // 73 // ) 74 // 75 // func main() { 76 // pulumi.Run(func(ctx *pulumi.Context) error { 77 // example, err := s3control.NewBucket(ctx, "example", &s3control.BucketArgs{ 78 // Bucket: pulumi.String("example"), 79 // }) 80 // if err != nil { 81 // return err 82 // } 83 // exampleVpc, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{ 84 // CidrBlock: pulumi.String("10.0.0.0/16"), 85 // }) 86 // if err != nil { 87 // return err 88 // } 89 // _, err = s3.NewAccessPoint(ctx, "example", &s3.AccessPointArgs{ 90 // Bucket: example.Arn, 91 // Name: pulumi.String("example"), 92 // VpcConfiguration: &s3.AccessPointVpcConfigurationArgs{ 93 // VpcId: exampleVpc.ID(), 94 // }, 95 // }) 96 // if err != nil { 97 // return err 98 // } 99 // return nil 100 // }) 101 // } 102 // 103 // ``` 104 // <!--End PulumiCodeChooser --> 105 // 106 // ## Import 107 // 108 // Import using the ARN for Access Points associated with an S3 on Outposts Bucket: 109 // 110 // __Using `pulumi import` to import.__ For example: 111 // 112 // Import using the `account_id` and `name` separated by a colon (`:`) for Access Points associated with an AWS Partition S3 Bucket: 113 // 114 // ```sh 115 // $ pulumi import aws:s3/accessPoint:AccessPoint example 123456789012:example 116 // ``` 117 // Import using the ARN for Access Points associated with an S3 on Outposts Bucket: 118 // 119 // ```sh 120 // $ pulumi import aws:s3/accessPoint:AccessPoint example arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-1234567890123456/accesspoint/example 121 // ``` 122 type AccessPoint struct { 123 pulumi.CustomResourceState 124 125 // AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider. 126 AccountId pulumi.StringOutput `pulumi:"accountId"` 127 // Alias of the S3 Access Point. 128 Alias pulumi.StringOutput `pulumi:"alias"` 129 // ARN of the S3 Access Point. 130 Arn pulumi.StringOutput `pulumi:"arn"` 131 // Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with. 132 Bucket pulumi.StringOutput `pulumi:"bucket"` 133 // AWS account ID associated with the S3 bucket associated with this access point. 134 BucketAccountId pulumi.StringOutput `pulumi:"bucketAccountId"` 135 // DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com. 136 // Note: S3 access points only support secure access by HTTPS. HTTP isn't supported. 137 DomainName pulumi.StringOutput `pulumi:"domainName"` 138 // VPC endpoints for the S3 Access Point. 139 Endpoints pulumi.StringMapOutput `pulumi:"endpoints"` 140 // Indicates whether this access point currently has a policy that allows public access. 141 HasPublicAccessPolicy pulumi.BoolOutput `pulumi:"hasPublicAccessPolicy"` 142 // Name you want to assign to this access point. 143 // 144 // The following arguments are optional: 145 Name pulumi.StringOutput `pulumi:"name"` 146 // Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). 147 NetworkOrigin pulumi.StringOutput `pulumi:"networkOrigin"` 148 // Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). 149 Policy pulumi.StringOutput `pulumi:"policy"` 150 // Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. 151 PublicAccessBlockConfiguration AccessPointPublicAccessBlockConfigurationPtrOutput `pulumi:"publicAccessBlockConfiguration"` 152 // Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. 153 VpcConfiguration AccessPointVpcConfigurationPtrOutput `pulumi:"vpcConfiguration"` 154 } 155 156 // NewAccessPoint registers a new resource with the given unique name, arguments, and options. 157 func NewAccessPoint(ctx *pulumi.Context, 158 name string, args *AccessPointArgs, opts ...pulumi.ResourceOption) (*AccessPoint, error) { 159 if args == nil { 160 return nil, errors.New("missing one or more required arguments") 161 } 162 163 if args.Bucket == nil { 164 return nil, errors.New("invalid value for required argument 'Bucket'") 165 } 166 opts = internal.PkgResourceDefaultOpts(opts) 167 var resource AccessPoint 168 err := ctx.RegisterResource("aws:s3/accessPoint:AccessPoint", name, args, &resource, opts...) 169 if err != nil { 170 return nil, err 171 } 172 return &resource, nil 173 } 174 175 // GetAccessPoint gets an existing AccessPoint resource's state with the given name, ID, and optional 176 // state properties that are used to uniquely qualify the lookup (nil if not required). 177 func GetAccessPoint(ctx *pulumi.Context, 178 name string, id pulumi.IDInput, state *AccessPointState, opts ...pulumi.ResourceOption) (*AccessPoint, error) { 179 var resource AccessPoint 180 err := ctx.ReadResource("aws:s3/accessPoint:AccessPoint", name, id, state, &resource, opts...) 181 if err != nil { 182 return nil, err 183 } 184 return &resource, nil 185 } 186 187 // Input properties used for looking up and filtering AccessPoint resources. 188 type accessPointState struct { 189 // AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider. 190 AccountId *string `pulumi:"accountId"` 191 // Alias of the S3 Access Point. 192 Alias *string `pulumi:"alias"` 193 // ARN of the S3 Access Point. 194 Arn *string `pulumi:"arn"` 195 // Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with. 196 Bucket *string `pulumi:"bucket"` 197 // AWS account ID associated with the S3 bucket associated with this access point. 198 BucketAccountId *string `pulumi:"bucketAccountId"` 199 // DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com. 200 // Note: S3 access points only support secure access by HTTPS. HTTP isn't supported. 201 DomainName *string `pulumi:"domainName"` 202 // VPC endpoints for the S3 Access Point. 203 Endpoints map[string]string `pulumi:"endpoints"` 204 // Indicates whether this access point currently has a policy that allows public access. 205 HasPublicAccessPolicy *bool `pulumi:"hasPublicAccessPolicy"` 206 // Name you want to assign to this access point. 207 // 208 // The following arguments are optional: 209 Name *string `pulumi:"name"` 210 // Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). 211 NetworkOrigin *string `pulumi:"networkOrigin"` 212 // Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). 213 Policy *string `pulumi:"policy"` 214 // Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. 215 PublicAccessBlockConfiguration *AccessPointPublicAccessBlockConfiguration `pulumi:"publicAccessBlockConfiguration"` 216 // Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. 217 VpcConfiguration *AccessPointVpcConfiguration `pulumi:"vpcConfiguration"` 218 } 219 220 type AccessPointState struct { 221 // AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider. 222 AccountId pulumi.StringPtrInput 223 // Alias of the S3 Access Point. 224 Alias pulumi.StringPtrInput 225 // ARN of the S3 Access Point. 226 Arn pulumi.StringPtrInput 227 // Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with. 228 Bucket pulumi.StringPtrInput 229 // AWS account ID associated with the S3 bucket associated with this access point. 230 BucketAccountId pulumi.StringPtrInput 231 // DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com. 232 // Note: S3 access points only support secure access by HTTPS. HTTP isn't supported. 233 DomainName pulumi.StringPtrInput 234 // VPC endpoints for the S3 Access Point. 235 Endpoints pulumi.StringMapInput 236 // Indicates whether this access point currently has a policy that allows public access. 237 HasPublicAccessPolicy pulumi.BoolPtrInput 238 // Name you want to assign to this access point. 239 // 240 // The following arguments are optional: 241 Name pulumi.StringPtrInput 242 // Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). 243 NetworkOrigin pulumi.StringPtrInput 244 // Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). 245 Policy pulumi.StringPtrInput 246 // Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. 247 PublicAccessBlockConfiguration AccessPointPublicAccessBlockConfigurationPtrInput 248 // Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. 249 VpcConfiguration AccessPointVpcConfigurationPtrInput 250 } 251 252 func (AccessPointState) ElementType() reflect.Type { 253 return reflect.TypeOf((*accessPointState)(nil)).Elem() 254 } 255 256 type accessPointArgs struct { 257 // AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider. 258 AccountId *string `pulumi:"accountId"` 259 // Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with. 260 Bucket string `pulumi:"bucket"` 261 // AWS account ID associated with the S3 bucket associated with this access point. 262 BucketAccountId *string `pulumi:"bucketAccountId"` 263 // Name you want to assign to this access point. 264 // 265 // The following arguments are optional: 266 Name *string `pulumi:"name"` 267 // Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). 268 Policy *string `pulumi:"policy"` 269 // Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. 270 PublicAccessBlockConfiguration *AccessPointPublicAccessBlockConfiguration `pulumi:"publicAccessBlockConfiguration"` 271 // Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. 272 VpcConfiguration *AccessPointVpcConfiguration `pulumi:"vpcConfiguration"` 273 } 274 275 // The set of arguments for constructing a AccessPoint resource. 276 type AccessPointArgs struct { 277 // AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider. 278 AccountId pulumi.StringPtrInput 279 // Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with. 280 Bucket pulumi.StringInput 281 // AWS account ID associated with the S3 bucket associated with this access point. 282 BucketAccountId pulumi.StringPtrInput 283 // Name you want to assign to this access point. 284 // 285 // The following arguments are optional: 286 Name pulumi.StringPtrInput 287 // Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). 288 Policy pulumi.StringPtrInput 289 // Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. 290 PublicAccessBlockConfiguration AccessPointPublicAccessBlockConfigurationPtrInput 291 // Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. 292 VpcConfiguration AccessPointVpcConfigurationPtrInput 293 } 294 295 func (AccessPointArgs) ElementType() reflect.Type { 296 return reflect.TypeOf((*accessPointArgs)(nil)).Elem() 297 } 298 299 type AccessPointInput interface { 300 pulumi.Input 301 302 ToAccessPointOutput() AccessPointOutput 303 ToAccessPointOutputWithContext(ctx context.Context) AccessPointOutput 304 } 305 306 func (*AccessPoint) ElementType() reflect.Type { 307 return reflect.TypeOf((**AccessPoint)(nil)).Elem() 308 } 309 310 func (i *AccessPoint) ToAccessPointOutput() AccessPointOutput { 311 return i.ToAccessPointOutputWithContext(context.Background()) 312 } 313 314 func (i *AccessPoint) ToAccessPointOutputWithContext(ctx context.Context) AccessPointOutput { 315 return pulumi.ToOutputWithContext(ctx, i).(AccessPointOutput) 316 } 317 318 // AccessPointArrayInput is an input type that accepts AccessPointArray and AccessPointArrayOutput values. 319 // You can construct a concrete instance of `AccessPointArrayInput` via: 320 // 321 // AccessPointArray{ AccessPointArgs{...} } 322 type AccessPointArrayInput interface { 323 pulumi.Input 324 325 ToAccessPointArrayOutput() AccessPointArrayOutput 326 ToAccessPointArrayOutputWithContext(context.Context) AccessPointArrayOutput 327 } 328 329 type AccessPointArray []AccessPointInput 330 331 func (AccessPointArray) ElementType() reflect.Type { 332 return reflect.TypeOf((*[]*AccessPoint)(nil)).Elem() 333 } 334 335 func (i AccessPointArray) ToAccessPointArrayOutput() AccessPointArrayOutput { 336 return i.ToAccessPointArrayOutputWithContext(context.Background()) 337 } 338 339 func (i AccessPointArray) ToAccessPointArrayOutputWithContext(ctx context.Context) AccessPointArrayOutput { 340 return pulumi.ToOutputWithContext(ctx, i).(AccessPointArrayOutput) 341 } 342 343 // AccessPointMapInput is an input type that accepts AccessPointMap and AccessPointMapOutput values. 344 // You can construct a concrete instance of `AccessPointMapInput` via: 345 // 346 // AccessPointMap{ "key": AccessPointArgs{...} } 347 type AccessPointMapInput interface { 348 pulumi.Input 349 350 ToAccessPointMapOutput() AccessPointMapOutput 351 ToAccessPointMapOutputWithContext(context.Context) AccessPointMapOutput 352 } 353 354 type AccessPointMap map[string]AccessPointInput 355 356 func (AccessPointMap) ElementType() reflect.Type { 357 return reflect.TypeOf((*map[string]*AccessPoint)(nil)).Elem() 358 } 359 360 func (i AccessPointMap) ToAccessPointMapOutput() AccessPointMapOutput { 361 return i.ToAccessPointMapOutputWithContext(context.Background()) 362 } 363 364 func (i AccessPointMap) ToAccessPointMapOutputWithContext(ctx context.Context) AccessPointMapOutput { 365 return pulumi.ToOutputWithContext(ctx, i).(AccessPointMapOutput) 366 } 367 368 type AccessPointOutput struct{ *pulumi.OutputState } 369 370 func (AccessPointOutput) ElementType() reflect.Type { 371 return reflect.TypeOf((**AccessPoint)(nil)).Elem() 372 } 373 374 func (o AccessPointOutput) ToAccessPointOutput() AccessPointOutput { 375 return o 376 } 377 378 func (o AccessPointOutput) ToAccessPointOutputWithContext(ctx context.Context) AccessPointOutput { 379 return o 380 } 381 382 // AWS account ID for the owner of the bucket for which you want to create an access point. Defaults to automatically determined account ID of the AWS provider. 383 func (o AccessPointOutput) AccountId() pulumi.StringOutput { 384 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) 385 } 386 387 // Alias of the S3 Access Point. 388 func (o AccessPointOutput) Alias() pulumi.StringOutput { 389 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.Alias }).(pulumi.StringOutput) 390 } 391 392 // ARN of the S3 Access Point. 393 func (o AccessPointOutput) Arn() pulumi.StringOutput { 394 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 395 } 396 397 // Name of an AWS Partition S3 General Purpose Bucket or the ARN of S3 on Outposts Bucket that you want to associate this access point with. 398 func (o AccessPointOutput) Bucket() pulumi.StringOutput { 399 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput) 400 } 401 402 // AWS account ID associated with the S3 bucket associated with this access point. 403 func (o AccessPointOutput) BucketAccountId() pulumi.StringOutput { 404 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.BucketAccountId }).(pulumi.StringOutput) 405 } 406 407 // DNS domain name of the S3 Access Point in the format _`name`_-_`accountId`_.s3-accesspoint._region_.amazonaws.com. 408 // Note: S3 access points only support secure access by HTTPS. HTTP isn't supported. 409 func (o AccessPointOutput) DomainName() pulumi.StringOutput { 410 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) 411 } 412 413 // VPC endpoints for the S3 Access Point. 414 func (o AccessPointOutput) Endpoints() pulumi.StringMapOutput { 415 return o.ApplyT(func(v *AccessPoint) pulumi.StringMapOutput { return v.Endpoints }).(pulumi.StringMapOutput) 416 } 417 418 // Indicates whether this access point currently has a policy that allows public access. 419 func (o AccessPointOutput) HasPublicAccessPolicy() pulumi.BoolOutput { 420 return o.ApplyT(func(v *AccessPoint) pulumi.BoolOutput { return v.HasPublicAccessPolicy }).(pulumi.BoolOutput) 421 } 422 423 // Name you want to assign to this access point. 424 // 425 // The following arguments are optional: 426 func (o AccessPointOutput) Name() pulumi.StringOutput { 427 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 428 } 429 430 // Indicates whether this access point allows access from the public Internet. Values are `VPC` (the access point doesn't allow access from the public Internet) and `Internet` (the access point allows access from the public Internet, subject to the access point and bucket access policies). 431 func (o AccessPointOutput) NetworkOrigin() pulumi.StringOutput { 432 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.NetworkOrigin }).(pulumi.StringOutput) 433 } 434 435 // Valid JSON document that specifies the policy that you want to apply to this access point. Removing `policy` from your configuration or setting `policy` to null or an empty string (i.e., `policy = ""`) _will not_ delete the policy since it could have been set by `s3control.AccessPointPolicy`. To remove the `policy`, set it to `"{}"` (an empty JSON document). 436 func (o AccessPointOutput) Policy() pulumi.StringOutput { 437 return o.ApplyT(func(v *AccessPoint) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) 438 } 439 440 // Configuration block to manage the `PublicAccessBlock` configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. Detailed below. 441 func (o AccessPointOutput) PublicAccessBlockConfiguration() AccessPointPublicAccessBlockConfigurationPtrOutput { 442 return o.ApplyT(func(v *AccessPoint) AccessPointPublicAccessBlockConfigurationPtrOutput { 443 return v.PublicAccessBlockConfiguration 444 }).(AccessPointPublicAccessBlockConfigurationPtrOutput) 445 } 446 447 // Configuration block to restrict access to this access point to requests from the specified Virtual Private Cloud (VPC). Required for S3 on Outposts. Detailed below. 448 func (o AccessPointOutput) VpcConfiguration() AccessPointVpcConfigurationPtrOutput { 449 return o.ApplyT(func(v *AccessPoint) AccessPointVpcConfigurationPtrOutput { return v.VpcConfiguration }).(AccessPointVpcConfigurationPtrOutput) 450 } 451 452 type AccessPointArrayOutput struct{ *pulumi.OutputState } 453 454 func (AccessPointArrayOutput) ElementType() reflect.Type { 455 return reflect.TypeOf((*[]*AccessPoint)(nil)).Elem() 456 } 457 458 func (o AccessPointArrayOutput) ToAccessPointArrayOutput() AccessPointArrayOutput { 459 return o 460 } 461 462 func (o AccessPointArrayOutput) ToAccessPointArrayOutputWithContext(ctx context.Context) AccessPointArrayOutput { 463 return o 464 } 465 466 func (o AccessPointArrayOutput) Index(i pulumi.IntInput) AccessPointOutput { 467 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AccessPoint { 468 return vs[0].([]*AccessPoint)[vs[1].(int)] 469 }).(AccessPointOutput) 470 } 471 472 type AccessPointMapOutput struct{ *pulumi.OutputState } 473 474 func (AccessPointMapOutput) ElementType() reflect.Type { 475 return reflect.TypeOf((*map[string]*AccessPoint)(nil)).Elem() 476 } 477 478 func (o AccessPointMapOutput) ToAccessPointMapOutput() AccessPointMapOutput { 479 return o 480 } 481 482 func (o AccessPointMapOutput) ToAccessPointMapOutputWithContext(ctx context.Context) AccessPointMapOutput { 483 return o 484 } 485 486 func (o AccessPointMapOutput) MapIndex(k pulumi.StringInput) AccessPointOutput { 487 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AccessPoint { 488 return vs[0].(map[string]*AccessPoint)[vs[1].(string)] 489 }).(AccessPointOutput) 490 } 491 492 func init() { 493 pulumi.RegisterInputType(reflect.TypeOf((*AccessPointInput)(nil)).Elem(), &AccessPoint{}) 494 pulumi.RegisterInputType(reflect.TypeOf((*AccessPointArrayInput)(nil)).Elem(), AccessPointArray{}) 495 pulumi.RegisterInputType(reflect.TypeOf((*AccessPointMapInput)(nil)).Elem(), AccessPointMap{}) 496 pulumi.RegisterOutputType(AccessPointOutput{}) 497 pulumi.RegisterOutputType(AccessPointArrayOutput{}) 498 pulumi.RegisterOutputType(AccessPointMapOutput{}) 499 }