github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/s3/bucketV2.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  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides a S3 bucket resource.
    15  //
    16  // > This resource provides functionality for managing S3 general purpose buckets in an AWS Partition. To manage Amazon S3 Express directory buckets, use the `awsDirectoryBucket` resource. To manage [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html), use the `s3control.Bucket` resource.
    17  //
    18  // > Object Lock can be enabled by using the `objectLockEnable` attribute or by using the `s3.BucketObjectLockConfigurationV2` resource. Please note, that by using the resource, Object Lock can be enabled/disabled without destroying and recreating the bucket.
    19  //
    20  // ## Example Usage
    21  //
    22  // ### Private Bucket With Tags
    23  //
    24  // <!--Start PulumiCodeChooser -->
    25  // ```go
    26  // package main
    27  //
    28  // import (
    29  //
    30  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
    31  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    32  //
    33  // )
    34  //
    35  //	func main() {
    36  //		pulumi.Run(func(ctx *pulumi.Context) error {
    37  //			_, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
    38  //				Bucket: pulumi.String("my-tf-test-bucket"),
    39  //				Tags: pulumi.StringMap{
    40  //					"Name":        pulumi.String("My bucket"),
    41  //					"Environment": pulumi.String("Dev"),
    42  //				},
    43  //			})
    44  //			if err != nil {
    45  //				return err
    46  //			}
    47  //			return nil
    48  //		})
    49  //	}
    50  //
    51  // ```
    52  // <!--End PulumiCodeChooser -->
    53  //
    54  // ## Import
    55  //
    56  // Using `pulumi import`, import S3 bucket using the `bucket`. For example:
    57  //
    58  // ```sh
    59  // $ pulumi import aws:s3/bucketV2:BucketV2 bucket bucket-name
    60  // ```
    61  type BucketV2 struct {
    62  	pulumi.CustomResourceState
    63  
    64  	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
    65  	// Use the resource `s3.BucketAccelerateConfigurationV2` instead.
    66  	//
    67  	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead
    68  	AccelerationStatus pulumi.StringOutput `pulumi:"accelerationStatus"`
    69  	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
    70  	//
    71  	// Deprecated: Use the s3.BucketAclV2 resource instead
    72  	Acl pulumi.StringOutput `pulumi:"acl"`
    73  	// ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
    74  	Arn pulumi.StringOutput `pulumi:"arn"`
    75  	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
    76  	Bucket pulumi.StringOutput `pulumi:"bucket"`
    77  	// Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
    78  	BucketDomainName pulumi.StringOutput `pulumi:"bucketDomainName"`
    79  	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
    80  	BucketPrefix pulumi.StringOutput `pulumi:"bucketPrefix"`
    81  	// The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
    82  	BucketRegionalDomainName pulumi.StringOutput `pulumi:"bucketRegionalDomainName"`
    83  	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead.
    84  	//
    85  	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
    86  	CorsRules BucketV2CorsRuleArrayOutput `pulumi:"corsRules"`
    87  	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
    88  	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
    89  	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
    90  	//
    91  	// Deprecated: Use the s3.BucketAclV2 resource instead
    92  	Grants BucketV2GrantArrayOutput `pulumi:"grants"`
    93  	// [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
    94  	HostedZoneId pulumi.StringOutput `pulumi:"hostedZoneId"`
    95  	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
    96  	// Use the resource `s3.BucketLifecycleConfigurationV2` instead.
    97  	//
    98  	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
    99  	LifecycleRules BucketV2LifecycleRuleArrayOutput `pulumi:"lifecycleRules"`
   100  	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
   101  	// Use the resource `s3.BucketLoggingV2` instead.
   102  	//
   103  	// Deprecated: Use the s3.BucketLoggingV2 resource instead
   104  	Loggings BucketV2LoggingArrayOutput `pulumi:"loggings"`
   105  	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
   106  	// The provider wil only perform drift detection if a configuration value is provided.
   107  	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfigurationV2` instead.
   108  	//
   109  	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
   110  	ObjectLockConfiguration BucketV2ObjectLockConfigurationOutput `pulumi:"objectLockConfiguration"`
   111  	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
   112  	ObjectLockEnabled pulumi.BoolOutput `pulumi:"objectLockEnabled"`
   113  	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
   114  	// The provider will only perform drift detection if a configuration value is provided.
   115  	// Use the resource `s3.BucketPolicy` instead.
   116  	//
   117  	// Deprecated: Use the s3.BucketPolicy resource instead
   118  	Policy pulumi.StringOutput `pulumi:"policy"`
   119  	// AWS region this bucket resides in.
   120  	Region pulumi.StringOutput `pulumi:"region"`
   121  	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
   122  	// Use the resource `s3.BucketReplicationConfig` instead.
   123  	//
   124  	// Deprecated: Use the s3.BucketReplicationConfig resource instead
   125  	ReplicationConfigurations BucketV2ReplicationConfigurationArrayOutput `pulumi:"replicationConfigurations"`
   126  	// Specifies who should bear the cost of Amazon S3 data transfer.
   127  	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
   128  	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
   129  	// The provider will only perform drift detection if a configuration value is provided.
   130  	// Use the resource `s3.BucketRequestPaymentConfigurationV2` instead.
   131  	//
   132  	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead
   133  	RequestPayer pulumi.StringOutput `pulumi:"requestPayer"`
   134  	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
   135  	// The provider will only perform drift detection if a configuration value is provided.
   136  	// Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead.
   137  	//
   138  	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
   139  	ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayOutput `pulumi:"serverSideEncryptionConfigurations"`
   140  	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   141  	//
   142  	// The following arguments are deprecated, and will be removed in a future major version:
   143  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   144  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   145  	//
   146  	// Deprecated: Please use `tags` instead.
   147  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   148  	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead.
   149  	//
   150  	// Deprecated: Use the s3.BucketVersioningV2 resource instead
   151  	Versionings BucketV2VersioningArrayOutput `pulumi:"versionings"`
   152  	// (**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   153  	//
   154  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   155  	WebsiteDomain pulumi.StringOutput `pulumi:"websiteDomain"`
   156  	// (**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   157  	//
   158  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   159  	WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"`
   160  	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
   161  	// Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   162  	//
   163  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
   164  	Websites BucketV2WebsiteArrayOutput `pulumi:"websites"`
   165  }
   166  
   167  // NewBucketV2 registers a new resource with the given unique name, arguments, and options.
   168  func NewBucketV2(ctx *pulumi.Context,
   169  	name string, args *BucketV2Args, opts ...pulumi.ResourceOption) (*BucketV2, error) {
   170  	if args == nil {
   171  		args = &BucketV2Args{}
   172  	}
   173  
   174  	aliases := pulumi.Aliases([]pulumi.Alias{
   175  		{
   176  			Type: pulumi.String("aws:s3/bucket:Bucket"),
   177  		},
   178  	})
   179  	opts = append(opts, aliases)
   180  	opts = internal.PkgResourceDefaultOpts(opts)
   181  	var resource BucketV2
   182  	err := ctx.RegisterResource("aws:s3/bucketV2:BucketV2", name, args, &resource, opts...)
   183  	if err != nil {
   184  		return nil, err
   185  	}
   186  	return &resource, nil
   187  }
   188  
   189  // GetBucketV2 gets an existing BucketV2 resource's state with the given name, ID, and optional
   190  // state properties that are used to uniquely qualify the lookup (nil if not required).
   191  func GetBucketV2(ctx *pulumi.Context,
   192  	name string, id pulumi.IDInput, state *BucketV2State, opts ...pulumi.ResourceOption) (*BucketV2, error) {
   193  	var resource BucketV2
   194  	err := ctx.ReadResource("aws:s3/bucketV2:BucketV2", name, id, state, &resource, opts...)
   195  	if err != nil {
   196  		return nil, err
   197  	}
   198  	return &resource, nil
   199  }
   200  
   201  // Input properties used for looking up and filtering BucketV2 resources.
   202  type bucketV2State struct {
   203  	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
   204  	// Use the resource `s3.BucketAccelerateConfigurationV2` instead.
   205  	//
   206  	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead
   207  	AccelerationStatus *string `pulumi:"accelerationStatus"`
   208  	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   209  	//
   210  	// Deprecated: Use the s3.BucketAclV2 resource instead
   211  	Acl *string `pulumi:"acl"`
   212  	// ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
   213  	Arn *string `pulumi:"arn"`
   214  	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
   215  	Bucket *string `pulumi:"bucket"`
   216  	// Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
   217  	BucketDomainName *string `pulumi:"bucketDomainName"`
   218  	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
   219  	BucketPrefix *string `pulumi:"bucketPrefix"`
   220  	// The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
   221  	BucketRegionalDomainName *string `pulumi:"bucketRegionalDomainName"`
   222  	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead.
   223  	//
   224  	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
   225  	CorsRules []BucketV2CorsRule `pulumi:"corsRules"`
   226  	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
   227  	ForceDestroy *bool `pulumi:"forceDestroy"`
   228  	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   229  	//
   230  	// Deprecated: Use the s3.BucketAclV2 resource instead
   231  	Grants []BucketV2Grant `pulumi:"grants"`
   232  	// [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
   233  	HostedZoneId *string `pulumi:"hostedZoneId"`
   234  	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
   235  	// Use the resource `s3.BucketLifecycleConfigurationV2` instead.
   236  	//
   237  	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
   238  	LifecycleRules []BucketV2LifecycleRule `pulumi:"lifecycleRules"`
   239  	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
   240  	// Use the resource `s3.BucketLoggingV2` instead.
   241  	//
   242  	// Deprecated: Use the s3.BucketLoggingV2 resource instead
   243  	Loggings []BucketV2Logging `pulumi:"loggings"`
   244  	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
   245  	// The provider wil only perform drift detection if a configuration value is provided.
   246  	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfigurationV2` instead.
   247  	//
   248  	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
   249  	ObjectLockConfiguration *BucketV2ObjectLockConfiguration `pulumi:"objectLockConfiguration"`
   250  	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
   251  	ObjectLockEnabled *bool `pulumi:"objectLockEnabled"`
   252  	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
   253  	// The provider will only perform drift detection if a configuration value is provided.
   254  	// Use the resource `s3.BucketPolicy` instead.
   255  	//
   256  	// Deprecated: Use the s3.BucketPolicy resource instead
   257  	Policy *string `pulumi:"policy"`
   258  	// AWS region this bucket resides in.
   259  	Region *string `pulumi:"region"`
   260  	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
   261  	// Use the resource `s3.BucketReplicationConfig` instead.
   262  	//
   263  	// Deprecated: Use the s3.BucketReplicationConfig resource instead
   264  	ReplicationConfigurations []BucketV2ReplicationConfiguration `pulumi:"replicationConfigurations"`
   265  	// Specifies who should bear the cost of Amazon S3 data transfer.
   266  	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
   267  	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
   268  	// The provider will only perform drift detection if a configuration value is provided.
   269  	// Use the resource `s3.BucketRequestPaymentConfigurationV2` instead.
   270  	//
   271  	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead
   272  	RequestPayer *string `pulumi:"requestPayer"`
   273  	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
   274  	// The provider will only perform drift detection if a configuration value is provided.
   275  	// Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead.
   276  	//
   277  	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
   278  	ServerSideEncryptionConfigurations []BucketV2ServerSideEncryptionConfiguration `pulumi:"serverSideEncryptionConfigurations"`
   279  	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   280  	//
   281  	// The following arguments are deprecated, and will be removed in a future major version:
   282  	Tags map[string]string `pulumi:"tags"`
   283  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   284  	//
   285  	// Deprecated: Please use `tags` instead.
   286  	TagsAll map[string]string `pulumi:"tagsAll"`
   287  	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead.
   288  	//
   289  	// Deprecated: Use the s3.BucketVersioningV2 resource instead
   290  	Versionings []BucketV2Versioning `pulumi:"versionings"`
   291  	// (**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   292  	//
   293  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   294  	WebsiteDomain *string `pulumi:"websiteDomain"`
   295  	// (**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   296  	//
   297  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   298  	WebsiteEndpoint *string `pulumi:"websiteEndpoint"`
   299  	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
   300  	// Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   301  	//
   302  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
   303  	Websites []BucketV2Website `pulumi:"websites"`
   304  }
   305  
   306  type BucketV2State struct {
   307  	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
   308  	// Use the resource `s3.BucketAccelerateConfigurationV2` instead.
   309  	//
   310  	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead
   311  	AccelerationStatus pulumi.StringPtrInput
   312  	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   313  	//
   314  	// Deprecated: Use the s3.BucketAclV2 resource instead
   315  	Acl pulumi.StringPtrInput
   316  	// ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
   317  	Arn pulumi.StringPtrInput
   318  	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
   319  	Bucket pulumi.StringPtrInput
   320  	// Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
   321  	BucketDomainName pulumi.StringPtrInput
   322  	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
   323  	BucketPrefix pulumi.StringPtrInput
   324  	// The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
   325  	BucketRegionalDomainName pulumi.StringPtrInput
   326  	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead.
   327  	//
   328  	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
   329  	CorsRules BucketV2CorsRuleArrayInput
   330  	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
   331  	ForceDestroy pulumi.BoolPtrInput
   332  	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   333  	//
   334  	// Deprecated: Use the s3.BucketAclV2 resource instead
   335  	Grants BucketV2GrantArrayInput
   336  	// [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
   337  	HostedZoneId pulumi.StringPtrInput
   338  	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
   339  	// Use the resource `s3.BucketLifecycleConfigurationV2` instead.
   340  	//
   341  	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
   342  	LifecycleRules BucketV2LifecycleRuleArrayInput
   343  	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
   344  	// Use the resource `s3.BucketLoggingV2` instead.
   345  	//
   346  	// Deprecated: Use the s3.BucketLoggingV2 resource instead
   347  	Loggings BucketV2LoggingArrayInput
   348  	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
   349  	// The provider wil only perform drift detection if a configuration value is provided.
   350  	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfigurationV2` instead.
   351  	//
   352  	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
   353  	ObjectLockConfiguration BucketV2ObjectLockConfigurationPtrInput
   354  	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
   355  	ObjectLockEnabled pulumi.BoolPtrInput
   356  	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
   357  	// The provider will only perform drift detection if a configuration value is provided.
   358  	// Use the resource `s3.BucketPolicy` instead.
   359  	//
   360  	// Deprecated: Use the s3.BucketPolicy resource instead
   361  	Policy pulumi.StringPtrInput
   362  	// AWS region this bucket resides in.
   363  	Region pulumi.StringPtrInput
   364  	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
   365  	// Use the resource `s3.BucketReplicationConfig` instead.
   366  	//
   367  	// Deprecated: Use the s3.BucketReplicationConfig resource instead
   368  	ReplicationConfigurations BucketV2ReplicationConfigurationArrayInput
   369  	// Specifies who should bear the cost of Amazon S3 data transfer.
   370  	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
   371  	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
   372  	// The provider will only perform drift detection if a configuration value is provided.
   373  	// Use the resource `s3.BucketRequestPaymentConfigurationV2` instead.
   374  	//
   375  	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead
   376  	RequestPayer pulumi.StringPtrInput
   377  	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
   378  	// The provider will only perform drift detection if a configuration value is provided.
   379  	// Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead.
   380  	//
   381  	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
   382  	ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayInput
   383  	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   384  	//
   385  	// The following arguments are deprecated, and will be removed in a future major version:
   386  	Tags pulumi.StringMapInput
   387  	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   388  	//
   389  	// Deprecated: Please use `tags` instead.
   390  	TagsAll pulumi.StringMapInput
   391  	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead.
   392  	//
   393  	// Deprecated: Use the s3.BucketVersioningV2 resource instead
   394  	Versionings BucketV2VersioningArrayInput
   395  	// (**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   396  	//
   397  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   398  	WebsiteDomain pulumi.StringPtrInput
   399  	// (**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   400  	//
   401  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   402  	WebsiteEndpoint pulumi.StringPtrInput
   403  	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
   404  	// Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   405  	//
   406  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
   407  	Websites BucketV2WebsiteArrayInput
   408  }
   409  
   410  func (BucketV2State) ElementType() reflect.Type {
   411  	return reflect.TypeOf((*bucketV2State)(nil)).Elem()
   412  }
   413  
   414  type bucketV2Args struct {
   415  	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
   416  	// Use the resource `s3.BucketAccelerateConfigurationV2` instead.
   417  	//
   418  	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead
   419  	AccelerationStatus *string `pulumi:"accelerationStatus"`
   420  	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   421  	//
   422  	// Deprecated: Use the s3.BucketAclV2 resource instead
   423  	Acl *string `pulumi:"acl"`
   424  	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
   425  	Bucket *string `pulumi:"bucket"`
   426  	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
   427  	BucketPrefix *string `pulumi:"bucketPrefix"`
   428  	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead.
   429  	//
   430  	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
   431  	CorsRules []BucketV2CorsRule `pulumi:"corsRules"`
   432  	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
   433  	ForceDestroy *bool `pulumi:"forceDestroy"`
   434  	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   435  	//
   436  	// Deprecated: Use the s3.BucketAclV2 resource instead
   437  	Grants []BucketV2Grant `pulumi:"grants"`
   438  	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
   439  	// Use the resource `s3.BucketLifecycleConfigurationV2` instead.
   440  	//
   441  	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
   442  	LifecycleRules []BucketV2LifecycleRule `pulumi:"lifecycleRules"`
   443  	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
   444  	// Use the resource `s3.BucketLoggingV2` instead.
   445  	//
   446  	// Deprecated: Use the s3.BucketLoggingV2 resource instead
   447  	Loggings []BucketV2Logging `pulumi:"loggings"`
   448  	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
   449  	// The provider wil only perform drift detection if a configuration value is provided.
   450  	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfigurationV2` instead.
   451  	//
   452  	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
   453  	ObjectLockConfiguration *BucketV2ObjectLockConfiguration `pulumi:"objectLockConfiguration"`
   454  	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
   455  	ObjectLockEnabled *bool `pulumi:"objectLockEnabled"`
   456  	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
   457  	// The provider will only perform drift detection if a configuration value is provided.
   458  	// Use the resource `s3.BucketPolicy` instead.
   459  	//
   460  	// Deprecated: Use the s3.BucketPolicy resource instead
   461  	Policy *string `pulumi:"policy"`
   462  	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
   463  	// Use the resource `s3.BucketReplicationConfig` instead.
   464  	//
   465  	// Deprecated: Use the s3.BucketReplicationConfig resource instead
   466  	ReplicationConfigurations []BucketV2ReplicationConfiguration `pulumi:"replicationConfigurations"`
   467  	// Specifies who should bear the cost of Amazon S3 data transfer.
   468  	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
   469  	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
   470  	// The provider will only perform drift detection if a configuration value is provided.
   471  	// Use the resource `s3.BucketRequestPaymentConfigurationV2` instead.
   472  	//
   473  	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead
   474  	RequestPayer *string `pulumi:"requestPayer"`
   475  	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
   476  	// The provider will only perform drift detection if a configuration value is provided.
   477  	// Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead.
   478  	//
   479  	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
   480  	ServerSideEncryptionConfigurations []BucketV2ServerSideEncryptionConfiguration `pulumi:"serverSideEncryptionConfigurations"`
   481  	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   482  	//
   483  	// The following arguments are deprecated, and will be removed in a future major version:
   484  	Tags map[string]string `pulumi:"tags"`
   485  	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead.
   486  	//
   487  	// Deprecated: Use the s3.BucketVersioningV2 resource instead
   488  	Versionings []BucketV2Versioning `pulumi:"versionings"`
   489  	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
   490  	// Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   491  	//
   492  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
   493  	Websites []BucketV2Website `pulumi:"websites"`
   494  }
   495  
   496  // The set of arguments for constructing a BucketV2 resource.
   497  type BucketV2Args struct {
   498  	// Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
   499  	// Use the resource `s3.BucketAccelerateConfigurationV2` instead.
   500  	//
   501  	// Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead
   502  	AccelerationStatus pulumi.StringPtrInput
   503  	// The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   504  	//
   505  	// Deprecated: Use the s3.BucketAclV2 resource instead
   506  	Acl pulumi.StringPtrInput
   507  	// Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
   508  	Bucket pulumi.StringPtrInput
   509  	// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
   510  	BucketPrefix pulumi.StringPtrInput
   511  	// Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead.
   512  	//
   513  	// Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
   514  	CorsRules BucketV2CorsRuleArrayInput
   515  	// Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
   516  	ForceDestroy pulumi.BoolPtrInput
   517  	// An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   518  	//
   519  	// Deprecated: Use the s3.BucketAclV2 resource instead
   520  	Grants BucketV2GrantArrayInput
   521  	// Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
   522  	// Use the resource `s3.BucketLifecycleConfigurationV2` instead.
   523  	//
   524  	// Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
   525  	LifecycleRules BucketV2LifecycleRuleArrayInput
   526  	// Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
   527  	// Use the resource `s3.BucketLoggingV2` instead.
   528  	//
   529  	// Deprecated: Use the s3.BucketLoggingV2 resource instead
   530  	Loggings BucketV2LoggingArrayInput
   531  	// Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
   532  	// The provider wil only perform drift detection if a configuration value is provided.
   533  	// Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfigurationV2` instead.
   534  	//
   535  	// Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
   536  	ObjectLockConfiguration BucketV2ObjectLockConfigurationPtrInput
   537  	// Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
   538  	ObjectLockEnabled pulumi.BoolPtrInput
   539  	// Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
   540  	// The provider will only perform drift detection if a configuration value is provided.
   541  	// Use the resource `s3.BucketPolicy` instead.
   542  	//
   543  	// Deprecated: Use the s3.BucketPolicy resource instead
   544  	Policy pulumi.StringPtrInput
   545  	// Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
   546  	// Use the resource `s3.BucketReplicationConfig` instead.
   547  	//
   548  	// Deprecated: Use the s3.BucketReplicationConfig resource instead
   549  	ReplicationConfigurations BucketV2ReplicationConfigurationArrayInput
   550  	// Specifies who should bear the cost of Amazon S3 data transfer.
   551  	// Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
   552  	// See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
   553  	// The provider will only perform drift detection if a configuration value is provided.
   554  	// Use the resource `s3.BucketRequestPaymentConfigurationV2` instead.
   555  	//
   556  	// Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead
   557  	RequestPayer pulumi.StringPtrInput
   558  	// Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
   559  	// The provider will only perform drift detection if a configuration value is provided.
   560  	// Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead.
   561  	//
   562  	// Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
   563  	ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayInput
   564  	// Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   565  	//
   566  	// The following arguments are deprecated, and will be removed in a future major version:
   567  	Tags pulumi.StringMapInput
   568  	// Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead.
   569  	//
   570  	// Deprecated: Use the s3.BucketVersioningV2 resource instead
   571  	Versionings BucketV2VersioningArrayInput
   572  	// Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
   573  	// Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   574  	//
   575  	// Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
   576  	Websites BucketV2WebsiteArrayInput
   577  }
   578  
   579  func (BucketV2Args) ElementType() reflect.Type {
   580  	return reflect.TypeOf((*bucketV2Args)(nil)).Elem()
   581  }
   582  
   583  type BucketV2Input interface {
   584  	pulumi.Input
   585  
   586  	ToBucketV2Output() BucketV2Output
   587  	ToBucketV2OutputWithContext(ctx context.Context) BucketV2Output
   588  }
   589  
   590  func (*BucketV2) ElementType() reflect.Type {
   591  	return reflect.TypeOf((**BucketV2)(nil)).Elem()
   592  }
   593  
   594  func (i *BucketV2) ToBucketV2Output() BucketV2Output {
   595  	return i.ToBucketV2OutputWithContext(context.Background())
   596  }
   597  
   598  func (i *BucketV2) ToBucketV2OutputWithContext(ctx context.Context) BucketV2Output {
   599  	return pulumi.ToOutputWithContext(ctx, i).(BucketV2Output)
   600  }
   601  
   602  // BucketV2ArrayInput is an input type that accepts BucketV2Array and BucketV2ArrayOutput values.
   603  // You can construct a concrete instance of `BucketV2ArrayInput` via:
   604  //
   605  //	BucketV2Array{ BucketV2Args{...} }
   606  type BucketV2ArrayInput interface {
   607  	pulumi.Input
   608  
   609  	ToBucketV2ArrayOutput() BucketV2ArrayOutput
   610  	ToBucketV2ArrayOutputWithContext(context.Context) BucketV2ArrayOutput
   611  }
   612  
   613  type BucketV2Array []BucketV2Input
   614  
   615  func (BucketV2Array) ElementType() reflect.Type {
   616  	return reflect.TypeOf((*[]*BucketV2)(nil)).Elem()
   617  }
   618  
   619  func (i BucketV2Array) ToBucketV2ArrayOutput() BucketV2ArrayOutput {
   620  	return i.ToBucketV2ArrayOutputWithContext(context.Background())
   621  }
   622  
   623  func (i BucketV2Array) ToBucketV2ArrayOutputWithContext(ctx context.Context) BucketV2ArrayOutput {
   624  	return pulumi.ToOutputWithContext(ctx, i).(BucketV2ArrayOutput)
   625  }
   626  
   627  // BucketV2MapInput is an input type that accepts BucketV2Map and BucketV2MapOutput values.
   628  // You can construct a concrete instance of `BucketV2MapInput` via:
   629  //
   630  //	BucketV2Map{ "key": BucketV2Args{...} }
   631  type BucketV2MapInput interface {
   632  	pulumi.Input
   633  
   634  	ToBucketV2MapOutput() BucketV2MapOutput
   635  	ToBucketV2MapOutputWithContext(context.Context) BucketV2MapOutput
   636  }
   637  
   638  type BucketV2Map map[string]BucketV2Input
   639  
   640  func (BucketV2Map) ElementType() reflect.Type {
   641  	return reflect.TypeOf((*map[string]*BucketV2)(nil)).Elem()
   642  }
   643  
   644  func (i BucketV2Map) ToBucketV2MapOutput() BucketV2MapOutput {
   645  	return i.ToBucketV2MapOutputWithContext(context.Background())
   646  }
   647  
   648  func (i BucketV2Map) ToBucketV2MapOutputWithContext(ctx context.Context) BucketV2MapOutput {
   649  	return pulumi.ToOutputWithContext(ctx, i).(BucketV2MapOutput)
   650  }
   651  
   652  type BucketV2Output struct{ *pulumi.OutputState }
   653  
   654  func (BucketV2Output) ElementType() reflect.Type {
   655  	return reflect.TypeOf((**BucketV2)(nil)).Elem()
   656  }
   657  
   658  func (o BucketV2Output) ToBucketV2Output() BucketV2Output {
   659  	return o
   660  }
   661  
   662  func (o BucketV2Output) ToBucketV2OutputWithContext(ctx context.Context) BucketV2Output {
   663  	return o
   664  }
   665  
   666  // Sets the accelerate configuration of an existing bucket. Can be `Enabled` or `Suspended`. Cannot be used in `cn-north-1` or `us-gov-west-1`. This provider will only perform drift detection if a configuration value is provided.
   667  // Use the resource `s3.BucketAccelerateConfigurationV2` instead.
   668  //
   669  // Deprecated: Use the s3.BucketAccelerateConfigurationV2 resource instead
   670  func (o BucketV2Output) AccelerationStatus() pulumi.StringOutput {
   671  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.AccelerationStatus }).(pulumi.StringOutput)
   672  }
   673  
   674  // The [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, and `log-delivery-write`. Defaults to `private`.  Conflicts with `grant`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   675  //
   676  // Deprecated: Use the s3.BucketAclV2 resource instead
   677  func (o BucketV2Output) Acl() pulumi.StringOutput {
   678  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.Acl }).(pulumi.StringOutput)
   679  }
   680  
   681  // ARN of the bucket. Will be of format `arn:aws:s3:::bucketname`.
   682  func (o BucketV2Output) Arn() pulumi.StringOutput {
   683  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   684  }
   685  
   686  // Name of the bucket. If omitted, the provider will assign a random, unique name. Must be lowercase and less than or equal to 63 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). The name must not be in the format `[bucketName]--[azid]--x-s3`. Use the `s3.DirectoryBucket` resource to manage S3 Express buckets.
   687  func (o BucketV2Output) Bucket() pulumi.StringOutput {
   688  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput)
   689  }
   690  
   691  // Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`.
   692  func (o BucketV2Output) BucketDomainName() pulumi.StringOutput {
   693  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.BucketDomainName }).(pulumi.StringOutput)
   694  }
   695  
   696  // Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html).
   697  func (o BucketV2Output) BucketPrefix() pulumi.StringOutput {
   698  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.BucketPrefix }).(pulumi.StringOutput)
   699  }
   700  
   701  // The bucket region-specific domain name. The bucket domain name including the region name. Please refer to the [S3 endpoints reference](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) for format. Note: AWS CloudFront allows specifying an S3 region-specific endpoint when creating an S3 origin. This will prevent redirect issues from CloudFront to the S3 Origin URL. For more information, see the [Virtual Hosted-Style Requests for Other Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint) section in the AWS S3 User Guide.
   702  func (o BucketV2Output) BucketRegionalDomainName() pulumi.StringOutput {
   703  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.BucketRegionalDomainName }).(pulumi.StringOutput)
   704  }
   705  
   706  // Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead.
   707  //
   708  // Deprecated: Use the s3.BucketCorsConfigurationV2 resource instead
   709  func (o BucketV2Output) CorsRules() BucketV2CorsRuleArrayOutput {
   710  	return o.ApplyT(func(v *BucketV2) BucketV2CorsRuleArrayOutput { return v.CorsRules }).(BucketV2CorsRuleArrayOutput)
   711  }
   712  
   713  // Boolean that indicates all objects (including any [locked objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)) should be deleted from the bucket *when the bucket is destroyed* so that the bucket can be destroyed without error. These objects are *not* recoverable. This only deletes objects when the bucket is destroyed, *not* when setting this parameter to `true`. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the bucket or destroying the bucket, this flag will not work. Additionally when importing a bucket, a successful `pulumi up` is required to set this value in state before it will take effect on a destroy operation.
   714  func (o BucketV2Output) ForceDestroy() pulumi.BoolPtrOutput {
   715  	return o.ApplyT(func(v *BucketV2) pulumi.BoolPtrOutput { return v.ForceDestroy }).(pulumi.BoolPtrOutput)
   716  }
   717  
   718  // An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl). See Grant below for details. Conflicts with `acl`. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketAclV2` instead.
   719  //
   720  // Deprecated: Use the s3.BucketAclV2 resource instead
   721  func (o BucketV2Output) Grants() BucketV2GrantArrayOutput {
   722  	return o.ApplyT(func(v *BucketV2) BucketV2GrantArrayOutput { return v.Grants }).(BucketV2GrantArrayOutput)
   723  }
   724  
   725  // [Route 53 Hosted Zone ID](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints) for this bucket's region.
   726  func (o BucketV2Output) HostedZoneId() pulumi.StringOutput {
   727  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.HostedZoneId }).(pulumi.StringOutput)
   728  }
   729  
   730  // Configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html). See Lifecycle Rule below for details. The provider will only perform drift detection if a configuration value is provided.
   731  // Use the resource `s3.BucketLifecycleConfigurationV2` instead.
   732  //
   733  // Deprecated: Use the s3.BucketLifecycleConfigurationV2 resource instead
   734  func (o BucketV2Output) LifecycleRules() BucketV2LifecycleRuleArrayOutput {
   735  	return o.ApplyT(func(v *BucketV2) BucketV2LifecycleRuleArrayOutput { return v.LifecycleRules }).(BucketV2LifecycleRuleArrayOutput)
   736  }
   737  
   738  // Configuration of [S3 bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) parameters. See Logging below for details. The provider will only perform drift detection if a configuration value is provided.
   739  // Use the resource `s3.BucketLoggingV2` instead.
   740  //
   741  // Deprecated: Use the s3.BucketLoggingV2 resource instead
   742  func (o BucketV2Output) Loggings() BucketV2LoggingArrayOutput {
   743  	return o.ApplyT(func(v *BucketV2) BucketV2LoggingArrayOutput { return v.Loggings }).(BucketV2LoggingArrayOutput)
   744  }
   745  
   746  // Configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). See Object Lock Configuration below for details.
   747  // The provider wil only perform drift detection if a configuration value is provided.
   748  // Use the `objectLockEnabled` parameter and the resource `s3.BucketObjectLockConfigurationV2` instead.
   749  //
   750  // Deprecated: Use the top-level parameter objectLockEnabled and the s3.BucketObjectLockConfigurationV2 resource instead
   751  func (o BucketV2Output) ObjectLockConfiguration() BucketV2ObjectLockConfigurationOutput {
   752  	return o.ApplyT(func(v *BucketV2) BucketV2ObjectLockConfigurationOutput { return v.ObjectLockConfiguration }).(BucketV2ObjectLockConfigurationOutput)
   753  }
   754  
   755  // Indicates whether this bucket has an Object Lock configuration enabled. Valid values are `true` or `false`. This argument is not supported in all regions or partitions.
   756  func (o BucketV2Output) ObjectLockEnabled() pulumi.BoolOutput {
   757  	return o.ApplyT(func(v *BucketV2) pulumi.BoolOutput { return v.ObjectLockEnabled }).(pulumi.BoolOutput)
   758  }
   759  
   760  // Valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.
   761  // The provider will only perform drift detection if a configuration value is provided.
   762  // Use the resource `s3.BucketPolicy` instead.
   763  //
   764  // Deprecated: Use the s3.BucketPolicy resource instead
   765  func (o BucketV2Output) Policy() pulumi.StringOutput {
   766  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput)
   767  }
   768  
   769  // AWS region this bucket resides in.
   770  func (o BucketV2Output) Region() pulumi.StringOutput {
   771  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
   772  }
   773  
   774  // Configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html). See Replication Configuration below for details. The provider will only perform drift detection if a configuration value is provided.
   775  // Use the resource `s3.BucketReplicationConfig` instead.
   776  //
   777  // Deprecated: Use the s3.BucketReplicationConfig resource instead
   778  func (o BucketV2Output) ReplicationConfigurations() BucketV2ReplicationConfigurationArrayOutput {
   779  	return o.ApplyT(func(v *BucketV2) BucketV2ReplicationConfigurationArrayOutput { return v.ReplicationConfigurations }).(BucketV2ReplicationConfigurationArrayOutput)
   780  }
   781  
   782  // Specifies who should bear the cost of Amazon S3 data transfer.
   783  // Can be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur the costs of any data transfer.
   784  // See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) developer guide for more information.
   785  // The provider will only perform drift detection if a configuration value is provided.
   786  // Use the resource `s3.BucketRequestPaymentConfigurationV2` instead.
   787  //
   788  // Deprecated: Use the s3.BucketRequestPaymentConfigurationV2 resource instead
   789  func (o BucketV2Output) RequestPayer() pulumi.StringOutput {
   790  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.RequestPayer }).(pulumi.StringOutput)
   791  }
   792  
   793  // Configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). See Server Side Encryption Configuration below for details.
   794  // The provider will only perform drift detection if a configuration value is provided.
   795  // Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead.
   796  //
   797  // Deprecated: Use the s3.BucketServerSideEncryptionConfigurationV2 resource instead
   798  func (o BucketV2Output) ServerSideEncryptionConfigurations() BucketV2ServerSideEncryptionConfigurationArrayOutput {
   799  	return o.ApplyT(func(v *BucketV2) BucketV2ServerSideEncryptionConfigurationArrayOutput {
   800  		return v.ServerSideEncryptionConfigurations
   801  	}).(BucketV2ServerSideEncryptionConfigurationArrayOutput)
   802  }
   803  
   804  // Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   805  //
   806  // The following arguments are deprecated, and will be removed in a future major version:
   807  func (o BucketV2Output) Tags() pulumi.StringMapOutput {
   808  	return o.ApplyT(func(v *BucketV2) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   809  }
   810  
   811  // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   812  //
   813  // Deprecated: Please use `tags` instead.
   814  func (o BucketV2Output) TagsAll() pulumi.StringMapOutput {
   815  	return o.ApplyT(func(v *BucketV2) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   816  }
   817  
   818  // Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead.
   819  //
   820  // Deprecated: Use the s3.BucketVersioningV2 resource instead
   821  func (o BucketV2Output) Versionings() BucketV2VersioningArrayOutput {
   822  	return o.ApplyT(func(v *BucketV2) BucketV2VersioningArrayOutput { return v.Versionings }).(BucketV2VersioningArrayOutput)
   823  }
   824  
   825  // (**Deprecated**) Domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. This is used to create Route 53 alias records. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   826  //
   827  // Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   828  func (o BucketV2Output) WebsiteDomain() pulumi.StringOutput {
   829  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.WebsiteDomain }).(pulumi.StringOutput)
   830  }
   831  
   832  // (**Deprecated**) Website endpoint, if the bucket is configured with a website. If not, this will be an empty string. Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   833  //
   834  // Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource
   835  func (o BucketV2Output) WebsiteEndpoint() pulumi.StringOutput {
   836  	return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.WebsiteEndpoint }).(pulumi.StringOutput)
   837  }
   838  
   839  // Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided.
   840  // Use the resource `s3.BucketWebsiteConfigurationV2` instead.
   841  //
   842  // Deprecated: Use the s3.BucketWebsiteConfigurationV2 resource instead
   843  func (o BucketV2Output) Websites() BucketV2WebsiteArrayOutput {
   844  	return o.ApplyT(func(v *BucketV2) BucketV2WebsiteArrayOutput { return v.Websites }).(BucketV2WebsiteArrayOutput)
   845  }
   846  
   847  type BucketV2ArrayOutput struct{ *pulumi.OutputState }
   848  
   849  func (BucketV2ArrayOutput) ElementType() reflect.Type {
   850  	return reflect.TypeOf((*[]*BucketV2)(nil)).Elem()
   851  }
   852  
   853  func (o BucketV2ArrayOutput) ToBucketV2ArrayOutput() BucketV2ArrayOutput {
   854  	return o
   855  }
   856  
   857  func (o BucketV2ArrayOutput) ToBucketV2ArrayOutputWithContext(ctx context.Context) BucketV2ArrayOutput {
   858  	return o
   859  }
   860  
   861  func (o BucketV2ArrayOutput) Index(i pulumi.IntInput) BucketV2Output {
   862  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *BucketV2 {
   863  		return vs[0].([]*BucketV2)[vs[1].(int)]
   864  	}).(BucketV2Output)
   865  }
   866  
   867  type BucketV2MapOutput struct{ *pulumi.OutputState }
   868  
   869  func (BucketV2MapOutput) ElementType() reflect.Type {
   870  	return reflect.TypeOf((*map[string]*BucketV2)(nil)).Elem()
   871  }
   872  
   873  func (o BucketV2MapOutput) ToBucketV2MapOutput() BucketV2MapOutput {
   874  	return o
   875  }
   876  
   877  func (o BucketV2MapOutput) ToBucketV2MapOutputWithContext(ctx context.Context) BucketV2MapOutput {
   878  	return o
   879  }
   880  
   881  func (o BucketV2MapOutput) MapIndex(k pulumi.StringInput) BucketV2Output {
   882  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *BucketV2 {
   883  		return vs[0].(map[string]*BucketV2)[vs[1].(string)]
   884  	}).(BucketV2Output)
   885  }
   886  
   887  func init() {
   888  	pulumi.RegisterInputType(reflect.TypeOf((*BucketV2Input)(nil)).Elem(), &BucketV2{})
   889  	pulumi.RegisterInputType(reflect.TypeOf((*BucketV2ArrayInput)(nil)).Elem(), BucketV2Array{})
   890  	pulumi.RegisterInputType(reflect.TypeOf((*BucketV2MapInput)(nil)).Elem(), BucketV2Map{})
   891  	pulumi.RegisterOutputType(BucketV2Output{})
   892  	pulumi.RegisterOutputType(BucketV2ArrayOutput{})
   893  	pulumi.RegisterOutputType(BucketV2MapOutput{})
   894  }