objectstorage

package
v0.0.0-...-c33e12d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Bucket

type Bucket struct {
	pulumi.CustomResourceState

	// (Deprecated) The canned ACL you want to apply to the bucket.
	//
	// Deprecated: ACL attribute is deprecated. Please use the resource scaleway_object_bucket_acl instead.
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// API URL of the bucket
	ApiEndpoint pulumi.StringOutput `pulumi:"apiEndpoint"`
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules BucketCorsRuleArrayOutput `pulumi:"corsRules"`
	// The endpoint URL of the bucket
	Endpoint pulumi.StringOutput `pulumi:"endpoint"`
	// Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
	LifecycleRules BucketLifecycleRuleArrayOutput `pulumi:"lifecycleRules"`
	// The name of the bucket.
	Name pulumi.StringOutput `pulumi:"name"`
	// Enable object lock
	ObjectLockEnabled pulumi.BoolPtrOutput `pulumi:"objectLockEnabled"`
	// `projectId`) The ID of the project the bucket is associated with.
	//
	// The `acl` attribute is deprecated. See objectstorage.BucketACL resource documentation.
	// Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.
	Region pulumi.StringOutput `pulumi:"region"`
	// A list of tags (key / value) for the bucket.
	//
	// * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
	// Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning BucketVersioningOutput `pulumi:"versioning"`
}

Creates and manages Scaleway object storage buckets. For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := objectstorage.NewBucket(ctx, "someBucket", &objectstorage.BucketArgs{
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Creating the bucket in a specific project

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := objectstorage.NewBucket(ctx, "someBucket", &objectstorage.BucketArgs{
			ProjectId: pulumi.String("11111111-1111-1111-1111-111111111111"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Using object lifecycle

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := objectstorage.NewBucket(ctx, "main", &objectstorage.BucketArgs{
			LifecycleRules: objectstorage.BucketLifecycleRuleArray{
				&objectstorage.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(true),
					Expiration: &objectstorage.BucketLifecycleRuleExpirationArgs{
						Days: pulumi.Int(365),
					},
					Id:     pulumi.String("id1"),
					Prefix: pulumi.String("path1/"),
					Transitions: objectstorage.BucketLifecycleRuleTransitionArray{
						&objectstorage.BucketLifecycleRuleTransitionArgs{
							Days:         pulumi.Int(120),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
				},
				&objectstorage.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(true),
					Expiration: &objectstorage.BucketLifecycleRuleExpirationArgs{
						Days: pulumi.Int(50),
					},
					Id:     pulumi.String("id2"),
					Prefix: pulumi.String("path2/"),
				},
				&objectstorage.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(false),
					Expiration: &objectstorage.BucketLifecycleRuleExpirationArgs{
						Days: pulumi.Int(1),
					},
					Id:     pulumi.String("id3"),
					Prefix: pulumi.String("path3/"),
					Tags: pulumi.StringMap{
						"tagKey":    pulumi.String("tagValue"),
						"terraform": pulumi.String("hashicorp"),
					},
				},
				&objectstorage.BucketLifecycleRuleArgs{
					Enabled: pulumi.Bool(true),
					Id:      pulumi.String("id4"),
					Tags: pulumi.StringMap{
						"tag1": pulumi.String("value1"),
					},
					Transitions: objectstorage.BucketLifecycleRuleTransitionArray{
						&objectstorage.BucketLifecycleRuleTransitionArgs{
							Days:         pulumi.Int(1),
							StorageClass: pulumi.String("GLACIER"),
						},
					},
				},
				&objectstorage.BucketLifecycleRuleArgs{
					AbortIncompleteMultipartUploadDays: pulumi.Int(30),
					Enabled:                            pulumi.Bool(true),
				},
			},
			Region: pulumi.String("fr-par"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Buckets can be imported using the `{region}/{bucketName}` identifier, e.g.

bash

```sh $ pulumi import scaleway:objectstorage/bucket:Bucket some_bucket fr-par/some-bucket ```

If you are importing a bucket from a specific project (that is not your default project), you can use the following syntax:

bash

```sh $ pulumi import scaleway:objectstorage/bucket:Bucket some_bucket fr-par/some-bucket@11111111-1111-1111-1111-111111111111 ```

func GetBucket

func GetBucket(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketState, opts ...pulumi.ResourceOption) (*Bucket, error)

GetBucket gets an existing Bucket resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucket

func NewBucket(ctx *pulumi.Context,
	name string, args *BucketArgs, opts ...pulumi.ResourceOption) (*Bucket, error)

NewBucket registers a new resource with the given unique name, arguments, and options.

func (*Bucket) ElementType

func (*Bucket) ElementType() reflect.Type

func (*Bucket) ToBucketOutput

func (i *Bucket) ToBucketOutput() BucketOutput

func (*Bucket) ToBucketOutputWithContext

func (i *Bucket) ToBucketOutputWithContext(ctx context.Context) BucketOutput

type BucketACL

type BucketACL struct {
	pulumi.CustomResourceState

	// A configuration block that sets the ACL permissions for an object per grantee documented below.
	AccessControlPolicy BucketACLAccessControlPolicyOutput `pulumi:"accessControlPolicy"`
	// The canned ACL you want to apply to the bucket.
	Acl pulumi.StringPtrOutput `pulumi:"acl"`
	// The bucket's name or regional ID.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The project ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"`
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.
	Region pulumi.StringOutput `pulumi:"region"`
}

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := objectstorage.NewBucket(ctx, "someBucket", nil)
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketACL(ctx, "main", &objectstorage.BucketACLArgs{
			Bucket: pulumi.Any(scaleway_object_bucket.Main.Id),
			Acl:    pulumi.String("private"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With Grants

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainBucket, err := objectstorage.NewBucket(ctx, "mainBucket", nil)
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketACL(ctx, "mainBucketACL", &objectstorage.BucketACLArgs{
			Bucket: mainBucket.ID(),
			AccessControlPolicy: &objectstorage.BucketACLAccessControlPolicyArgs{
				Grants: objectstorage.BucketACLAccessControlPolicyGrantArray{
					&objectstorage.BucketACLAccessControlPolicyGrantArgs{
						Grantee: &objectstorage.BucketACLAccessControlPolicyGrantGranteeArgs{
							Id:   pulumi.String("<project-id>:<project-id>"),
							Type: pulumi.String("CanonicalUser"),
						},
						Permission: pulumi.String("FULL_CONTROL"),
					},
					&objectstorage.BucketACLAccessControlPolicyGrantArgs{
						Grantee: &objectstorage.BucketACLAccessControlPolicyGrantGranteeArgs{
							Id:   pulumi.String("<project-id>"),
							Type: pulumi.String("CanonicalUser"),
						},
						Permission: pulumi.String("WRITE"),
					},
				},
				Owner: &objectstorage.BucketACLAccessControlPolicyOwnerArgs{
					Id: pulumi.String("<project-id>"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## The ACL

Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl)

## The Access Control policy

The `accessControlPolicy` configuration block supports the following arguments:

* `grant` - (Required) Set of grant configuration blocks documented below. * `owner` - (Required) Configuration block of the bucket owner's display name and ID documented below.

## The Grant

The `grant` configuration block supports the following arguments:

* `grantee` - (Required) Configuration block for the project being granted permissions documented below. * `permission` - (Required) Logging permissions assigned to the grantee for the bucket.

## The permission

The following list shows each access policy permissions supported.

`READ`, `WRITE`, `READ_ACP`, `WRITE_ACP`, `FULL_CONTROL`

For more information about ACL permissions in the S3 bucket, see [ACL permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html).

## The owner

The `owner` configuration block supports the following arguments:

* `id` - (Required) The ID of the project owner. * `displayName` - (Optional) The display name of the owner.

## the grantee

The `grantee` configuration block supports the following arguments:

* `id` - (Required) The canonical user ID of the grantee. * `type` - (Required) Type of grantee. Valid values: CanonicalUser.

## Import

Bucket ACLs can be imported using the `{region}/{bucketName}/{acl}` identifier, e.g.

bash

```sh $ pulumi import scaleway:objectstorage/bucketACL:BucketACL some_bucket fr-par/some-bucket/private ```

~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.

If you are using a project different from the default one, you have to specify the project ID at the end of the import command.

bash

```sh $ pulumi import scaleway:objectstorage/bucketACL:BucketACL some_bucket fr-par/some-bucket/private@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx ```

func GetBucketACL

func GetBucketACL(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketACLState, opts ...pulumi.ResourceOption) (*BucketACL, error)

GetBucketACL gets an existing BucketACL resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketACL

func NewBucketACL(ctx *pulumi.Context,
	name string, args *BucketACLArgs, opts ...pulumi.ResourceOption) (*BucketACL, error)

NewBucketACL registers a new resource with the given unique name, arguments, and options.

func (*BucketACL) ElementType

func (*BucketACL) ElementType() reflect.Type

func (*BucketACL) ToBucketACLOutput

func (i *BucketACL) ToBucketACLOutput() BucketACLOutput

func (*BucketACL) ToBucketACLOutputWithContext

func (i *BucketACL) ToBucketACLOutputWithContext(ctx context.Context) BucketACLOutput

type BucketACLAccessControlPolicy

type BucketACLAccessControlPolicy struct {
	Grants []BucketACLAccessControlPolicyGrant `pulumi:"grants"`
	// Configuration block of the bucket project owner's display organization ID.
	Owner BucketACLAccessControlPolicyOwner `pulumi:"owner"`
}

type BucketACLAccessControlPolicyArgs

type BucketACLAccessControlPolicyArgs struct {
	Grants BucketACLAccessControlPolicyGrantArrayInput `pulumi:"grants"`
	// Configuration block of the bucket project owner's display organization ID.
	Owner BucketACLAccessControlPolicyOwnerInput `pulumi:"owner"`
}

func (BucketACLAccessControlPolicyArgs) ElementType

func (BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyOutput

func (i BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyOutput() BucketACLAccessControlPolicyOutput

func (BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyOutputWithContext

func (i BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOutput

func (BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyPtrOutput

func (i BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyPtrOutput() BucketACLAccessControlPolicyPtrOutput

func (BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyPtrOutputWithContext

func (i BucketACLAccessControlPolicyArgs) ToBucketACLAccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyPtrOutput

type BucketACLAccessControlPolicyGrant

type BucketACLAccessControlPolicyGrant struct {
	// Configuration block for the project being granted permissions.
	Grantee *BucketACLAccessControlPolicyGrantGrantee `pulumi:"grantee"`
	// Logging permissions assigned to the grantee for the bucket.
	Permission string `pulumi:"permission"`
}

type BucketACLAccessControlPolicyGrantArgs

type BucketACLAccessControlPolicyGrantArgs struct {
	// Configuration block for the project being granted permissions.
	Grantee BucketACLAccessControlPolicyGrantGranteePtrInput `pulumi:"grantee"`
	// Logging permissions assigned to the grantee for the bucket.
	Permission pulumi.StringInput `pulumi:"permission"`
}

func (BucketACLAccessControlPolicyGrantArgs) ElementType

func (BucketACLAccessControlPolicyGrantArgs) ToBucketACLAccessControlPolicyGrantOutput

func (i BucketACLAccessControlPolicyGrantArgs) ToBucketACLAccessControlPolicyGrantOutput() BucketACLAccessControlPolicyGrantOutput

func (BucketACLAccessControlPolicyGrantArgs) ToBucketACLAccessControlPolicyGrantOutputWithContext

func (i BucketACLAccessControlPolicyGrantArgs) ToBucketACLAccessControlPolicyGrantOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantOutput

type BucketACLAccessControlPolicyGrantArray

type BucketACLAccessControlPolicyGrantArray []BucketACLAccessControlPolicyGrantInput

func (BucketACLAccessControlPolicyGrantArray) ElementType

func (BucketACLAccessControlPolicyGrantArray) ToBucketACLAccessControlPolicyGrantArrayOutput

func (i BucketACLAccessControlPolicyGrantArray) ToBucketACLAccessControlPolicyGrantArrayOutput() BucketACLAccessControlPolicyGrantArrayOutput

func (BucketACLAccessControlPolicyGrantArray) ToBucketACLAccessControlPolicyGrantArrayOutputWithContext

func (i BucketACLAccessControlPolicyGrantArray) ToBucketACLAccessControlPolicyGrantArrayOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantArrayOutput

type BucketACLAccessControlPolicyGrantArrayInput

type BucketACLAccessControlPolicyGrantArrayInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyGrantArrayOutput() BucketACLAccessControlPolicyGrantArrayOutput
	ToBucketACLAccessControlPolicyGrantArrayOutputWithContext(context.Context) BucketACLAccessControlPolicyGrantArrayOutput
}

BucketACLAccessControlPolicyGrantArrayInput is an input type that accepts BucketACLAccessControlPolicyGrantArray and BucketACLAccessControlPolicyGrantArrayOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyGrantArrayInput` via:

BucketACLAccessControlPolicyGrantArray{ BucketACLAccessControlPolicyGrantArgs{...} }

type BucketACLAccessControlPolicyGrantArrayOutput

type BucketACLAccessControlPolicyGrantArrayOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyGrantArrayOutput) ElementType

func (BucketACLAccessControlPolicyGrantArrayOutput) Index

func (BucketACLAccessControlPolicyGrantArrayOutput) ToBucketACLAccessControlPolicyGrantArrayOutput

func (o BucketACLAccessControlPolicyGrantArrayOutput) ToBucketACLAccessControlPolicyGrantArrayOutput() BucketACLAccessControlPolicyGrantArrayOutput

func (BucketACLAccessControlPolicyGrantArrayOutput) ToBucketACLAccessControlPolicyGrantArrayOutputWithContext

func (o BucketACLAccessControlPolicyGrantArrayOutput) ToBucketACLAccessControlPolicyGrantArrayOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantArrayOutput

type BucketACLAccessControlPolicyGrantGrantee

type BucketACLAccessControlPolicyGrantGrantee struct {
	DisplayName *string `pulumi:"displayName"`
	// The `region`,`bucket` and `acl` separated by (`/`).
	Id string `pulumi:"id"`
	// Type of grantee. Valid values: `CanonicalUser`
	Type string `pulumi:"type"`
}

type BucketACLAccessControlPolicyGrantGranteeArgs

type BucketACLAccessControlPolicyGrantGranteeArgs struct {
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// The `region`,`bucket` and `acl` separated by (`/`).
	Id pulumi.StringInput `pulumi:"id"`
	// Type of grantee. Valid values: `CanonicalUser`
	Type pulumi.StringInput `pulumi:"type"`
}

func (BucketACLAccessControlPolicyGrantGranteeArgs) ElementType

func (BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteeOutput

func (i BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteeOutput() BucketACLAccessControlPolicyGrantGranteeOutput

func (BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteeOutputWithContext

func (i BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteeOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantGranteeOutput

func (BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteePtrOutput

func (i BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteePtrOutput() BucketACLAccessControlPolicyGrantGranteePtrOutput

func (BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext

func (i BucketACLAccessControlPolicyGrantGranteeArgs) ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantGranteePtrOutput

type BucketACLAccessControlPolicyGrantGranteeInput

type BucketACLAccessControlPolicyGrantGranteeInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyGrantGranteeOutput() BucketACLAccessControlPolicyGrantGranteeOutput
	ToBucketACLAccessControlPolicyGrantGranteeOutputWithContext(context.Context) BucketACLAccessControlPolicyGrantGranteeOutput
}

BucketACLAccessControlPolicyGrantGranteeInput is an input type that accepts BucketACLAccessControlPolicyGrantGranteeArgs and BucketACLAccessControlPolicyGrantGranteeOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyGrantGranteeInput` via:

BucketACLAccessControlPolicyGrantGranteeArgs{...}

type BucketACLAccessControlPolicyGrantGranteeOutput

type BucketACLAccessControlPolicyGrantGranteeOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyGrantGranteeOutput) DisplayName

func (BucketACLAccessControlPolicyGrantGranteeOutput) ElementType

func (BucketACLAccessControlPolicyGrantGranteeOutput) Id

The `region`,`bucket` and `acl` separated by (`/`).

func (BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteeOutput

func (o BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteeOutput() BucketACLAccessControlPolicyGrantGranteeOutput

func (BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteeOutputWithContext

func (o BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteeOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantGranteeOutput

func (BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutput

func (o BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutput() BucketACLAccessControlPolicyGrantGranteePtrOutput

func (BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext

func (o BucketACLAccessControlPolicyGrantGranteeOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantGranteePtrOutput

func (BucketACLAccessControlPolicyGrantGranteeOutput) Type

Type of grantee. Valid values: `CanonicalUser`

type BucketACLAccessControlPolicyGrantGranteePtrInput

type BucketACLAccessControlPolicyGrantGranteePtrInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyGrantGranteePtrOutput() BucketACLAccessControlPolicyGrantGranteePtrOutput
	ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext(context.Context) BucketACLAccessControlPolicyGrantGranteePtrOutput
}

BucketACLAccessControlPolicyGrantGranteePtrInput is an input type that accepts BucketACLAccessControlPolicyGrantGranteeArgs, BucketACLAccessControlPolicyGrantGranteePtr and BucketACLAccessControlPolicyGrantGranteePtrOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyGrantGranteePtrInput` via:

        BucketACLAccessControlPolicyGrantGranteeArgs{...}

or:

        nil

type BucketACLAccessControlPolicyGrantGranteePtrOutput

type BucketACLAccessControlPolicyGrantGranteePtrOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) DisplayName

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) Elem

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) ElementType

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) Id

The `region`,`bucket` and `acl` separated by (`/`).

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutput

func (o BucketACLAccessControlPolicyGrantGranteePtrOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutput() BucketACLAccessControlPolicyGrantGranteePtrOutput

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext

func (o BucketACLAccessControlPolicyGrantGranteePtrOutput) ToBucketACLAccessControlPolicyGrantGranteePtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantGranteePtrOutput

func (BucketACLAccessControlPolicyGrantGranteePtrOutput) Type

Type of grantee. Valid values: `CanonicalUser`

type BucketACLAccessControlPolicyGrantInput

type BucketACLAccessControlPolicyGrantInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyGrantOutput() BucketACLAccessControlPolicyGrantOutput
	ToBucketACLAccessControlPolicyGrantOutputWithContext(context.Context) BucketACLAccessControlPolicyGrantOutput
}

BucketACLAccessControlPolicyGrantInput is an input type that accepts BucketACLAccessControlPolicyGrantArgs and BucketACLAccessControlPolicyGrantOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyGrantInput` via:

BucketACLAccessControlPolicyGrantArgs{...}

type BucketACLAccessControlPolicyGrantOutput

type BucketACLAccessControlPolicyGrantOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyGrantOutput) ElementType

func (BucketACLAccessControlPolicyGrantOutput) Grantee

Configuration block for the project being granted permissions.

func (BucketACLAccessControlPolicyGrantOutput) Permission

Logging permissions assigned to the grantee for the bucket.

func (BucketACLAccessControlPolicyGrantOutput) ToBucketACLAccessControlPolicyGrantOutput

func (o BucketACLAccessControlPolicyGrantOutput) ToBucketACLAccessControlPolicyGrantOutput() BucketACLAccessControlPolicyGrantOutput

func (BucketACLAccessControlPolicyGrantOutput) ToBucketACLAccessControlPolicyGrantOutputWithContext

func (o BucketACLAccessControlPolicyGrantOutput) ToBucketACLAccessControlPolicyGrantOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyGrantOutput

type BucketACLAccessControlPolicyInput

type BucketACLAccessControlPolicyInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyOutput() BucketACLAccessControlPolicyOutput
	ToBucketACLAccessControlPolicyOutputWithContext(context.Context) BucketACLAccessControlPolicyOutput
}

BucketACLAccessControlPolicyInput is an input type that accepts BucketACLAccessControlPolicyArgs and BucketACLAccessControlPolicyOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyInput` via:

BucketACLAccessControlPolicyArgs{...}

type BucketACLAccessControlPolicyOutput

type BucketACLAccessControlPolicyOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyOutput) ElementType

func (BucketACLAccessControlPolicyOutput) Grants

func (BucketACLAccessControlPolicyOutput) Owner

Configuration block of the bucket project owner's display organization ID.

func (BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyOutput

func (o BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyOutput() BucketACLAccessControlPolicyOutput

func (BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyOutputWithContext

func (o BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOutput

func (BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyPtrOutput

func (o BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyPtrOutput() BucketACLAccessControlPolicyPtrOutput

func (BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyPtrOutputWithContext

func (o BucketACLAccessControlPolicyOutput) ToBucketACLAccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyPtrOutput

type BucketACLAccessControlPolicyOwner

type BucketACLAccessControlPolicyOwner struct {
	// The project ID of the grantee.
	DisplayName *string `pulumi:"displayName"`
	// The `region`,`bucket` and `acl` separated by (`/`).
	Id string `pulumi:"id"`
}

type BucketACLAccessControlPolicyOwnerArgs

type BucketACLAccessControlPolicyOwnerArgs struct {
	// The project ID of the grantee.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// The `region`,`bucket` and `acl` separated by (`/`).
	Id pulumi.StringInput `pulumi:"id"`
}

func (BucketACLAccessControlPolicyOwnerArgs) ElementType

func (BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerOutput

func (i BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerOutput() BucketACLAccessControlPolicyOwnerOutput

func (BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerOutputWithContext

func (i BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOwnerOutput

func (BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerPtrOutput

func (i BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerPtrOutput() BucketACLAccessControlPolicyOwnerPtrOutput

func (BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext

func (i BucketACLAccessControlPolicyOwnerArgs) ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOwnerPtrOutput

type BucketACLAccessControlPolicyOwnerInput

type BucketACLAccessControlPolicyOwnerInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyOwnerOutput() BucketACLAccessControlPolicyOwnerOutput
	ToBucketACLAccessControlPolicyOwnerOutputWithContext(context.Context) BucketACLAccessControlPolicyOwnerOutput
}

BucketACLAccessControlPolicyOwnerInput is an input type that accepts BucketACLAccessControlPolicyOwnerArgs and BucketACLAccessControlPolicyOwnerOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyOwnerInput` via:

BucketACLAccessControlPolicyOwnerArgs{...}

type BucketACLAccessControlPolicyOwnerOutput

type BucketACLAccessControlPolicyOwnerOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyOwnerOutput) DisplayName

The project ID of the grantee.

func (BucketACLAccessControlPolicyOwnerOutput) ElementType

func (BucketACLAccessControlPolicyOwnerOutput) Id

The `region`,`bucket` and `acl` separated by (`/`).

func (BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerOutput

func (o BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerOutput() BucketACLAccessControlPolicyOwnerOutput

func (BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerOutputWithContext

func (o BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOwnerOutput

func (BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerPtrOutput

func (o BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerPtrOutput() BucketACLAccessControlPolicyOwnerPtrOutput

func (BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext

func (o BucketACLAccessControlPolicyOwnerOutput) ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOwnerPtrOutput

type BucketACLAccessControlPolicyOwnerPtrInput

type BucketACLAccessControlPolicyOwnerPtrInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyOwnerPtrOutput() BucketACLAccessControlPolicyOwnerPtrOutput
	ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext(context.Context) BucketACLAccessControlPolicyOwnerPtrOutput
}

BucketACLAccessControlPolicyOwnerPtrInput is an input type that accepts BucketACLAccessControlPolicyOwnerArgs, BucketACLAccessControlPolicyOwnerPtr and BucketACLAccessControlPolicyOwnerPtrOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyOwnerPtrInput` via:

        BucketACLAccessControlPolicyOwnerArgs{...}

or:

        nil

type BucketACLAccessControlPolicyOwnerPtrOutput

type BucketACLAccessControlPolicyOwnerPtrOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyOwnerPtrOutput) DisplayName

The project ID of the grantee.

func (BucketACLAccessControlPolicyOwnerPtrOutput) Elem

func (BucketACLAccessControlPolicyOwnerPtrOutput) ElementType

func (BucketACLAccessControlPolicyOwnerPtrOutput) Id

The `region`,`bucket` and `acl` separated by (`/`).

func (BucketACLAccessControlPolicyOwnerPtrOutput) ToBucketACLAccessControlPolicyOwnerPtrOutput

func (o BucketACLAccessControlPolicyOwnerPtrOutput) ToBucketACLAccessControlPolicyOwnerPtrOutput() BucketACLAccessControlPolicyOwnerPtrOutput

func (BucketACLAccessControlPolicyOwnerPtrOutput) ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext

func (o BucketACLAccessControlPolicyOwnerPtrOutput) ToBucketACLAccessControlPolicyOwnerPtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyOwnerPtrOutput

type BucketACLAccessControlPolicyPtrInput

type BucketACLAccessControlPolicyPtrInput interface {
	pulumi.Input

	ToBucketACLAccessControlPolicyPtrOutput() BucketACLAccessControlPolicyPtrOutput
	ToBucketACLAccessControlPolicyPtrOutputWithContext(context.Context) BucketACLAccessControlPolicyPtrOutput
}

BucketACLAccessControlPolicyPtrInput is an input type that accepts BucketACLAccessControlPolicyArgs, BucketACLAccessControlPolicyPtr and BucketACLAccessControlPolicyPtrOutput values. You can construct a concrete instance of `BucketACLAccessControlPolicyPtrInput` via:

        BucketACLAccessControlPolicyArgs{...}

or:

        nil

type BucketACLAccessControlPolicyPtrOutput

type BucketACLAccessControlPolicyPtrOutput struct{ *pulumi.OutputState }

func (BucketACLAccessControlPolicyPtrOutput) Elem

func (BucketACLAccessControlPolicyPtrOutput) ElementType

func (BucketACLAccessControlPolicyPtrOutput) Grants

func (BucketACLAccessControlPolicyPtrOutput) Owner

Configuration block of the bucket project owner's display organization ID.

func (BucketACLAccessControlPolicyPtrOutput) ToBucketACLAccessControlPolicyPtrOutput

func (o BucketACLAccessControlPolicyPtrOutput) ToBucketACLAccessControlPolicyPtrOutput() BucketACLAccessControlPolicyPtrOutput

func (BucketACLAccessControlPolicyPtrOutput) ToBucketACLAccessControlPolicyPtrOutputWithContext

func (o BucketACLAccessControlPolicyPtrOutput) ToBucketACLAccessControlPolicyPtrOutputWithContext(ctx context.Context) BucketACLAccessControlPolicyPtrOutput

type BucketACLArgs

type BucketACLArgs struct {
	// A configuration block that sets the ACL permissions for an object per grantee documented below.
	AccessControlPolicy BucketACLAccessControlPolicyPtrInput
	// The canned ACL you want to apply to the bucket.
	Acl pulumi.StringPtrInput
	// The bucket's name or regional ID.
	Bucket pulumi.StringInput
	// The project ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketACL resource.

func (BucketACLArgs) ElementType

func (BucketACLArgs) ElementType() reflect.Type

type BucketACLArray

type BucketACLArray []BucketACLInput

func (BucketACLArray) ElementType

func (BucketACLArray) ElementType() reflect.Type

func (BucketACLArray) ToBucketACLArrayOutput

func (i BucketACLArray) ToBucketACLArrayOutput() BucketACLArrayOutput

func (BucketACLArray) ToBucketACLArrayOutputWithContext

func (i BucketACLArray) ToBucketACLArrayOutputWithContext(ctx context.Context) BucketACLArrayOutput

type BucketACLArrayInput

type BucketACLArrayInput interface {
	pulumi.Input

	ToBucketACLArrayOutput() BucketACLArrayOutput
	ToBucketACLArrayOutputWithContext(context.Context) BucketACLArrayOutput
}

BucketACLArrayInput is an input type that accepts BucketACLArray and BucketACLArrayOutput values. You can construct a concrete instance of `BucketACLArrayInput` via:

BucketACLArray{ BucketACLArgs{...} }

type BucketACLArrayOutput

type BucketACLArrayOutput struct{ *pulumi.OutputState }

func (BucketACLArrayOutput) ElementType

func (BucketACLArrayOutput) ElementType() reflect.Type

func (BucketACLArrayOutput) Index

func (BucketACLArrayOutput) ToBucketACLArrayOutput

func (o BucketACLArrayOutput) ToBucketACLArrayOutput() BucketACLArrayOutput

func (BucketACLArrayOutput) ToBucketACLArrayOutputWithContext

func (o BucketACLArrayOutput) ToBucketACLArrayOutputWithContext(ctx context.Context) BucketACLArrayOutput

type BucketACLInput

type BucketACLInput interface {
	pulumi.Input

	ToBucketACLOutput() BucketACLOutput
	ToBucketACLOutputWithContext(ctx context.Context) BucketACLOutput
}

type BucketACLMap

type BucketACLMap map[string]BucketACLInput

func (BucketACLMap) ElementType

func (BucketACLMap) ElementType() reflect.Type

func (BucketACLMap) ToBucketACLMapOutput

func (i BucketACLMap) ToBucketACLMapOutput() BucketACLMapOutput

func (BucketACLMap) ToBucketACLMapOutputWithContext

func (i BucketACLMap) ToBucketACLMapOutputWithContext(ctx context.Context) BucketACLMapOutput

type BucketACLMapInput

type BucketACLMapInput interface {
	pulumi.Input

	ToBucketACLMapOutput() BucketACLMapOutput
	ToBucketACLMapOutputWithContext(context.Context) BucketACLMapOutput
}

BucketACLMapInput is an input type that accepts BucketACLMap and BucketACLMapOutput values. You can construct a concrete instance of `BucketACLMapInput` via:

BucketACLMap{ "key": BucketACLArgs{...} }

type BucketACLMapOutput

type BucketACLMapOutput struct{ *pulumi.OutputState }

func (BucketACLMapOutput) ElementType

func (BucketACLMapOutput) ElementType() reflect.Type

func (BucketACLMapOutput) MapIndex

func (BucketACLMapOutput) ToBucketACLMapOutput

func (o BucketACLMapOutput) ToBucketACLMapOutput() BucketACLMapOutput

func (BucketACLMapOutput) ToBucketACLMapOutputWithContext

func (o BucketACLMapOutput) ToBucketACLMapOutputWithContext(ctx context.Context) BucketACLMapOutput

type BucketACLOutput

type BucketACLOutput struct{ *pulumi.OutputState }

func (BucketACLOutput) AccessControlPolicy

func (o BucketACLOutput) AccessControlPolicy() BucketACLAccessControlPolicyOutput

A configuration block that sets the ACL permissions for an object per grantee documented below.

func (BucketACLOutput) Acl

The canned ACL you want to apply to the bucket.

func (BucketACLOutput) Bucket

func (o BucketACLOutput) Bucket() pulumi.StringOutput

The bucket's name or regional ID.

func (BucketACLOutput) ElementType

func (BucketACLOutput) ElementType() reflect.Type

func (BucketACLOutput) ExpectedBucketOwner

func (o BucketACLOutput) ExpectedBucketOwner() pulumi.StringPtrOutput

The project ID of the expected bucket owner.

func (BucketACLOutput) ProjectId

func (o BucketACLOutput) ProjectId() pulumi.StringOutput

The project_id you want to attach the resource to

func (BucketACLOutput) Region

func (o BucketACLOutput) Region() pulumi.StringOutput

The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.

func (BucketACLOutput) ToBucketACLOutput

func (o BucketACLOutput) ToBucketACLOutput() BucketACLOutput

func (BucketACLOutput) ToBucketACLOutputWithContext

func (o BucketACLOutput) ToBucketACLOutputWithContext(ctx context.Context) BucketACLOutput

type BucketACLState

type BucketACLState struct {
	// A configuration block that sets the ACL permissions for an object per grantee documented below.
	AccessControlPolicy BucketACLAccessControlPolicyPtrInput
	// The canned ACL you want to apply to the bucket.
	Acl pulumi.StringPtrInput
	// The bucket's name or regional ID.
	Bucket pulumi.StringPtrInput
	// The project ID of the expected bucket owner.
	ExpectedBucketOwner pulumi.StringPtrInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.
	Region pulumi.StringPtrInput
}

func (BucketACLState) ElementType

func (BucketACLState) ElementType() reflect.Type

type BucketArgs

type BucketArgs struct {
	// (Deprecated) The canned ACL you want to apply to the bucket.
	//
	// Deprecated: ACL attribute is deprecated. Please use the resource scaleway_object_bucket_acl instead.
	Acl pulumi.StringPtrInput
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules BucketCorsRuleArrayInput
	// Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
	ForceDestroy pulumi.BoolPtrInput
	// Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
	LifecycleRules BucketLifecycleRuleArrayInput
	// The name of the bucket.
	Name pulumi.StringPtrInput
	// Enable object lock
	ObjectLockEnabled pulumi.BoolPtrInput
	// `projectId`) The ID of the project the bucket is associated with.
	//
	// The `acl` attribute is deprecated. See objectstorage.BucketACL resource documentation.
	// Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
	ProjectId pulumi.StringPtrInput
	// The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.
	Region pulumi.StringPtrInput
	// A list of tags (key / value) for the bucket.
	//
	// * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
	// Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
	Tags pulumi.StringMapInput
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning BucketVersioningPtrInput
}

The set of arguments for constructing a Bucket resource.

func (BucketArgs) ElementType

func (BucketArgs) ElementType() reflect.Type

type BucketArray

type BucketArray []BucketInput

func (BucketArray) ElementType

func (BucketArray) ElementType() reflect.Type

func (BucketArray) ToBucketArrayOutput

func (i BucketArray) ToBucketArrayOutput() BucketArrayOutput

func (BucketArray) ToBucketArrayOutputWithContext

func (i BucketArray) ToBucketArrayOutputWithContext(ctx context.Context) BucketArrayOutput

type BucketArrayInput

type BucketArrayInput interface {
	pulumi.Input

	ToBucketArrayOutput() BucketArrayOutput
	ToBucketArrayOutputWithContext(context.Context) BucketArrayOutput
}

BucketArrayInput is an input type that accepts BucketArray and BucketArrayOutput values. You can construct a concrete instance of `BucketArrayInput` via:

BucketArray{ BucketArgs{...} }

type BucketArrayOutput

type BucketArrayOutput struct{ *pulumi.OutputState }

func (BucketArrayOutput) ElementType

func (BucketArrayOutput) ElementType() reflect.Type

func (BucketArrayOutput) Index

func (BucketArrayOutput) ToBucketArrayOutput

func (o BucketArrayOutput) ToBucketArrayOutput() BucketArrayOutput

func (BucketArrayOutput) ToBucketArrayOutputWithContext

func (o BucketArrayOutput) ToBucketArrayOutputWithContext(ctx context.Context) BucketArrayOutput

type BucketCorsRule

type BucketCorsRule struct {
	// Specifies which headers are allowed.
	AllowedHeaders []string `pulumi:"allowedHeaders"`
	// Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
	AllowedMethods []string `pulumi:"allowedMethods"`
	// Specifies which origins are allowed.
	AllowedOrigins []string `pulumi:"allowedOrigins"`
	// Specifies expose header in the response.
	ExposeHeaders []string `pulumi:"exposeHeaders"`
	// Specifies time in seconds that browser can cache the response for a preflight request.
	MaxAgeSeconds *int `pulumi:"maxAgeSeconds"`
}

type BucketCorsRuleArgs

type BucketCorsRuleArgs struct {
	// Specifies which headers are allowed.
	AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"`
	// Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.
	AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"`
	// Specifies which origins are allowed.
	AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"`
	// Specifies expose header in the response.
	ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"`
	// Specifies time in seconds that browser can cache the response for a preflight request.
	MaxAgeSeconds pulumi.IntPtrInput `pulumi:"maxAgeSeconds"`
}

func (BucketCorsRuleArgs) ElementType

func (BucketCorsRuleArgs) ElementType() reflect.Type

func (BucketCorsRuleArgs) ToBucketCorsRuleOutput

func (i BucketCorsRuleArgs) ToBucketCorsRuleOutput() BucketCorsRuleOutput

func (BucketCorsRuleArgs) ToBucketCorsRuleOutputWithContext

func (i BucketCorsRuleArgs) ToBucketCorsRuleOutputWithContext(ctx context.Context) BucketCorsRuleOutput

type BucketCorsRuleArray

type BucketCorsRuleArray []BucketCorsRuleInput

func (BucketCorsRuleArray) ElementType

func (BucketCorsRuleArray) ElementType() reflect.Type

func (BucketCorsRuleArray) ToBucketCorsRuleArrayOutput

func (i BucketCorsRuleArray) ToBucketCorsRuleArrayOutput() BucketCorsRuleArrayOutput

func (BucketCorsRuleArray) ToBucketCorsRuleArrayOutputWithContext

func (i BucketCorsRuleArray) ToBucketCorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsRuleArrayOutput

type BucketCorsRuleArrayInput

type BucketCorsRuleArrayInput interface {
	pulumi.Input

	ToBucketCorsRuleArrayOutput() BucketCorsRuleArrayOutput
	ToBucketCorsRuleArrayOutputWithContext(context.Context) BucketCorsRuleArrayOutput
}

BucketCorsRuleArrayInput is an input type that accepts BucketCorsRuleArray and BucketCorsRuleArrayOutput values. You can construct a concrete instance of `BucketCorsRuleArrayInput` via:

BucketCorsRuleArray{ BucketCorsRuleArgs{...} }

type BucketCorsRuleArrayOutput

type BucketCorsRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketCorsRuleArrayOutput) ElementType

func (BucketCorsRuleArrayOutput) ElementType() reflect.Type

func (BucketCorsRuleArrayOutput) Index

func (BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutput

func (o BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutput() BucketCorsRuleArrayOutput

func (BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutputWithContext

func (o BucketCorsRuleArrayOutput) ToBucketCorsRuleArrayOutputWithContext(ctx context.Context) BucketCorsRuleArrayOutput

type BucketCorsRuleInput

type BucketCorsRuleInput interface {
	pulumi.Input

	ToBucketCorsRuleOutput() BucketCorsRuleOutput
	ToBucketCorsRuleOutputWithContext(context.Context) BucketCorsRuleOutput
}

BucketCorsRuleInput is an input type that accepts BucketCorsRuleArgs and BucketCorsRuleOutput values. You can construct a concrete instance of `BucketCorsRuleInput` via:

BucketCorsRuleArgs{...}

type BucketCorsRuleOutput

type BucketCorsRuleOutput struct{ *pulumi.OutputState }

func (BucketCorsRuleOutput) AllowedHeaders

func (o BucketCorsRuleOutput) AllowedHeaders() pulumi.StringArrayOutput

Specifies which headers are allowed.

func (BucketCorsRuleOutput) AllowedMethods

func (o BucketCorsRuleOutput) AllowedMethods() pulumi.StringArrayOutput

Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`.

func (BucketCorsRuleOutput) AllowedOrigins

func (o BucketCorsRuleOutput) AllowedOrigins() pulumi.StringArrayOutput

Specifies which origins are allowed.

func (BucketCorsRuleOutput) ElementType

func (BucketCorsRuleOutput) ElementType() reflect.Type

func (BucketCorsRuleOutput) ExposeHeaders

func (o BucketCorsRuleOutput) ExposeHeaders() pulumi.StringArrayOutput

Specifies expose header in the response.

func (BucketCorsRuleOutput) MaxAgeSeconds

func (o BucketCorsRuleOutput) MaxAgeSeconds() pulumi.IntPtrOutput

Specifies time in seconds that browser can cache the response for a preflight request.

func (BucketCorsRuleOutput) ToBucketCorsRuleOutput

func (o BucketCorsRuleOutput) ToBucketCorsRuleOutput() BucketCorsRuleOutput

func (BucketCorsRuleOutput) ToBucketCorsRuleOutputWithContext

func (o BucketCorsRuleOutput) ToBucketCorsRuleOutputWithContext(ctx context.Context) BucketCorsRuleOutput

type BucketInput

type BucketInput interface {
	pulumi.Input

	ToBucketOutput() BucketOutput
	ToBucketOutputWithContext(ctx context.Context) BucketOutput
}

type BucketLifecycleRule

type BucketLifecycleRule struct {
	// Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.
	//
	// * > **Important:** It's not recommended using `prefix` for `AbortIncompleteMultipartUpload` as any incomplete multipart upload will be billed
	AbortIncompleteMultipartUploadDays *int `pulumi:"abortIncompleteMultipartUploadDays"`
	// The element value can be either Enabled or Disabled. If a rule is disabled, Scaleway S3 doesn't perform any of the actions defined in the rule.
	Enabled bool `pulumi:"enabled"`
	// Specifies a period in the object's expire (documented below).
	Expiration *BucketLifecycleRuleExpiration `pulumi:"expiration"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id *string `pulumi:"id"`
	// Object key prefix identifying one or more objects to which the rule applies.
	Prefix *string `pulumi:"prefix"`
	// Specifies object tags key and value.
	Tags map[string]string `pulumi:"tags"`
	// Specifies a period in the object's transitions (documented below).
	//
	// At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition` must be specified.
	Transitions []BucketLifecycleRuleTransition `pulumi:"transitions"`
}

type BucketLifecycleRuleArgs

type BucketLifecycleRuleArgs struct {
	// Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.
	//
	// * > **Important:** It's not recommended using `prefix` for `AbortIncompleteMultipartUpload` as any incomplete multipart upload will be billed
	AbortIncompleteMultipartUploadDays pulumi.IntPtrInput `pulumi:"abortIncompleteMultipartUploadDays"`
	// The element value can be either Enabled or Disabled. If a rule is disabled, Scaleway S3 doesn't perform any of the actions defined in the rule.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Specifies a period in the object's expire (documented below).
	Expiration BucketLifecycleRuleExpirationPtrInput `pulumi:"expiration"`
	// Unique identifier for the rule. Must be less than or equal to 255 characters in length.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Object key prefix identifying one or more objects to which the rule applies.
	Prefix pulumi.StringPtrInput `pulumi:"prefix"`
	// Specifies object tags key and value.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Specifies a period in the object's transitions (documented below).
	//
	// At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition` must be specified.
	Transitions BucketLifecycleRuleTransitionArrayInput `pulumi:"transitions"`
}

func (BucketLifecycleRuleArgs) ElementType

func (BucketLifecycleRuleArgs) ElementType() reflect.Type

func (BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutput

func (i BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutputWithContext

func (i BucketLifecycleRuleArgs) ToBucketLifecycleRuleOutputWithContext(ctx context.Context) BucketLifecycleRuleOutput

type BucketLifecycleRuleArray

type BucketLifecycleRuleArray []BucketLifecycleRuleInput

func (BucketLifecycleRuleArray) ElementType

func (BucketLifecycleRuleArray) ElementType() reflect.Type

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext

func (i BucketLifecycleRuleArray) ToBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayInput

type BucketLifecycleRuleArrayInput interface {
	pulumi.Input

	ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput
	ToBucketLifecycleRuleArrayOutputWithContext(context.Context) BucketLifecycleRuleArrayOutput
}

BucketLifecycleRuleArrayInput is an input type that accepts BucketLifecycleRuleArray and BucketLifecycleRuleArrayOutput values. You can construct a concrete instance of `BucketLifecycleRuleArrayInput` via:

BucketLifecycleRuleArray{ BucketLifecycleRuleArgs{...} }

type BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleArrayOutput) ElementType

func (BucketLifecycleRuleArrayOutput) Index

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutput() BucketLifecycleRuleArrayOutput

func (BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext

func (o BucketLifecycleRuleArrayOutput) ToBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleArrayOutput

type BucketLifecycleRuleExpiration

type BucketLifecycleRuleExpiration struct {
	// Specifies the number of days after object creation when the specific rule action takes effect.
	//
	// > **Important:**  If versioning is enabled, this rule only deletes the current version of an object.
	Days int `pulumi:"days"`
}

type BucketLifecycleRuleExpirationArgs

type BucketLifecycleRuleExpirationArgs struct {
	// Specifies the number of days after object creation when the specific rule action takes effect.
	//
	// > **Important:**  If versioning is enabled, this rule only deletes the current version of an object.
	Days pulumi.IntInput `pulumi:"days"`
}

func (BucketLifecycleRuleExpirationArgs) ElementType

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutput

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutput() BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutputWithContext

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutput

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput

func (BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutputWithContext

func (i BucketLifecycleRuleExpirationArgs) ToBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleExpirationInput

type BucketLifecycleRuleExpirationInput interface {
	pulumi.Input

	ToBucketLifecycleRuleExpirationOutput() BucketLifecycleRuleExpirationOutput
	ToBucketLifecycleRuleExpirationOutputWithContext(context.Context) BucketLifecycleRuleExpirationOutput
}

BucketLifecycleRuleExpirationInput is an input type that accepts BucketLifecycleRuleExpirationArgs and BucketLifecycleRuleExpirationOutput values. You can construct a concrete instance of `BucketLifecycleRuleExpirationInput` via:

BucketLifecycleRuleExpirationArgs{...}

type BucketLifecycleRuleExpirationOutput

type BucketLifecycleRuleExpirationOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleExpirationOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect.

> **Important:** If versioning is enabled, this rule only deletes the current version of an object.

func (BucketLifecycleRuleExpirationOutput) ElementType

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutput

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutput() BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutputWithContext

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationOutput

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutput

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput

func (BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext

func (o BucketLifecycleRuleExpirationOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleExpirationPtrInput

type BucketLifecycleRuleExpirationPtrInput interface {
	pulumi.Input

	ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput
	ToBucketLifecycleRuleExpirationPtrOutputWithContext(context.Context) BucketLifecycleRuleExpirationPtrOutput
}

BucketLifecycleRuleExpirationPtrInput is an input type that accepts BucketLifecycleRuleExpirationArgs, BucketLifecycleRuleExpirationPtr and BucketLifecycleRuleExpirationPtrOutput values. You can construct a concrete instance of `BucketLifecycleRuleExpirationPtrInput` via:

        BucketLifecycleRuleExpirationArgs{...}

or:

        nil

type BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleExpirationPtrOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleExpirationPtrOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect.

> **Important:** If versioning is enabled, this rule only deletes the current version of an object.

func (BucketLifecycleRuleExpirationPtrOutput) Elem

func (BucketLifecycleRuleExpirationPtrOutput) ElementType

func (BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutput

func (o BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutput() BucketLifecycleRuleExpirationPtrOutput

func (BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext

func (o BucketLifecycleRuleExpirationPtrOutput) ToBucketLifecycleRuleExpirationPtrOutputWithContext(ctx context.Context) BucketLifecycleRuleExpirationPtrOutput

type BucketLifecycleRuleInput

type BucketLifecycleRuleInput interface {
	pulumi.Input

	ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput
	ToBucketLifecycleRuleOutputWithContext(context.Context) BucketLifecycleRuleOutput
}

BucketLifecycleRuleInput is an input type that accepts BucketLifecycleRuleArgs and BucketLifecycleRuleOutput values. You can construct a concrete instance of `BucketLifecycleRuleInput` via:

BucketLifecycleRuleArgs{...}

type BucketLifecycleRuleOutput

type BucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays

func (o BucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays() pulumi.IntPtrOutput

Specifies the number of days after initiating a multipart upload when the multipart upload must be completed.

* > **Important:** It's not recommended using `prefix` for `AbortIncompleteMultipartUpload` as any incomplete multipart upload will be billed

func (BucketLifecycleRuleOutput) ElementType

func (BucketLifecycleRuleOutput) ElementType() reflect.Type

func (BucketLifecycleRuleOutput) Enabled

The element value can be either Enabled or Disabled. If a rule is disabled, Scaleway S3 doesn't perform any of the actions defined in the rule.

func (BucketLifecycleRuleOutput) Expiration

Specifies a period in the object's expire (documented below).

func (BucketLifecycleRuleOutput) Id

Unique identifier for the rule. Must be less than or equal to 255 characters in length.

func (BucketLifecycleRuleOutput) Prefix

Object key prefix identifying one or more objects to which the rule applies.

func (BucketLifecycleRuleOutput) Tags

Specifies object tags key and value.

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutput() BucketLifecycleRuleOutput

func (BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext

func (o BucketLifecycleRuleOutput) ToBucketLifecycleRuleOutputWithContext(ctx context.Context) BucketLifecycleRuleOutput

func (BucketLifecycleRuleOutput) Transitions

Specifies a period in the object's transitions (documented below).

At least one of `abortIncompleteMultipartUploadDays`, `expiration`, `transition` must be specified.

type BucketLifecycleRuleTransition

type BucketLifecycleRuleTransition struct {
	// Specifies the number of days after object creation when the specific rule action takes effect.
	Days *int `pulumi:"days"`
	// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA`  to which you want the object to transition.
	//
	// > **Important:**  `ONEZONE_IA` is only available in `fr-par` region. The storage class `GLACIER` is not available in `pl-waw` region.
	StorageClass string `pulumi:"storageClass"`
}

type BucketLifecycleRuleTransitionArgs

type BucketLifecycleRuleTransitionArgs struct {
	// Specifies the number of days after object creation when the specific rule action takes effect.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA`  to which you want the object to transition.
	//
	// > **Important:**  `ONEZONE_IA` is only available in `fr-par` region. The storage class `GLACIER` is not available in `pl-waw` region.
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (BucketLifecycleRuleTransitionArgs) ElementType

func (BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutput

func (i BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutput() BucketLifecycleRuleTransitionOutput

func (BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutputWithContext

func (i BucketLifecycleRuleTransitionArgs) ToBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionOutput

type BucketLifecycleRuleTransitionArray

type BucketLifecycleRuleTransitionArray []BucketLifecycleRuleTransitionInput

func (BucketLifecycleRuleTransitionArray) ElementType

func (BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutput

func (i BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutput() BucketLifecycleRuleTransitionArrayOutput

func (BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutputWithContext

func (i BucketLifecycleRuleTransitionArray) ToBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionArrayOutput

type BucketLifecycleRuleTransitionArrayInput

type BucketLifecycleRuleTransitionArrayInput interface {
	pulumi.Input

	ToBucketLifecycleRuleTransitionArrayOutput() BucketLifecycleRuleTransitionArrayOutput
	ToBucketLifecycleRuleTransitionArrayOutputWithContext(context.Context) BucketLifecycleRuleTransitionArrayOutput
}

BucketLifecycleRuleTransitionArrayInput is an input type that accepts BucketLifecycleRuleTransitionArray and BucketLifecycleRuleTransitionArrayOutput values. You can construct a concrete instance of `BucketLifecycleRuleTransitionArrayInput` via:

BucketLifecycleRuleTransitionArray{ BucketLifecycleRuleTransitionArgs{...} }

type BucketLifecycleRuleTransitionArrayOutput

type BucketLifecycleRuleTransitionArrayOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleTransitionArrayOutput) ElementType

func (BucketLifecycleRuleTransitionArrayOutput) Index

func (BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutput

func (o BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutput() BucketLifecycleRuleTransitionArrayOutput

func (BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutputWithContext

func (o BucketLifecycleRuleTransitionArrayOutput) ToBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionArrayOutput

type BucketLifecycleRuleTransitionInput

type BucketLifecycleRuleTransitionInput interface {
	pulumi.Input

	ToBucketLifecycleRuleTransitionOutput() BucketLifecycleRuleTransitionOutput
	ToBucketLifecycleRuleTransitionOutputWithContext(context.Context) BucketLifecycleRuleTransitionOutput
}

BucketLifecycleRuleTransitionInput is an input type that accepts BucketLifecycleRuleTransitionArgs and BucketLifecycleRuleTransitionOutput values. You can construct a concrete instance of `BucketLifecycleRuleTransitionInput` via:

BucketLifecycleRuleTransitionArgs{...}

type BucketLifecycleRuleTransitionOutput

type BucketLifecycleRuleTransitionOutput struct{ *pulumi.OutputState }

func (BucketLifecycleRuleTransitionOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect.

func (BucketLifecycleRuleTransitionOutput) ElementType

func (BucketLifecycleRuleTransitionOutput) StorageClass

Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` to which you want the object to transition.

> **Important:** `ONEZONE_IA` is only available in `fr-par` region. The storage class `GLACIER` is not available in `pl-waw` region.

func (BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutput

func (o BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutput() BucketLifecycleRuleTransitionOutput

func (BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutputWithContext

func (o BucketLifecycleRuleTransitionOutput) ToBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) BucketLifecycleRuleTransitionOutput

type BucketLockConfiguration

type BucketLockConfiguration struct {
	pulumi.CustomResourceState

	// The bucket's name or regional ID.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region you want to attach the resource to
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the Object Lock rule for the specified object.
	Rule BucketLockConfigurationRuleOutput `pulumi:"rule"`
}

Provides an Object bucket lock configuration resource. For more information, see [Setting up object lock](https://www.scaleway.com/en/docs/storage/object/api-cli/object-lock/).

## Example Usage

### Configure an Object Lock for a new bucket

Please note that `objectLockEnabled` must be set to `true` before configuring the lock.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainBucket, err := objectstorage.NewBucket(ctx, "mainBucket", &objectstorage.BucketArgs{
			Acl:               pulumi.String("public-read"),
			ObjectLockEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketLockConfiguration(ctx, "mainBucketLockConfiguration", &objectstorage.BucketLockConfigurationArgs{
			Bucket: mainBucket.Name,
			Rule: &objectstorage.BucketLockConfigurationRuleArgs{
				DefaultRetention: &objectstorage.BucketLockConfigurationRuleDefaultRetentionArgs{
					Mode: pulumi.String("GOVERNANCE"),
					Days: pulumi.Int(1),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Configure an Object Lock for an existing bucket

You should [contact Scaleway support](https://console.scaleway.com/support/tickets/create) to enable object lock on an existing bucket.

## Import

Bucket lock configurations can be imported using the `{region}/{bucketName}` identifier, e.g.

bash

```sh $ pulumi import scaleway:objectstorage/bucketLockConfiguration:BucketLockConfiguration some_bucket fr-par/some-bucket ```

~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.

If you are using a project different from the default one, you have to specify the project ID at the end of the import command.

bash

```sh $ pulumi import scaleway:objectstorage/bucketLockConfiguration:BucketLockConfiguration some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx ```

func GetBucketLockConfiguration

func GetBucketLockConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketLockConfigurationState, opts ...pulumi.ResourceOption) (*BucketLockConfiguration, error)

GetBucketLockConfiguration gets an existing BucketLockConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketLockConfiguration

func NewBucketLockConfiguration(ctx *pulumi.Context,
	name string, args *BucketLockConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketLockConfiguration, error)

NewBucketLockConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketLockConfiguration) ElementType

func (*BucketLockConfiguration) ElementType() reflect.Type

func (*BucketLockConfiguration) ToBucketLockConfigurationOutput

func (i *BucketLockConfiguration) ToBucketLockConfigurationOutput() BucketLockConfigurationOutput

func (*BucketLockConfiguration) ToBucketLockConfigurationOutputWithContext

func (i *BucketLockConfiguration) ToBucketLockConfigurationOutputWithContext(ctx context.Context) BucketLockConfigurationOutput

type BucketLockConfigurationArgs

type BucketLockConfigurationArgs struct {
	// The bucket's name or regional ID.
	Bucket pulumi.StringInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The region you want to attach the resource to
	Region pulumi.StringPtrInput
	// Specifies the Object Lock rule for the specified object.
	Rule BucketLockConfigurationRuleInput
}

The set of arguments for constructing a BucketLockConfiguration resource.

func (BucketLockConfigurationArgs) ElementType

type BucketLockConfigurationArray

type BucketLockConfigurationArray []BucketLockConfigurationInput

func (BucketLockConfigurationArray) ElementType

func (BucketLockConfigurationArray) ToBucketLockConfigurationArrayOutput

func (i BucketLockConfigurationArray) ToBucketLockConfigurationArrayOutput() BucketLockConfigurationArrayOutput

func (BucketLockConfigurationArray) ToBucketLockConfigurationArrayOutputWithContext

func (i BucketLockConfigurationArray) ToBucketLockConfigurationArrayOutputWithContext(ctx context.Context) BucketLockConfigurationArrayOutput

type BucketLockConfigurationArrayInput

type BucketLockConfigurationArrayInput interface {
	pulumi.Input

	ToBucketLockConfigurationArrayOutput() BucketLockConfigurationArrayOutput
	ToBucketLockConfigurationArrayOutputWithContext(context.Context) BucketLockConfigurationArrayOutput
}

BucketLockConfigurationArrayInput is an input type that accepts BucketLockConfigurationArray and BucketLockConfigurationArrayOutput values. You can construct a concrete instance of `BucketLockConfigurationArrayInput` via:

BucketLockConfigurationArray{ BucketLockConfigurationArgs{...} }

type BucketLockConfigurationArrayOutput

type BucketLockConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationArrayOutput) ElementType

func (BucketLockConfigurationArrayOutput) Index

func (BucketLockConfigurationArrayOutput) ToBucketLockConfigurationArrayOutput

func (o BucketLockConfigurationArrayOutput) ToBucketLockConfigurationArrayOutput() BucketLockConfigurationArrayOutput

func (BucketLockConfigurationArrayOutput) ToBucketLockConfigurationArrayOutputWithContext

func (o BucketLockConfigurationArrayOutput) ToBucketLockConfigurationArrayOutputWithContext(ctx context.Context) BucketLockConfigurationArrayOutput

type BucketLockConfigurationInput

type BucketLockConfigurationInput interface {
	pulumi.Input

	ToBucketLockConfigurationOutput() BucketLockConfigurationOutput
	ToBucketLockConfigurationOutputWithContext(ctx context.Context) BucketLockConfigurationOutput
}

type BucketLockConfigurationMap

type BucketLockConfigurationMap map[string]BucketLockConfigurationInput

func (BucketLockConfigurationMap) ElementType

func (BucketLockConfigurationMap) ElementType() reflect.Type

func (BucketLockConfigurationMap) ToBucketLockConfigurationMapOutput

func (i BucketLockConfigurationMap) ToBucketLockConfigurationMapOutput() BucketLockConfigurationMapOutput

func (BucketLockConfigurationMap) ToBucketLockConfigurationMapOutputWithContext

func (i BucketLockConfigurationMap) ToBucketLockConfigurationMapOutputWithContext(ctx context.Context) BucketLockConfigurationMapOutput

type BucketLockConfigurationMapInput

type BucketLockConfigurationMapInput interface {
	pulumi.Input

	ToBucketLockConfigurationMapOutput() BucketLockConfigurationMapOutput
	ToBucketLockConfigurationMapOutputWithContext(context.Context) BucketLockConfigurationMapOutput
}

BucketLockConfigurationMapInput is an input type that accepts BucketLockConfigurationMap and BucketLockConfigurationMapOutput values. You can construct a concrete instance of `BucketLockConfigurationMapInput` via:

BucketLockConfigurationMap{ "key": BucketLockConfigurationArgs{...} }

type BucketLockConfigurationMapOutput

type BucketLockConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationMapOutput) ElementType

func (BucketLockConfigurationMapOutput) MapIndex

func (BucketLockConfigurationMapOutput) ToBucketLockConfigurationMapOutput

func (o BucketLockConfigurationMapOutput) ToBucketLockConfigurationMapOutput() BucketLockConfigurationMapOutput

func (BucketLockConfigurationMapOutput) ToBucketLockConfigurationMapOutputWithContext

func (o BucketLockConfigurationMapOutput) ToBucketLockConfigurationMapOutputWithContext(ctx context.Context) BucketLockConfigurationMapOutput

type BucketLockConfigurationOutput

type BucketLockConfigurationOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationOutput) Bucket

The bucket's name or regional ID.

func (BucketLockConfigurationOutput) ElementType

func (BucketLockConfigurationOutput) ProjectId

The project_id you want to attach the resource to

func (BucketLockConfigurationOutput) Region

The region you want to attach the resource to

func (BucketLockConfigurationOutput) Rule

Specifies the Object Lock rule for the specified object.

func (BucketLockConfigurationOutput) ToBucketLockConfigurationOutput

func (o BucketLockConfigurationOutput) ToBucketLockConfigurationOutput() BucketLockConfigurationOutput

func (BucketLockConfigurationOutput) ToBucketLockConfigurationOutputWithContext

func (o BucketLockConfigurationOutput) ToBucketLockConfigurationOutputWithContext(ctx context.Context) BucketLockConfigurationOutput

type BucketLockConfigurationRule

type BucketLockConfigurationRule struct {
	// The default retention for the lock.
	DefaultRetention BucketLockConfigurationRuleDefaultRetention `pulumi:"defaultRetention"`
}

type BucketLockConfigurationRuleArgs

type BucketLockConfigurationRuleArgs struct {
	// The default retention for the lock.
	DefaultRetention BucketLockConfigurationRuleDefaultRetentionInput `pulumi:"defaultRetention"`
}

func (BucketLockConfigurationRuleArgs) ElementType

func (BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRuleOutput

func (i BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRuleOutput() BucketLockConfigurationRuleOutput

func (BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRuleOutputWithContext

func (i BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRuleOutputWithContext(ctx context.Context) BucketLockConfigurationRuleOutput

func (BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRulePtrOutput

func (i BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRulePtrOutput() BucketLockConfigurationRulePtrOutput

func (BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRulePtrOutputWithContext

func (i BucketLockConfigurationRuleArgs) ToBucketLockConfigurationRulePtrOutputWithContext(ctx context.Context) BucketLockConfigurationRulePtrOutput

type BucketLockConfigurationRuleDefaultRetention

type BucketLockConfigurationRuleDefaultRetention struct {
	// The number of days that you want to specify for the default retention period.
	Days *int `pulumi:"days"`
	// The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values are `GOVERNANCE` or `COMPLIANCE`. To learn more about the difference between these modes, see [Object Lock retention modes](https://www.scaleway.com/en/docs/storage/object/api-cli/object-lock/#retention-modes).
	Mode string `pulumi:"mode"`
	// The number of years that you want to specify for the default retention period.
	Years *int `pulumi:"years"`
}

type BucketLockConfigurationRuleDefaultRetentionArgs

type BucketLockConfigurationRuleDefaultRetentionArgs struct {
	// The number of days that you want to specify for the default retention period.
	Days pulumi.IntPtrInput `pulumi:"days"`
	// The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values are `GOVERNANCE` or `COMPLIANCE`. To learn more about the difference between these modes, see [Object Lock retention modes](https://www.scaleway.com/en/docs/storage/object/api-cli/object-lock/#retention-modes).
	Mode pulumi.StringInput `pulumi:"mode"`
	// The number of years that you want to specify for the default retention period.
	Years pulumi.IntPtrInput `pulumi:"years"`
}

func (BucketLockConfigurationRuleDefaultRetentionArgs) ElementType

func (BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionOutput

func (i BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionOutput() BucketLockConfigurationRuleDefaultRetentionOutput

func (BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionOutputWithContext

func (i BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionOutputWithContext(ctx context.Context) BucketLockConfigurationRuleDefaultRetentionOutput

func (BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionPtrOutput

func (i BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionPtrOutput() BucketLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (i BucketLockConfigurationRuleDefaultRetentionArgs) ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketLockConfigurationRuleDefaultRetentionPtrOutput

type BucketLockConfigurationRuleDefaultRetentionInput

type BucketLockConfigurationRuleDefaultRetentionInput interface {
	pulumi.Input

	ToBucketLockConfigurationRuleDefaultRetentionOutput() BucketLockConfigurationRuleDefaultRetentionOutput
	ToBucketLockConfigurationRuleDefaultRetentionOutputWithContext(context.Context) BucketLockConfigurationRuleDefaultRetentionOutput
}

BucketLockConfigurationRuleDefaultRetentionInput is an input type that accepts BucketLockConfigurationRuleDefaultRetentionArgs and BucketLockConfigurationRuleDefaultRetentionOutput values. You can construct a concrete instance of `BucketLockConfigurationRuleDefaultRetentionInput` via:

BucketLockConfigurationRuleDefaultRetentionArgs{...}

type BucketLockConfigurationRuleDefaultRetentionOutput

type BucketLockConfigurationRuleDefaultRetentionOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationRuleDefaultRetentionOutput) Days

The number of days that you want to specify for the default retention period.

func (BucketLockConfigurationRuleDefaultRetentionOutput) ElementType

func (BucketLockConfigurationRuleDefaultRetentionOutput) Mode

The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values are `GOVERNANCE` or `COMPLIANCE`. To learn more about the difference between these modes, see [Object Lock retention modes](https://www.scaleway.com/en/docs/storage/object/api-cli/object-lock/#retention-modes).

func (BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionOutput

func (o BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionOutput() BucketLockConfigurationRuleDefaultRetentionOutput

func (BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionOutputWithContext

func (o BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionOutputWithContext(ctx context.Context) BucketLockConfigurationRuleDefaultRetentionOutput

func (BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutput

func (o BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutput() BucketLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (o BucketLockConfigurationRuleDefaultRetentionOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketLockConfigurationRuleDefaultRetentionOutput) Years

The number of years that you want to specify for the default retention period.

type BucketLockConfigurationRuleDefaultRetentionPtrInput

type BucketLockConfigurationRuleDefaultRetentionPtrInput interface {
	pulumi.Input

	ToBucketLockConfigurationRuleDefaultRetentionPtrOutput() BucketLockConfigurationRuleDefaultRetentionPtrOutput
	ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext(context.Context) BucketLockConfigurationRuleDefaultRetentionPtrOutput
}

BucketLockConfigurationRuleDefaultRetentionPtrInput is an input type that accepts BucketLockConfigurationRuleDefaultRetentionArgs, BucketLockConfigurationRuleDefaultRetentionPtr and BucketLockConfigurationRuleDefaultRetentionPtrOutput values. You can construct a concrete instance of `BucketLockConfigurationRuleDefaultRetentionPtrInput` via:

        BucketLockConfigurationRuleDefaultRetentionArgs{...}

or:

        nil

type BucketLockConfigurationRuleDefaultRetentionPtrOutput

type BucketLockConfigurationRuleDefaultRetentionPtrOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) Days

The number of days that you want to specify for the default retention period.

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) Elem

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) ElementType

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) Mode

The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Valid values are `GOVERNANCE` or `COMPLIANCE`. To learn more about the difference between these modes, see [Object Lock retention modes](https://www.scaleway.com/en/docs/storage/object/api-cli/object-lock/#retention-modes).

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext

func (o BucketLockConfigurationRuleDefaultRetentionPtrOutput) ToBucketLockConfigurationRuleDefaultRetentionPtrOutputWithContext(ctx context.Context) BucketLockConfigurationRuleDefaultRetentionPtrOutput

func (BucketLockConfigurationRuleDefaultRetentionPtrOutput) Years

The number of years that you want to specify for the default retention period.

type BucketLockConfigurationRuleInput

type BucketLockConfigurationRuleInput interface {
	pulumi.Input

	ToBucketLockConfigurationRuleOutput() BucketLockConfigurationRuleOutput
	ToBucketLockConfigurationRuleOutputWithContext(context.Context) BucketLockConfigurationRuleOutput
}

BucketLockConfigurationRuleInput is an input type that accepts BucketLockConfigurationRuleArgs and BucketLockConfigurationRuleOutput values. You can construct a concrete instance of `BucketLockConfigurationRuleInput` via:

BucketLockConfigurationRuleArgs{...}

type BucketLockConfigurationRuleOutput

type BucketLockConfigurationRuleOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationRuleOutput) DefaultRetention

The default retention for the lock.

func (BucketLockConfigurationRuleOutput) ElementType

func (BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRuleOutput

func (o BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRuleOutput() BucketLockConfigurationRuleOutput

func (BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRuleOutputWithContext

func (o BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRuleOutputWithContext(ctx context.Context) BucketLockConfigurationRuleOutput

func (BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRulePtrOutput

func (o BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRulePtrOutput() BucketLockConfigurationRulePtrOutput

func (BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRulePtrOutputWithContext

func (o BucketLockConfigurationRuleOutput) ToBucketLockConfigurationRulePtrOutputWithContext(ctx context.Context) BucketLockConfigurationRulePtrOutput

type BucketLockConfigurationRulePtrInput

type BucketLockConfigurationRulePtrInput interface {
	pulumi.Input

	ToBucketLockConfigurationRulePtrOutput() BucketLockConfigurationRulePtrOutput
	ToBucketLockConfigurationRulePtrOutputWithContext(context.Context) BucketLockConfigurationRulePtrOutput
}

BucketLockConfigurationRulePtrInput is an input type that accepts BucketLockConfigurationRuleArgs, BucketLockConfigurationRulePtr and BucketLockConfigurationRulePtrOutput values. You can construct a concrete instance of `BucketLockConfigurationRulePtrInput` via:

        BucketLockConfigurationRuleArgs{...}

or:

        nil

type BucketLockConfigurationRulePtrOutput

type BucketLockConfigurationRulePtrOutput struct{ *pulumi.OutputState }

func (BucketLockConfigurationRulePtrOutput) DefaultRetention

The default retention for the lock.

func (BucketLockConfigurationRulePtrOutput) Elem

func (BucketLockConfigurationRulePtrOutput) ElementType

func (BucketLockConfigurationRulePtrOutput) ToBucketLockConfigurationRulePtrOutput

func (o BucketLockConfigurationRulePtrOutput) ToBucketLockConfigurationRulePtrOutput() BucketLockConfigurationRulePtrOutput

func (BucketLockConfigurationRulePtrOutput) ToBucketLockConfigurationRulePtrOutputWithContext

func (o BucketLockConfigurationRulePtrOutput) ToBucketLockConfigurationRulePtrOutputWithContext(ctx context.Context) BucketLockConfigurationRulePtrOutput

type BucketLockConfigurationState

type BucketLockConfigurationState struct {
	// The bucket's name or regional ID.
	Bucket pulumi.StringPtrInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The region you want to attach the resource to
	Region pulumi.StringPtrInput
	// Specifies the Object Lock rule for the specified object.
	Rule BucketLockConfigurationRulePtrInput
}

func (BucketLockConfigurationState) ElementType

type BucketMap

type BucketMap map[string]BucketInput

func (BucketMap) ElementType

func (BucketMap) ElementType() reflect.Type

func (BucketMap) ToBucketMapOutput

func (i BucketMap) ToBucketMapOutput() BucketMapOutput

func (BucketMap) ToBucketMapOutputWithContext

func (i BucketMap) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketMapInput

type BucketMapInput interface {
	pulumi.Input

	ToBucketMapOutput() BucketMapOutput
	ToBucketMapOutputWithContext(context.Context) BucketMapOutput
}

BucketMapInput is an input type that accepts BucketMap and BucketMapOutput values. You can construct a concrete instance of `BucketMapInput` via:

BucketMap{ "key": BucketArgs{...} }

type BucketMapOutput

type BucketMapOutput struct{ *pulumi.OutputState }

func (BucketMapOutput) ElementType

func (BucketMapOutput) ElementType() reflect.Type

func (BucketMapOutput) MapIndex

func (BucketMapOutput) ToBucketMapOutput

func (o BucketMapOutput) ToBucketMapOutput() BucketMapOutput

func (BucketMapOutput) ToBucketMapOutputWithContext

func (o BucketMapOutput) ToBucketMapOutputWithContext(ctx context.Context) BucketMapOutput

type BucketOutput

type BucketOutput struct{ *pulumi.OutputState }

func (BucketOutput) Acl deprecated

(Deprecated) The canned ACL you want to apply to the bucket.

Deprecated: ACL attribute is deprecated. Please use the resource scaleway_object_bucket_acl instead.

func (BucketOutput) ApiEndpoint

func (o BucketOutput) ApiEndpoint() pulumi.StringOutput

API URL of the bucket

func (BucketOutput) CorsRules

A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).

func (BucketOutput) ElementType

func (BucketOutput) ElementType() reflect.Type

func (BucketOutput) Endpoint

func (o BucketOutput) Endpoint() pulumi.StringOutput

The endpoint URL of the bucket

func (BucketOutput) ForceDestroy

func (o BucketOutput) ForceDestroy() pulumi.BoolPtrOutput

Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable

func (BucketOutput) LifecycleRules

func (o BucketOutput) LifecycleRules() BucketLifecycleRuleArrayOutput

Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects

func (BucketOutput) Name

func (o BucketOutput) Name() pulumi.StringOutput

The name of the bucket.

func (BucketOutput) ObjectLockEnabled

func (o BucketOutput) ObjectLockEnabled() pulumi.BoolPtrOutput

Enable object lock

func (BucketOutput) ProjectId

func (o BucketOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the bucket is associated with.

The `acl` attribute is deprecated. See objectstorage.BucketACL resource documentation. Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.

func (BucketOutput) Region

func (o BucketOutput) Region() pulumi.StringOutput

The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.

func (BucketOutput) Tags

A list of tags (key / value) for the bucket.

* > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed. Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.

func (BucketOutput) ToBucketOutput

func (o BucketOutput) ToBucketOutput() BucketOutput

func (BucketOutput) ToBucketOutputWithContext

func (o BucketOutput) ToBucketOutputWithContext(ctx context.Context) BucketOutput

func (BucketOutput) Versioning

func (o BucketOutput) Versioning() BucketVersioningOutput

A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)

type BucketPolicy

type BucketPolicy struct {
	pulumi.CustomResourceState

	// The bucket's name or regional ID.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The text of the policy.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The Scaleway region this bucket resides in.
	Region pulumi.StringOutput `pulumi:"region"`
}

Creates and manages Scaleway object storage bucket policy. For more information, see [the documentation](https://www.scaleway.com/en/docs/storage/object/api-cli/bucket-policy/).

## Example Usage

### Example Usage with an IAM user

<!--Start PulumiCodeChooser --> ```go package main

import (

"encoding/json"
"fmt"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/account"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := account.LookupProject(ctx, &account.LookupProjectArgs{
			Name: pulumi.StringRef("default"),
		}, nil)
		if err != nil {
			return err
		}
		user, err := iam.LookupUser(ctx, &iam.LookupUserArgs{
			Email: pulumi.StringRef("user@scaleway.com"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = iam.NewPolicy(ctx, "policyPolicy", &iam.PolicyArgs{
			UserId: *pulumi.String(user.Id),
			Rules: iam.PolicyRuleArray{
				&iam.PolicyRuleArgs{
					ProjectIds: pulumi.StringArray{
						*pulumi.String(_default.Id),
					},
					PermissionSetNames: pulumi.StringArray{
						pulumi.String("ObjectStorageFullAccess"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		// Object storage configuration
		bucket, err := objectstorage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketPolicy(ctx, "policyBucketPolicy", &objectstorage.BucketPolicyArgs{
			Bucket: bucket.Name,
			Policy: pulumi.All(bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {
				bucketName := _args[0].(string)
				bucketName1 := _args[1].(string)
				var _zero string
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"Version": "2023-04-17",
					"Id":      "MyBucketPolicy",
					"Statement": []map[string]interface{}{
						map[string]interface{}{
							"Effect": "Allow",
							"Action": []string{
								"s3:*",
							},
							"Principal": map[string]interface{}{
								"SCW": fmt.Sprintf("user_id:%v", user.Id),
							},
							"Resource": []string{
								bucketName,
								fmt.Sprintf("%v/*", bucketName1),
							},
						},
					},
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return json0, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example with an IAM application

### Creating a bucket and delegating read access to an application

<!--Start PulumiCodeChooser --> ```go package main

import (

"encoding/json"
"fmt"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/account"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := account.LookupProject(ctx, &account.LookupProjectArgs{
			Name: pulumi.StringRef("default"),
		}, nil)
		if err != nil {
			return err
		}
		// IAM configuration
		_, err = iam.NewApplication(ctx, "reading-app", nil)
		if err != nil {
			return err
		}
		_, err = iam.NewPolicy(ctx, "policyPolicy", &iam.PolicyArgs{
			ApplicationId: reading_app.ID(),
			Rules: iam.PolicyRuleArray{
				&iam.PolicyRuleArgs{
					ProjectIds: pulumi.StringArray{
						*pulumi.String(_default.Id),
					},
					PermissionSetNames: pulumi.StringArray{
						pulumi.String("ObjectStorageBucketsRead"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		// Object storage configuration
		bucket, err := objectstorage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketPolicy(ctx, "policyBucketPolicy", &objectstorage.BucketPolicyArgs{
			Bucket: bucket.ID(),
			Policy: pulumi.All(reading_app.ID(), bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {
				id := _args[0].(string)
				bucketName := _args[1].(string)
				bucketName1 := _args[2].(string)
				var _zero string
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"Version": "2023-04-17",
					"Statement": []map[string]interface{}{
						map[string]interface{}{
							"Sid":    "Delegate read access",
							"Effect": "Allow",
							"Principal": map[string]interface{}{
								"SCW": fmt.Sprintf("application_id:%v", id),
							},
							"Action": []string{
								"s3:ListBucket",
								"s3:GetObject",
							},
							"Resource": []string{
								bucketName,
								fmt.Sprintf("%v/*", bucketName1),
							},
						},
					},
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return json0, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Reading the bucket with the application

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/iam"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		reading_app, err := iam.LookupApplication(ctx, &iam.LookupApplicationArgs{
			Name: pulumi.StringRef("reading-app"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = iam.NewAPIKey(ctx, "reading-api-key", &iam.APIKeyArgs{
			ApplicationId: *pulumi.String(reading_app.Id),
		})
		if err != nil {
			return err
		}
		_, err = scaleway.NewProvider(ctx, "reading-profile", &scaleway.ProviderArgs{
			AccessKey: reading_api_key.AccessKey,
			SecretKey: reading_api_key.SecretKey,
		})
		if err != nil {
			return err
		}
		_, err = objectstorage.LookupBucket(ctx, &objectstorage.LookupBucketArgs{
			Name: pulumi.StringRef("some-unique-name"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example with AWS provider

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/account"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := account.LookupProject(ctx, &account.LookupProjectArgs{
			Name: pulumi.StringRef("default"),
		}, nil)
		if err != nil {
			return err
		}
		// Object storage configuration
		bucket, err := objectstorage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		policy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Version: pulumi.String("2012-10-17"),
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Sid:    pulumi.String("Delegate access"),
					Effect: pulumi.String("Allow"),
					Principals: iam.GetPolicyDocumentStatementPrincipalArray{
						&iam.GetPolicyDocumentStatementPrincipalArgs{
							Type: pulumi.String("SCW"),
							Identifiers: pulumi.StringArray{
								pulumi.String(fmt.Sprintf("project_id:%v", _default.Id)),
							},
						},
					},
					Actions: pulumi.StringArray{
						pulumi.String("s3:ListBucket"),
					},
					Resources: pulumi.StringArray{
						bucket.Name,
						bucket.Name.ApplyT(func(name string) (string, error) {
							return fmt.Sprintf("%v/*", name), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		}, nil)
		_, err = objectstorage.NewBucketPolicy(ctx, "main", &objectstorage.BucketPolicyArgs{
			Bucket: bucket.ID(),
			Policy: policy.ApplyT(func(policy iam.GetPolicyDocumentResult) (*string, error) {
				return &policy.Json, nil
			}).(pulumi.StringPtrOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example with deprecated version 2012-10-17

<!--Start PulumiCodeChooser --> ```go package main

import (

"encoding/json"
"fmt"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/account"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := account.LookupProject(ctx, &account.LookupProjectArgs{
			Name: pulumi.StringRef("default"),
		}, nil)
		if err != nil {
			return err
		}
		// Object storage configuration
		bucket, err := objectstorage.NewBucket(ctx, "bucket", &objectstorage.BucketArgs{
			Region: pulumi.String("fr-par"),
		})
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketPolicy(ctx, "policy", &objectstorage.BucketPolicyArgs{
			Bucket: bucket.Name,
			Policy: pulumi.All(bucket.Name, bucket.Name).ApplyT(func(_args []interface{}) (string, error) {
				bucketName := _args[0].(string)
				bucketName1 := _args[1].(string)
				var _zero string
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"Version": "2012-10-17",
					"Statement": []map[string]interface{}{
						map[string]interface{}{
							"Effect": "Allow",
							"Action": []string{
								"s3:ListBucket",
								"s3:GetObjectTagging",
							},
							"Principal": map[string]interface{}{
								"SCW": fmt.Sprintf("project_id:%v", _default.Id),
							},
							"Resource": []string{
								bucketName,
								fmt.Sprintf("%v/*", bucketName1),
							},
						},
					},
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return json0, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

**NB:** To configure the AWS provider with Scaleway credentials, please visit this [tutorial](https://www.scaleway.com/en/docs/storage/object/api-cli/object-storage-aws-cli/).

## Import

Bucket policies can be imported using the `{region}/{bucketName}` identifier, e.g.

bash

```sh $ pulumi import scaleway:objectstorage/bucketPolicy:BucketPolicy some_bucket fr-par/some-bucket ```

~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.

If you are using a project different from the default one, you have to specify the project ID at the end of the import command.

bash

```sh $ pulumi import scaleway:objectstorage/bucketPolicy:BucketPolicy some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx ```

func GetBucketPolicy

func GetBucketPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketPolicyState, opts ...pulumi.ResourceOption) (*BucketPolicy, error)

GetBucketPolicy gets an existing BucketPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketPolicy

func NewBucketPolicy(ctx *pulumi.Context,
	name string, args *BucketPolicyArgs, opts ...pulumi.ResourceOption) (*BucketPolicy, error)

NewBucketPolicy registers a new resource with the given unique name, arguments, and options.

func (*BucketPolicy) ElementType

func (*BucketPolicy) ElementType() reflect.Type

func (*BucketPolicy) ToBucketPolicyOutput

func (i *BucketPolicy) ToBucketPolicyOutput() BucketPolicyOutput

func (*BucketPolicy) ToBucketPolicyOutputWithContext

func (i *BucketPolicy) ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput

type BucketPolicyArgs

type BucketPolicyArgs struct {
	// The bucket's name or regional ID.
	Bucket pulumi.StringInput
	// The text of the policy.
	Policy pulumi.StringInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The Scaleway region this bucket resides in.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketPolicy resource.

func (BucketPolicyArgs) ElementType

func (BucketPolicyArgs) ElementType() reflect.Type

type BucketPolicyArray

type BucketPolicyArray []BucketPolicyInput

func (BucketPolicyArray) ElementType

func (BucketPolicyArray) ElementType() reflect.Type

func (BucketPolicyArray) ToBucketPolicyArrayOutput

func (i BucketPolicyArray) ToBucketPolicyArrayOutput() BucketPolicyArrayOutput

func (BucketPolicyArray) ToBucketPolicyArrayOutputWithContext

func (i BucketPolicyArray) ToBucketPolicyArrayOutputWithContext(ctx context.Context) BucketPolicyArrayOutput

type BucketPolicyArrayInput

type BucketPolicyArrayInput interface {
	pulumi.Input

	ToBucketPolicyArrayOutput() BucketPolicyArrayOutput
	ToBucketPolicyArrayOutputWithContext(context.Context) BucketPolicyArrayOutput
}

BucketPolicyArrayInput is an input type that accepts BucketPolicyArray and BucketPolicyArrayOutput values. You can construct a concrete instance of `BucketPolicyArrayInput` via:

BucketPolicyArray{ BucketPolicyArgs{...} }

type BucketPolicyArrayOutput

type BucketPolicyArrayOutput struct{ *pulumi.OutputState }

func (BucketPolicyArrayOutput) ElementType

func (BucketPolicyArrayOutput) ElementType() reflect.Type

func (BucketPolicyArrayOutput) Index

func (BucketPolicyArrayOutput) ToBucketPolicyArrayOutput

func (o BucketPolicyArrayOutput) ToBucketPolicyArrayOutput() BucketPolicyArrayOutput

func (BucketPolicyArrayOutput) ToBucketPolicyArrayOutputWithContext

func (o BucketPolicyArrayOutput) ToBucketPolicyArrayOutputWithContext(ctx context.Context) BucketPolicyArrayOutput

type BucketPolicyInput

type BucketPolicyInput interface {
	pulumi.Input

	ToBucketPolicyOutput() BucketPolicyOutput
	ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput
}

type BucketPolicyMap

type BucketPolicyMap map[string]BucketPolicyInput

func (BucketPolicyMap) ElementType

func (BucketPolicyMap) ElementType() reflect.Type

func (BucketPolicyMap) ToBucketPolicyMapOutput

func (i BucketPolicyMap) ToBucketPolicyMapOutput() BucketPolicyMapOutput

func (BucketPolicyMap) ToBucketPolicyMapOutputWithContext

func (i BucketPolicyMap) ToBucketPolicyMapOutputWithContext(ctx context.Context) BucketPolicyMapOutput

type BucketPolicyMapInput

type BucketPolicyMapInput interface {
	pulumi.Input

	ToBucketPolicyMapOutput() BucketPolicyMapOutput
	ToBucketPolicyMapOutputWithContext(context.Context) BucketPolicyMapOutput
}

BucketPolicyMapInput is an input type that accepts BucketPolicyMap and BucketPolicyMapOutput values. You can construct a concrete instance of `BucketPolicyMapInput` via:

BucketPolicyMap{ "key": BucketPolicyArgs{...} }

type BucketPolicyMapOutput

type BucketPolicyMapOutput struct{ *pulumi.OutputState }

func (BucketPolicyMapOutput) ElementType

func (BucketPolicyMapOutput) ElementType() reflect.Type

func (BucketPolicyMapOutput) MapIndex

func (BucketPolicyMapOutput) ToBucketPolicyMapOutput

func (o BucketPolicyMapOutput) ToBucketPolicyMapOutput() BucketPolicyMapOutput

func (BucketPolicyMapOutput) ToBucketPolicyMapOutputWithContext

func (o BucketPolicyMapOutput) ToBucketPolicyMapOutputWithContext(ctx context.Context) BucketPolicyMapOutput

type BucketPolicyOutput

type BucketPolicyOutput struct{ *pulumi.OutputState }

func (BucketPolicyOutput) Bucket

The bucket's name or regional ID.

func (BucketPolicyOutput) ElementType

func (BucketPolicyOutput) ElementType() reflect.Type

func (BucketPolicyOutput) Policy

The text of the policy.

func (BucketPolicyOutput) ProjectId

func (o BucketPolicyOutput) ProjectId() pulumi.StringOutput

The project_id you want to attach the resource to

func (BucketPolicyOutput) Region

The Scaleway region this bucket resides in.

func (BucketPolicyOutput) ToBucketPolicyOutput

func (o BucketPolicyOutput) ToBucketPolicyOutput() BucketPolicyOutput

func (BucketPolicyOutput) ToBucketPolicyOutputWithContext

func (o BucketPolicyOutput) ToBucketPolicyOutputWithContext(ctx context.Context) BucketPolicyOutput

type BucketPolicyState

type BucketPolicyState struct {
	// The bucket's name or regional ID.
	Bucket pulumi.StringPtrInput
	// The text of the policy.
	Policy pulumi.StringPtrInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The Scaleway region this bucket resides in.
	Region pulumi.StringPtrInput
}

func (BucketPolicyState) ElementType

func (BucketPolicyState) ElementType() reflect.Type

type BucketState

type BucketState struct {
	// (Deprecated) The canned ACL you want to apply to the bucket.
	//
	// Deprecated: ACL attribute is deprecated. Please use the resource scaleway_object_bucket_acl instead.
	Acl pulumi.StringPtrInput
	// API URL of the bucket
	ApiEndpoint pulumi.StringPtrInput
	// A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).
	CorsRules BucketCorsRuleArrayInput
	// The endpoint URL of the bucket
	Endpoint pulumi.StringPtrInput
	// Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and **not** recoverable
	ForceDestroy pulumi.BoolPtrInput
	// Lifecycle configuration is a set of rules that define actions that Scaleway Object Storage applies to a group of objects
	LifecycleRules BucketLifecycleRuleArrayInput
	// The name of the bucket.
	Name pulumi.StringPtrInput
	// Enable object lock
	ObjectLockEnabled pulumi.BoolPtrInput
	// `projectId`) The ID of the project the bucket is associated with.
	//
	// The `acl` attribute is deprecated. See objectstorage.BucketACL resource documentation.
	// Please check the [canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl_overview.html#canned-acl) documentation for supported values.
	ProjectId pulumi.StringPtrInput
	// The [region](https://developers.scaleway.com/en/quickstart/#region-definition) in which the bucket should be created.
	Region pulumi.StringPtrInput
	// A list of tags (key / value) for the bucket.
	//
	// * > **Important:** The Scaleway console does not support `key/value` tags yet, so only the tags' values will be displayed.
	// Keep in mind that if you make any change to your bucket's tags using the console, it will overwrite them with the format `value/value`.
	Tags pulumi.StringMapInput
	// A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)
	Versioning BucketVersioningPtrInput
}

func (BucketState) ElementType

func (BucketState) ElementType() reflect.Type

type BucketVersioning

type BucketVersioning struct {
	// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
	Enabled *bool `pulumi:"enabled"`
}

type BucketVersioningArgs

type BucketVersioningArgs struct {
	// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
}

func (BucketVersioningArgs) ElementType

func (BucketVersioningArgs) ElementType() reflect.Type

func (BucketVersioningArgs) ToBucketVersioningOutput

func (i BucketVersioningArgs) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningArgs) ToBucketVersioningOutputWithContext

func (i BucketVersioningArgs) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningArgs) ToBucketVersioningPtrOutput

func (i BucketVersioningArgs) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningArgs) ToBucketVersioningPtrOutputWithContext

func (i BucketVersioningArgs) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningInput

type BucketVersioningInput interface {
	pulumi.Input

	ToBucketVersioningOutput() BucketVersioningOutput
	ToBucketVersioningOutputWithContext(context.Context) BucketVersioningOutput
}

BucketVersioningInput is an input type that accepts BucketVersioningArgs and BucketVersioningOutput values. You can construct a concrete instance of `BucketVersioningInput` via:

BucketVersioningArgs{...}

type BucketVersioningOutput

type BucketVersioningOutput struct{ *pulumi.OutputState }

func (BucketVersioningOutput) ElementType

func (BucketVersioningOutput) ElementType() reflect.Type

func (BucketVersioningOutput) Enabled

Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.

func (BucketVersioningOutput) ToBucketVersioningOutput

func (o BucketVersioningOutput) ToBucketVersioningOutput() BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningOutputWithContext(ctx context.Context) BucketVersioningOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext

func (o BucketVersioningOutput) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketVersioningPtrInput

type BucketVersioningPtrInput interface {
	pulumi.Input

	ToBucketVersioningPtrOutput() BucketVersioningPtrOutput
	ToBucketVersioningPtrOutputWithContext(context.Context) BucketVersioningPtrOutput
}

BucketVersioningPtrInput is an input type that accepts BucketVersioningArgs, BucketVersioningPtr and BucketVersioningPtrOutput values. You can construct a concrete instance of `BucketVersioningPtrInput` via:

        BucketVersioningArgs{...}

or:

        nil

type BucketVersioningPtrOutput

type BucketVersioningPtrOutput struct{ *pulumi.OutputState }

func (BucketVersioningPtrOutput) Elem

func (BucketVersioningPtrOutput) ElementType

func (BucketVersioningPtrOutput) ElementType() reflect.Type

func (BucketVersioningPtrOutput) Enabled

Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket.

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutput

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutput() BucketVersioningPtrOutput

func (BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext

func (o BucketVersioningPtrOutput) ToBucketVersioningPtrOutputWithContext(ctx context.Context) BucketVersioningPtrOutput

type BucketWebsiteConfiguration

type BucketWebsiteConfiguration struct {
	pulumi.CustomResourceState

	// The name of the bucket.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The name of the error document for the website detailed below.
	ErrorDocument BucketWebsiteConfigurationErrorDocumentPtrOutput `pulumi:"errorDocument"`
	// The name of the index document for the website detailed below.
	IndexDocument BucketWebsiteConfigurationIndexDocumentOutput `pulumi:"indexDocument"`
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region you want to attach the resource to
	Region pulumi.StringOutput `pulumi:"region"`
	// The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).
	WebsiteDomain pulumi.StringOutput `pulumi:"websiteDomain"`
	// The website endpoint.
	WebsiteEndpoint pulumi.StringOutput `pulumi:"websiteEndpoint"`
}

Provides an Object bucket website configuration resource. For more information, see [Hosting Websites on Object bucket](https://www.scaleway.com/en/docs/storage/object/how-to/use-bucket-website/).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainBucket, err := objectstorage.NewBucket(ctx, "mainBucket", &objectstorage.BucketArgs{
			Acl: pulumi.String("public-read"),
		})
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketWebsiteConfiguration(ctx, "mainBucketWebsiteConfiguration", &objectstorage.BucketWebsiteConfigurationArgs{
			Bucket: mainBucket.ID(),
			IndexDocument: &objectstorage.BucketWebsiteConfigurationIndexDocumentArgs{
				Suffix: pulumi.String("index.html"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With `Policy`

<!--Start PulumiCodeChooser --> ```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainBucket, err := objectstorage.NewBucket(ctx, "mainBucket", &objectstorage.BucketArgs{
			Acl: pulumi.String("public-read"),
		})
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"Version": "2012-10-17",
			"Id":      "MyPolicy",
			"Statement": []map[string]interface{}{
				map[string]interface{}{
					"Sid":       "GrantToEveryone",
					"Effect":    "Allow",
					"Principal": "*",
					"Action": []string{
						"s3:GetObject",
					},
					"Resource": []string{
						"<bucket-name>/*",
					},
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = objectstorage.NewBucketPolicy(ctx, "mainBucketPolicy", &objectstorage.BucketPolicyArgs{
			Bucket: mainBucket.ID(),
			Policy: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		_, err = objectstorage.NewBucketWebsiteConfiguration(ctx, "mainBucketWebsiteConfiguration", &objectstorage.BucketWebsiteConfigurationArgs{
			Bucket: mainBucket.ID(),
			IndexDocument: &objectstorage.BucketWebsiteConfigurationIndexDocumentArgs{
				Suffix: pulumi.String("index.html"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Bucket website configurations can be imported using the `{region}/{bucketName}` identifier, e.g.

bash

```sh $ pulumi import scaleway:objectstorage/bucketWebsiteConfiguration:BucketWebsiteConfiguration some_bucket fr-par/some-bucket ```

~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.

If you are using a project different from the default one, you have to specify the project ID at the end of the import command.

bash

```sh $ pulumi import scaleway:objectstorage/bucketWebsiteConfiguration:BucketWebsiteConfiguration some_bucket fr-par/some-bucket@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx ```

func GetBucketWebsiteConfiguration

func GetBucketWebsiteConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BucketWebsiteConfigurationState, opts ...pulumi.ResourceOption) (*BucketWebsiteConfiguration, error)

GetBucketWebsiteConfiguration gets an existing BucketWebsiteConfiguration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewBucketWebsiteConfiguration

func NewBucketWebsiteConfiguration(ctx *pulumi.Context,
	name string, args *BucketWebsiteConfigurationArgs, opts ...pulumi.ResourceOption) (*BucketWebsiteConfiguration, error)

NewBucketWebsiteConfiguration registers a new resource with the given unique name, arguments, and options.

func (*BucketWebsiteConfiguration) ElementType

func (*BucketWebsiteConfiguration) ElementType() reflect.Type

func (*BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutput

func (i *BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutput() BucketWebsiteConfigurationOutput

func (*BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutputWithContext

func (i *BucketWebsiteConfiguration) ToBucketWebsiteConfigurationOutputWithContext(ctx context.Context) BucketWebsiteConfigurationOutput

type BucketWebsiteConfigurationArgs

type BucketWebsiteConfigurationArgs struct {
	// The name of the bucket.
	Bucket pulumi.StringInput
	// The name of the error document for the website detailed below.
	ErrorDocument BucketWebsiteConfigurationErrorDocumentPtrInput
	// The name of the index document for the website detailed below.
	IndexDocument BucketWebsiteConfigurationIndexDocumentInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The region you want to attach the resource to
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a BucketWebsiteConfiguration resource.

func (BucketWebsiteConfigurationArgs) ElementType

type BucketWebsiteConfigurationArray

type BucketWebsiteConfigurationArray []BucketWebsiteConfigurationInput

func (BucketWebsiteConfigurationArray) ElementType

func (BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutput

func (i BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutput() BucketWebsiteConfigurationArrayOutput

func (BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutputWithContext

func (i BucketWebsiteConfigurationArray) ToBucketWebsiteConfigurationArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationArrayOutput

type BucketWebsiteConfigurationArrayInput

type BucketWebsiteConfigurationArrayInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationArrayOutput() BucketWebsiteConfigurationArrayOutput
	ToBucketWebsiteConfigurationArrayOutputWithContext(context.Context) BucketWebsiteConfigurationArrayOutput
}

BucketWebsiteConfigurationArrayInput is an input type that accepts BucketWebsiteConfigurationArray and BucketWebsiteConfigurationArrayOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationArrayInput` via:

BucketWebsiteConfigurationArray{ BucketWebsiteConfigurationArgs{...} }

type BucketWebsiteConfigurationArrayOutput

type BucketWebsiteConfigurationArrayOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationArrayOutput) ElementType

func (BucketWebsiteConfigurationArrayOutput) Index

func (BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutput

func (o BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutput() BucketWebsiteConfigurationArrayOutput

func (BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutputWithContext

func (o BucketWebsiteConfigurationArrayOutput) ToBucketWebsiteConfigurationArrayOutputWithContext(ctx context.Context) BucketWebsiteConfigurationArrayOutput

type BucketWebsiteConfigurationErrorDocument

type BucketWebsiteConfigurationErrorDocument struct {
	// The object key name to use when a 4XX class error occurs.
	Key string `pulumi:"key"`
}

type BucketWebsiteConfigurationErrorDocumentArgs

type BucketWebsiteConfigurationErrorDocumentArgs struct {
	// The object key name to use when a 4XX class error occurs.
	Key pulumi.StringInput `pulumi:"key"`
}

func (BucketWebsiteConfigurationErrorDocumentArgs) ElementType

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutput

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutput() BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutput

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput

func (BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext

func (i BucketWebsiteConfigurationErrorDocumentArgs) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationErrorDocumentInput

type BucketWebsiteConfigurationErrorDocumentInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationErrorDocumentOutput() BucketWebsiteConfigurationErrorDocumentOutput
	ToBucketWebsiteConfigurationErrorDocumentOutputWithContext(context.Context) BucketWebsiteConfigurationErrorDocumentOutput
}

BucketWebsiteConfigurationErrorDocumentInput is an input type that accepts BucketWebsiteConfigurationErrorDocumentArgs and BucketWebsiteConfigurationErrorDocumentOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationErrorDocumentInput` via:

BucketWebsiteConfigurationErrorDocumentArgs{...}

type BucketWebsiteConfigurationErrorDocumentOutput

type BucketWebsiteConfigurationErrorDocumentOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationErrorDocumentOutput) ElementType

func (BucketWebsiteConfigurationErrorDocumentOutput) Key

The object key name to use when a 4XX class error occurs.

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutput

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutput() BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentOutput

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput

func (BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationErrorDocumentOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationErrorDocumentPtrInput

type BucketWebsiteConfigurationErrorDocumentPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput
	ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput
}

BucketWebsiteConfigurationErrorDocumentPtrInput is an input type that accepts BucketWebsiteConfigurationErrorDocumentArgs, BucketWebsiteConfigurationErrorDocumentPtr and BucketWebsiteConfigurationErrorDocumentPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationErrorDocumentPtrInput` via:

        BucketWebsiteConfigurationErrorDocumentArgs{...}

or:

        nil

type BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationErrorDocumentPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) Elem

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) ElementType

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) Key

The object key name to use when a 4XX class error occurs.

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput

func (o BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutput() BucketWebsiteConfigurationErrorDocumentPtrOutput

func (BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationErrorDocumentPtrOutput) ToBucketWebsiteConfigurationErrorDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationErrorDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocument

type BucketWebsiteConfigurationIndexDocument struct {
	// A suffix that is appended to a request that is for a directory on the website endpoint.
	//
	// > **Important:** The suffix must not be empty and must not include a slash character. The routing is not supported.
	Suffix string `pulumi:"suffix"`
}

type BucketWebsiteConfigurationIndexDocumentArgs

type BucketWebsiteConfigurationIndexDocumentArgs struct {
	// A suffix that is appended to a request that is for a directory on the website endpoint.
	//
	// > **Important:** The suffix must not be empty and must not include a slash character. The routing is not supported.
	Suffix pulumi.StringInput `pulumi:"suffix"`
}

func (BucketWebsiteConfigurationIndexDocumentArgs) ElementType

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutput

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutput() BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutput

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput

func (BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext

func (i BucketWebsiteConfigurationIndexDocumentArgs) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocumentInput

type BucketWebsiteConfigurationIndexDocumentInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationIndexDocumentOutput() BucketWebsiteConfigurationIndexDocumentOutput
	ToBucketWebsiteConfigurationIndexDocumentOutputWithContext(context.Context) BucketWebsiteConfigurationIndexDocumentOutput
}

BucketWebsiteConfigurationIndexDocumentInput is an input type that accepts BucketWebsiteConfigurationIndexDocumentArgs and BucketWebsiteConfigurationIndexDocumentOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationIndexDocumentInput` via:

BucketWebsiteConfigurationIndexDocumentArgs{...}

type BucketWebsiteConfigurationIndexDocumentOutput

type BucketWebsiteConfigurationIndexDocumentOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationIndexDocumentOutput) ElementType

func (BucketWebsiteConfigurationIndexDocumentOutput) Suffix

A suffix that is appended to a request that is for a directory on the website endpoint.

> **Important:** The suffix must not be empty and must not include a slash character. The routing is not supported.

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutput

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutput() BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentOutput

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput

func (BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationIndexDocumentOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocumentPtrInput

type BucketWebsiteConfigurationIndexDocumentPtrInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput
	ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput
}

BucketWebsiteConfigurationIndexDocumentPtrInput is an input type that accepts BucketWebsiteConfigurationIndexDocumentArgs, BucketWebsiteConfigurationIndexDocumentPtr and BucketWebsiteConfigurationIndexDocumentPtrOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationIndexDocumentPtrInput` via:

        BucketWebsiteConfigurationIndexDocumentArgs{...}

or:

        nil

type BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationIndexDocumentPtrOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) Elem

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) ElementType

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) Suffix

A suffix that is appended to a request that is for a directory on the website endpoint.

> **Important:** The suffix must not be empty and must not include a slash character. The routing is not supported.

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput

func (o BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutput() BucketWebsiteConfigurationIndexDocumentPtrOutput

func (BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext

func (o BucketWebsiteConfigurationIndexDocumentPtrOutput) ToBucketWebsiteConfigurationIndexDocumentPtrOutputWithContext(ctx context.Context) BucketWebsiteConfigurationIndexDocumentPtrOutput

type BucketWebsiteConfigurationInput

type BucketWebsiteConfigurationInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationOutput() BucketWebsiteConfigurationOutput
	ToBucketWebsiteConfigurationOutputWithContext(ctx context.Context) BucketWebsiteConfigurationOutput
}

type BucketWebsiteConfigurationMap

type BucketWebsiteConfigurationMap map[string]BucketWebsiteConfigurationInput

func (BucketWebsiteConfigurationMap) ElementType

func (BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutput

func (i BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutput() BucketWebsiteConfigurationMapOutput

func (BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutputWithContext

func (i BucketWebsiteConfigurationMap) ToBucketWebsiteConfigurationMapOutputWithContext(ctx context.Context) BucketWebsiteConfigurationMapOutput

type BucketWebsiteConfigurationMapInput

type BucketWebsiteConfigurationMapInput interface {
	pulumi.Input

	ToBucketWebsiteConfigurationMapOutput() BucketWebsiteConfigurationMapOutput
	ToBucketWebsiteConfigurationMapOutputWithContext(context.Context) BucketWebsiteConfigurationMapOutput
}

BucketWebsiteConfigurationMapInput is an input type that accepts BucketWebsiteConfigurationMap and BucketWebsiteConfigurationMapOutput values. You can construct a concrete instance of `BucketWebsiteConfigurationMapInput` via:

BucketWebsiteConfigurationMap{ "key": BucketWebsiteConfigurationArgs{...} }

type BucketWebsiteConfigurationMapOutput

type BucketWebsiteConfigurationMapOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationMapOutput) ElementType

func (BucketWebsiteConfigurationMapOutput) MapIndex

func (BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutput

func (o BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutput() BucketWebsiteConfigurationMapOutput

func (BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutputWithContext

func (o BucketWebsiteConfigurationMapOutput) ToBucketWebsiteConfigurationMapOutputWithContext(ctx context.Context) BucketWebsiteConfigurationMapOutput

type BucketWebsiteConfigurationOutput

type BucketWebsiteConfigurationOutput struct{ *pulumi.OutputState }

func (BucketWebsiteConfigurationOutput) Bucket

The name of the bucket.

func (BucketWebsiteConfigurationOutput) ElementType

func (BucketWebsiteConfigurationOutput) ErrorDocument

The name of the error document for the website detailed below.

func (BucketWebsiteConfigurationOutput) IndexDocument

The name of the index document for the website detailed below.

func (BucketWebsiteConfigurationOutput) ProjectId

The project_id you want to attach the resource to

func (BucketWebsiteConfigurationOutput) Region

The region you want to attach the resource to

func (BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutput

func (o BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutput() BucketWebsiteConfigurationOutput

func (BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutputWithContext

func (o BucketWebsiteConfigurationOutput) ToBucketWebsiteConfigurationOutputWithContext(ctx context.Context) BucketWebsiteConfigurationOutput

func (BucketWebsiteConfigurationOutput) WebsiteDomain

The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).

func (BucketWebsiteConfigurationOutput) WebsiteEndpoint

The website endpoint.

type BucketWebsiteConfigurationState

type BucketWebsiteConfigurationState struct {
	// The name of the bucket.
	Bucket pulumi.StringPtrInput
	// The name of the error document for the website detailed below.
	ErrorDocument BucketWebsiteConfigurationErrorDocumentPtrInput
	// The name of the index document for the website detailed below.
	IndexDocument BucketWebsiteConfigurationIndexDocumentPtrInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The region you want to attach the resource to
	Region pulumi.StringPtrInput
	// The domain of the website endpoint. This is used to create DNS alias [records](https://www.scaleway.com/en/docs/network/domains-and-dns/how-to/manage-dns-records/).
	WebsiteDomain pulumi.StringPtrInput
	// The website endpoint.
	WebsiteEndpoint pulumi.StringPtrInput
}

func (BucketWebsiteConfigurationState) ElementType

type GetBucketCorsRule

type GetBucketCorsRule struct {
	AllowedHeaders []string `pulumi:"allowedHeaders"`
	AllowedMethods []string `pulumi:"allowedMethods"`
	AllowedOrigins []string `pulumi:"allowedOrigins"`
	ExposeHeaders  []string `pulumi:"exposeHeaders"`
	MaxAgeSeconds  int      `pulumi:"maxAgeSeconds"`
}

type GetBucketCorsRuleArgs

type GetBucketCorsRuleArgs struct {
	AllowedHeaders pulumi.StringArrayInput `pulumi:"allowedHeaders"`
	AllowedMethods pulumi.StringArrayInput `pulumi:"allowedMethods"`
	AllowedOrigins pulumi.StringArrayInput `pulumi:"allowedOrigins"`
	ExposeHeaders  pulumi.StringArrayInput `pulumi:"exposeHeaders"`
	MaxAgeSeconds  pulumi.IntInput         `pulumi:"maxAgeSeconds"`
}

func (GetBucketCorsRuleArgs) ElementType

func (GetBucketCorsRuleArgs) ElementType() reflect.Type

func (GetBucketCorsRuleArgs) ToGetBucketCorsRuleOutput

func (i GetBucketCorsRuleArgs) ToGetBucketCorsRuleOutput() GetBucketCorsRuleOutput

func (GetBucketCorsRuleArgs) ToGetBucketCorsRuleOutputWithContext

func (i GetBucketCorsRuleArgs) ToGetBucketCorsRuleOutputWithContext(ctx context.Context) GetBucketCorsRuleOutput

type GetBucketCorsRuleArray

type GetBucketCorsRuleArray []GetBucketCorsRuleInput

func (GetBucketCorsRuleArray) ElementType

func (GetBucketCorsRuleArray) ElementType() reflect.Type

func (GetBucketCorsRuleArray) ToGetBucketCorsRuleArrayOutput

func (i GetBucketCorsRuleArray) ToGetBucketCorsRuleArrayOutput() GetBucketCorsRuleArrayOutput

func (GetBucketCorsRuleArray) ToGetBucketCorsRuleArrayOutputWithContext

func (i GetBucketCorsRuleArray) ToGetBucketCorsRuleArrayOutputWithContext(ctx context.Context) GetBucketCorsRuleArrayOutput

type GetBucketCorsRuleArrayInput

type GetBucketCorsRuleArrayInput interface {
	pulumi.Input

	ToGetBucketCorsRuleArrayOutput() GetBucketCorsRuleArrayOutput
	ToGetBucketCorsRuleArrayOutputWithContext(context.Context) GetBucketCorsRuleArrayOutput
}

GetBucketCorsRuleArrayInput is an input type that accepts GetBucketCorsRuleArray and GetBucketCorsRuleArrayOutput values. You can construct a concrete instance of `GetBucketCorsRuleArrayInput` via:

GetBucketCorsRuleArray{ GetBucketCorsRuleArgs{...} }

type GetBucketCorsRuleArrayOutput

type GetBucketCorsRuleArrayOutput struct{ *pulumi.OutputState }

func (GetBucketCorsRuleArrayOutput) ElementType

func (GetBucketCorsRuleArrayOutput) Index

func (GetBucketCorsRuleArrayOutput) ToGetBucketCorsRuleArrayOutput

func (o GetBucketCorsRuleArrayOutput) ToGetBucketCorsRuleArrayOutput() GetBucketCorsRuleArrayOutput

func (GetBucketCorsRuleArrayOutput) ToGetBucketCorsRuleArrayOutputWithContext

func (o GetBucketCorsRuleArrayOutput) ToGetBucketCorsRuleArrayOutputWithContext(ctx context.Context) GetBucketCorsRuleArrayOutput

type GetBucketCorsRuleInput

type GetBucketCorsRuleInput interface {
	pulumi.Input

	ToGetBucketCorsRuleOutput() GetBucketCorsRuleOutput
	ToGetBucketCorsRuleOutputWithContext(context.Context) GetBucketCorsRuleOutput
}

GetBucketCorsRuleInput is an input type that accepts GetBucketCorsRuleArgs and GetBucketCorsRuleOutput values. You can construct a concrete instance of `GetBucketCorsRuleInput` via:

GetBucketCorsRuleArgs{...}

type GetBucketCorsRuleOutput

type GetBucketCorsRuleOutput struct{ *pulumi.OutputState }

func (GetBucketCorsRuleOutput) AllowedHeaders

func (GetBucketCorsRuleOutput) AllowedMethods

func (GetBucketCorsRuleOutput) AllowedOrigins

func (GetBucketCorsRuleOutput) ElementType

func (GetBucketCorsRuleOutput) ElementType() reflect.Type

func (GetBucketCorsRuleOutput) ExposeHeaders

func (GetBucketCorsRuleOutput) MaxAgeSeconds

func (o GetBucketCorsRuleOutput) MaxAgeSeconds() pulumi.IntOutput

func (GetBucketCorsRuleOutput) ToGetBucketCorsRuleOutput

func (o GetBucketCorsRuleOutput) ToGetBucketCorsRuleOutput() GetBucketCorsRuleOutput

func (GetBucketCorsRuleOutput) ToGetBucketCorsRuleOutputWithContext

func (o GetBucketCorsRuleOutput) ToGetBucketCorsRuleOutputWithContext(ctx context.Context) GetBucketCorsRuleOutput

type GetBucketLifecycleRule

type GetBucketLifecycleRule struct {
	// Specifies the number of days after initiating a multipart upload when the multipart upload must be completed
	AbortIncompleteMultipartUploadDays int `pulumi:"abortIncompleteMultipartUploadDays"`
	// Specifies if the configuration rule is Enabled or Disabled
	Enabled bool `pulumi:"enabled"`
	// Specifies a period in the object's expire
	Expirations []GetBucketLifecycleRuleExpiration `pulumi:"expirations"`
	// The unique name of the bucket.
	Id string `pulumi:"id"`
	// The prefix identifying one or more objects to which the rule applies
	Prefix string `pulumi:"prefix"`
	// The tags associated with the bucket lifecycle
	Tags map[string]string `pulumi:"tags"`
	// Define when objects transition to another storage class
	Transitions []GetBucketLifecycleRuleTransition `pulumi:"transitions"`
}

type GetBucketLifecycleRuleArgs

type GetBucketLifecycleRuleArgs struct {
	// Specifies the number of days after initiating a multipart upload when the multipart upload must be completed
	AbortIncompleteMultipartUploadDays pulumi.IntInput `pulumi:"abortIncompleteMultipartUploadDays"`
	// Specifies if the configuration rule is Enabled or Disabled
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Specifies a period in the object's expire
	Expirations GetBucketLifecycleRuleExpirationArrayInput `pulumi:"expirations"`
	// The unique name of the bucket.
	Id pulumi.StringInput `pulumi:"id"`
	// The prefix identifying one or more objects to which the rule applies
	Prefix pulumi.StringInput `pulumi:"prefix"`
	// The tags associated with the bucket lifecycle
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Define when objects transition to another storage class
	Transitions GetBucketLifecycleRuleTransitionArrayInput `pulumi:"transitions"`
}

func (GetBucketLifecycleRuleArgs) ElementType

func (GetBucketLifecycleRuleArgs) ElementType() reflect.Type

func (GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutput

func (i GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutputWithContext

func (i GetBucketLifecycleRuleArgs) ToGetBucketLifecycleRuleOutputWithContext(ctx context.Context) GetBucketLifecycleRuleOutput

type GetBucketLifecycleRuleArray

type GetBucketLifecycleRuleArray []GetBucketLifecycleRuleInput

func (GetBucketLifecycleRuleArray) ElementType

func (GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutput

func (i GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput

func (GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutputWithContext

func (i GetBucketLifecycleRuleArray) ToGetBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleArrayOutput

type GetBucketLifecycleRuleArrayInput

type GetBucketLifecycleRuleArrayInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput
	ToGetBucketLifecycleRuleArrayOutputWithContext(context.Context) GetBucketLifecycleRuleArrayOutput
}

GetBucketLifecycleRuleArrayInput is an input type that accepts GetBucketLifecycleRuleArray and GetBucketLifecycleRuleArrayOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleArrayInput` via:

GetBucketLifecycleRuleArray{ GetBucketLifecycleRuleArgs{...} }

type GetBucketLifecycleRuleArrayOutput

type GetBucketLifecycleRuleArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleArrayOutput) ElementType

func (GetBucketLifecycleRuleArrayOutput) Index

func (GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutput

func (o GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutput() GetBucketLifecycleRuleArrayOutput

func (GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutputWithContext

func (o GetBucketLifecycleRuleArrayOutput) ToGetBucketLifecycleRuleArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleArrayOutput

type GetBucketLifecycleRuleExpiration

type GetBucketLifecycleRuleExpiration struct {
	// Specifies the number of days after object creation when the specific rule action takes effect
	Days int `pulumi:"days"`
}

type GetBucketLifecycleRuleExpirationArgs

type GetBucketLifecycleRuleExpirationArgs struct {
	// Specifies the number of days after object creation when the specific rule action takes effect
	Days pulumi.IntInput `pulumi:"days"`
}

func (GetBucketLifecycleRuleExpirationArgs) ElementType

func (GetBucketLifecycleRuleExpirationArgs) ToGetBucketLifecycleRuleExpirationOutput

func (i GetBucketLifecycleRuleExpirationArgs) ToGetBucketLifecycleRuleExpirationOutput() GetBucketLifecycleRuleExpirationOutput

func (GetBucketLifecycleRuleExpirationArgs) ToGetBucketLifecycleRuleExpirationOutputWithContext

func (i GetBucketLifecycleRuleExpirationArgs) ToGetBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) GetBucketLifecycleRuleExpirationOutput

type GetBucketLifecycleRuleExpirationArray

type GetBucketLifecycleRuleExpirationArray []GetBucketLifecycleRuleExpirationInput

func (GetBucketLifecycleRuleExpirationArray) ElementType

func (GetBucketLifecycleRuleExpirationArray) ToGetBucketLifecycleRuleExpirationArrayOutput

func (i GetBucketLifecycleRuleExpirationArray) ToGetBucketLifecycleRuleExpirationArrayOutput() GetBucketLifecycleRuleExpirationArrayOutput

func (GetBucketLifecycleRuleExpirationArray) ToGetBucketLifecycleRuleExpirationArrayOutputWithContext

func (i GetBucketLifecycleRuleExpirationArray) ToGetBucketLifecycleRuleExpirationArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleExpirationArrayOutput

type GetBucketLifecycleRuleExpirationArrayInput

type GetBucketLifecycleRuleExpirationArrayInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleExpirationArrayOutput() GetBucketLifecycleRuleExpirationArrayOutput
	ToGetBucketLifecycleRuleExpirationArrayOutputWithContext(context.Context) GetBucketLifecycleRuleExpirationArrayOutput
}

GetBucketLifecycleRuleExpirationArrayInput is an input type that accepts GetBucketLifecycleRuleExpirationArray and GetBucketLifecycleRuleExpirationArrayOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleExpirationArrayInput` via:

GetBucketLifecycleRuleExpirationArray{ GetBucketLifecycleRuleExpirationArgs{...} }

type GetBucketLifecycleRuleExpirationArrayOutput

type GetBucketLifecycleRuleExpirationArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleExpirationArrayOutput) ElementType

func (GetBucketLifecycleRuleExpirationArrayOutput) Index

func (GetBucketLifecycleRuleExpirationArrayOutput) ToGetBucketLifecycleRuleExpirationArrayOutput

func (o GetBucketLifecycleRuleExpirationArrayOutput) ToGetBucketLifecycleRuleExpirationArrayOutput() GetBucketLifecycleRuleExpirationArrayOutput

func (GetBucketLifecycleRuleExpirationArrayOutput) ToGetBucketLifecycleRuleExpirationArrayOutputWithContext

func (o GetBucketLifecycleRuleExpirationArrayOutput) ToGetBucketLifecycleRuleExpirationArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleExpirationArrayOutput

type GetBucketLifecycleRuleExpirationInput

type GetBucketLifecycleRuleExpirationInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleExpirationOutput() GetBucketLifecycleRuleExpirationOutput
	ToGetBucketLifecycleRuleExpirationOutputWithContext(context.Context) GetBucketLifecycleRuleExpirationOutput
}

GetBucketLifecycleRuleExpirationInput is an input type that accepts GetBucketLifecycleRuleExpirationArgs and GetBucketLifecycleRuleExpirationOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleExpirationInput` via:

GetBucketLifecycleRuleExpirationArgs{...}

type GetBucketLifecycleRuleExpirationOutput

type GetBucketLifecycleRuleExpirationOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleExpirationOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect

func (GetBucketLifecycleRuleExpirationOutput) ElementType

func (GetBucketLifecycleRuleExpirationOutput) ToGetBucketLifecycleRuleExpirationOutput

func (o GetBucketLifecycleRuleExpirationOutput) ToGetBucketLifecycleRuleExpirationOutput() GetBucketLifecycleRuleExpirationOutput

func (GetBucketLifecycleRuleExpirationOutput) ToGetBucketLifecycleRuleExpirationOutputWithContext

func (o GetBucketLifecycleRuleExpirationOutput) ToGetBucketLifecycleRuleExpirationOutputWithContext(ctx context.Context) GetBucketLifecycleRuleExpirationOutput

type GetBucketLifecycleRuleInput

type GetBucketLifecycleRuleInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput
	ToGetBucketLifecycleRuleOutputWithContext(context.Context) GetBucketLifecycleRuleOutput
}

GetBucketLifecycleRuleInput is an input type that accepts GetBucketLifecycleRuleArgs and GetBucketLifecycleRuleOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleInput` via:

GetBucketLifecycleRuleArgs{...}

type GetBucketLifecycleRuleOutput

type GetBucketLifecycleRuleOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays

func (o GetBucketLifecycleRuleOutput) AbortIncompleteMultipartUploadDays() pulumi.IntOutput

Specifies the number of days after initiating a multipart upload when the multipart upload must be completed

func (GetBucketLifecycleRuleOutput) ElementType

func (GetBucketLifecycleRuleOutput) Enabled

Specifies if the configuration rule is Enabled or Disabled

func (GetBucketLifecycleRuleOutput) Expirations

Specifies a period in the object's expire

func (GetBucketLifecycleRuleOutput) Id

The unique name of the bucket.

func (GetBucketLifecycleRuleOutput) Prefix

The prefix identifying one or more objects to which the rule applies

func (GetBucketLifecycleRuleOutput) Tags

The tags associated with the bucket lifecycle

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput

func (o GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutput() GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutputWithContext

func (o GetBucketLifecycleRuleOutput) ToGetBucketLifecycleRuleOutputWithContext(ctx context.Context) GetBucketLifecycleRuleOutput

func (GetBucketLifecycleRuleOutput) Transitions

Define when objects transition to another storage class

type GetBucketLifecycleRuleTransition

type GetBucketLifecycleRuleTransition struct {
	// Specifies the number of days after object creation when the specific rule action takes effect
	Days int `pulumi:"days"`
	// Specifies the Scaleway Object Storage class to which you want the object to transition
	StorageClass string `pulumi:"storageClass"`
}

type GetBucketLifecycleRuleTransitionArgs

type GetBucketLifecycleRuleTransitionArgs struct {
	// Specifies the number of days after object creation when the specific rule action takes effect
	Days pulumi.IntInput `pulumi:"days"`
	// Specifies the Scaleway Object Storage class to which you want the object to transition
	StorageClass pulumi.StringInput `pulumi:"storageClass"`
}

func (GetBucketLifecycleRuleTransitionArgs) ElementType

func (GetBucketLifecycleRuleTransitionArgs) ToGetBucketLifecycleRuleTransitionOutput

func (i GetBucketLifecycleRuleTransitionArgs) ToGetBucketLifecycleRuleTransitionOutput() GetBucketLifecycleRuleTransitionOutput

func (GetBucketLifecycleRuleTransitionArgs) ToGetBucketLifecycleRuleTransitionOutputWithContext

func (i GetBucketLifecycleRuleTransitionArgs) ToGetBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) GetBucketLifecycleRuleTransitionOutput

type GetBucketLifecycleRuleTransitionArray

type GetBucketLifecycleRuleTransitionArray []GetBucketLifecycleRuleTransitionInput

func (GetBucketLifecycleRuleTransitionArray) ElementType

func (GetBucketLifecycleRuleTransitionArray) ToGetBucketLifecycleRuleTransitionArrayOutput

func (i GetBucketLifecycleRuleTransitionArray) ToGetBucketLifecycleRuleTransitionArrayOutput() GetBucketLifecycleRuleTransitionArrayOutput

func (GetBucketLifecycleRuleTransitionArray) ToGetBucketLifecycleRuleTransitionArrayOutputWithContext

func (i GetBucketLifecycleRuleTransitionArray) ToGetBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleTransitionArrayOutput

type GetBucketLifecycleRuleTransitionArrayInput

type GetBucketLifecycleRuleTransitionArrayInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleTransitionArrayOutput() GetBucketLifecycleRuleTransitionArrayOutput
	ToGetBucketLifecycleRuleTransitionArrayOutputWithContext(context.Context) GetBucketLifecycleRuleTransitionArrayOutput
}

GetBucketLifecycleRuleTransitionArrayInput is an input type that accepts GetBucketLifecycleRuleTransitionArray and GetBucketLifecycleRuleTransitionArrayOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleTransitionArrayInput` via:

GetBucketLifecycleRuleTransitionArray{ GetBucketLifecycleRuleTransitionArgs{...} }

type GetBucketLifecycleRuleTransitionArrayOutput

type GetBucketLifecycleRuleTransitionArrayOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleTransitionArrayOutput) ElementType

func (GetBucketLifecycleRuleTransitionArrayOutput) Index

func (GetBucketLifecycleRuleTransitionArrayOutput) ToGetBucketLifecycleRuleTransitionArrayOutput

func (o GetBucketLifecycleRuleTransitionArrayOutput) ToGetBucketLifecycleRuleTransitionArrayOutput() GetBucketLifecycleRuleTransitionArrayOutput

func (GetBucketLifecycleRuleTransitionArrayOutput) ToGetBucketLifecycleRuleTransitionArrayOutputWithContext

func (o GetBucketLifecycleRuleTransitionArrayOutput) ToGetBucketLifecycleRuleTransitionArrayOutputWithContext(ctx context.Context) GetBucketLifecycleRuleTransitionArrayOutput

type GetBucketLifecycleRuleTransitionInput

type GetBucketLifecycleRuleTransitionInput interface {
	pulumi.Input

	ToGetBucketLifecycleRuleTransitionOutput() GetBucketLifecycleRuleTransitionOutput
	ToGetBucketLifecycleRuleTransitionOutputWithContext(context.Context) GetBucketLifecycleRuleTransitionOutput
}

GetBucketLifecycleRuleTransitionInput is an input type that accepts GetBucketLifecycleRuleTransitionArgs and GetBucketLifecycleRuleTransitionOutput values. You can construct a concrete instance of `GetBucketLifecycleRuleTransitionInput` via:

GetBucketLifecycleRuleTransitionArgs{...}

type GetBucketLifecycleRuleTransitionOutput

type GetBucketLifecycleRuleTransitionOutput struct{ *pulumi.OutputState }

func (GetBucketLifecycleRuleTransitionOutput) Days

Specifies the number of days after object creation when the specific rule action takes effect

func (GetBucketLifecycleRuleTransitionOutput) ElementType

func (GetBucketLifecycleRuleTransitionOutput) StorageClass

Specifies the Scaleway Object Storage class to which you want the object to transition

func (GetBucketLifecycleRuleTransitionOutput) ToGetBucketLifecycleRuleTransitionOutput

func (o GetBucketLifecycleRuleTransitionOutput) ToGetBucketLifecycleRuleTransitionOutput() GetBucketLifecycleRuleTransitionOutput

func (GetBucketLifecycleRuleTransitionOutput) ToGetBucketLifecycleRuleTransitionOutputWithContext

func (o GetBucketLifecycleRuleTransitionOutput) ToGetBucketLifecycleRuleTransitionOutputWithContext(ctx context.Context) GetBucketLifecycleRuleTransitionOutput

type GetBucketVersioning

type GetBucketVersioning struct {
	// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state
	Enabled bool `pulumi:"enabled"`
}

type GetBucketVersioningArgs

type GetBucketVersioningArgs struct {
	// Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state
	Enabled pulumi.BoolInput `pulumi:"enabled"`
}

func (GetBucketVersioningArgs) ElementType

func (GetBucketVersioningArgs) ElementType() reflect.Type

func (GetBucketVersioningArgs) ToGetBucketVersioningOutput

func (i GetBucketVersioningArgs) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningArgs) ToGetBucketVersioningOutputWithContext

func (i GetBucketVersioningArgs) ToGetBucketVersioningOutputWithContext(ctx context.Context) GetBucketVersioningOutput

type GetBucketVersioningArray

type GetBucketVersioningArray []GetBucketVersioningInput

func (GetBucketVersioningArray) ElementType

func (GetBucketVersioningArray) ElementType() reflect.Type

func (GetBucketVersioningArray) ToGetBucketVersioningArrayOutput

func (i GetBucketVersioningArray) ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput

func (GetBucketVersioningArray) ToGetBucketVersioningArrayOutputWithContext

func (i GetBucketVersioningArray) ToGetBucketVersioningArrayOutputWithContext(ctx context.Context) GetBucketVersioningArrayOutput

type GetBucketVersioningArrayInput

type GetBucketVersioningArrayInput interface {
	pulumi.Input

	ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput
	ToGetBucketVersioningArrayOutputWithContext(context.Context) GetBucketVersioningArrayOutput
}

GetBucketVersioningArrayInput is an input type that accepts GetBucketVersioningArray and GetBucketVersioningArrayOutput values. You can construct a concrete instance of `GetBucketVersioningArrayInput` via:

GetBucketVersioningArray{ GetBucketVersioningArgs{...} }

type GetBucketVersioningArrayOutput

type GetBucketVersioningArrayOutput struct{ *pulumi.OutputState }

func (GetBucketVersioningArrayOutput) ElementType

func (GetBucketVersioningArrayOutput) Index

func (GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutput

func (o GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutput() GetBucketVersioningArrayOutput

func (GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutputWithContext

func (o GetBucketVersioningArrayOutput) ToGetBucketVersioningArrayOutputWithContext(ctx context.Context) GetBucketVersioningArrayOutput

type GetBucketVersioningInput

type GetBucketVersioningInput interface {
	pulumi.Input

	ToGetBucketVersioningOutput() GetBucketVersioningOutput
	ToGetBucketVersioningOutputWithContext(context.Context) GetBucketVersioningOutput
}

GetBucketVersioningInput is an input type that accepts GetBucketVersioningArgs and GetBucketVersioningOutput values. You can construct a concrete instance of `GetBucketVersioningInput` via:

GetBucketVersioningArgs{...}

type GetBucketVersioningOutput

type GetBucketVersioningOutput struct{ *pulumi.OutputState }

func (GetBucketVersioningOutput) ElementType

func (GetBucketVersioningOutput) ElementType() reflect.Type

func (GetBucketVersioningOutput) Enabled

Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state

func (GetBucketVersioningOutput) ToGetBucketVersioningOutput

func (o GetBucketVersioningOutput) ToGetBucketVersioningOutput() GetBucketVersioningOutput

func (GetBucketVersioningOutput) ToGetBucketVersioningOutputWithContext

func (o GetBucketVersioningOutput) ToGetBucketVersioningOutputWithContext(ctx context.Context) GetBucketVersioningOutput

type Item

type Item struct {
	pulumi.CustomResourceState

	// The bucket's name or regional ID.
	Bucket pulumi.StringOutput `pulumi:"bucket"`
	// The content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.
	Content pulumi.StringPtrOutput `pulumi:"content"`
	// The base64-encoded content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.
	ContentBase64 pulumi.StringPtrOutput `pulumi:"contentBase64"`
	// The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `contentBase64` can be defined.
	File pulumi.StringPtrOutput `pulumi:"file"`
	// Hash of the file, used to trigger upload on file change
	Hash pulumi.StringPtrOutput `pulumi:"hash"`
	// The path of the object.
	Key pulumi.StringOutput `pulumi:"key"`
	// Map of metadata used for the object, keys must be lowercase
	Metadata pulumi.StringMapOutput `pulumi:"metadata"`
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The Scaleway region this bucket resides in.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
	StorageClass pulumi.StringPtrOutput `pulumi:"storageClass"`
	// Map of tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Visibility of the object, `public-read` or `private`
	Visibility pulumi.StringOutput `pulumi:"visibility"`
}

Creates and manages Scaleway object storage objects. For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).

## Import

Objects can be imported using the `{region}/{bucketName}/{objectKey}` identifier, e.g.

bash

```sh $ pulumi import scaleway:objectstorage/item:Item some_object fr-par/some-bucket/some-file ```

~> **Important:** The `project_id` attribute has a particular behavior with s3 products because the s3 API is scoped by project.

If you are using a project different from the default one, you have to specify the project ID at the end of the import command.

bash

```sh $ pulumi import scaleway:objectstorage/item:Item some_object fr-par/some-bucket/some-file@xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx ```

func GetItem

func GetItem(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ItemState, opts ...pulumi.ResourceOption) (*Item, error)

GetItem gets an existing Item resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewItem

func NewItem(ctx *pulumi.Context,
	name string, args *ItemArgs, opts ...pulumi.ResourceOption) (*Item, error)

NewItem registers a new resource with the given unique name, arguments, and options.

func (*Item) ElementType

func (*Item) ElementType() reflect.Type

func (*Item) ToItemOutput

func (i *Item) ToItemOutput() ItemOutput

func (*Item) ToItemOutputWithContext

func (i *Item) ToItemOutputWithContext(ctx context.Context) ItemOutput

type ItemArgs

type ItemArgs struct {
	// The bucket's name or regional ID.
	Bucket pulumi.StringInput
	// The content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.
	Content pulumi.StringPtrInput
	// The base64-encoded content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.
	ContentBase64 pulumi.StringPtrInput
	// The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `contentBase64` can be defined.
	File pulumi.StringPtrInput
	// Hash of the file, used to trigger upload on file change
	Hash pulumi.StringPtrInput
	// The path of the object.
	Key pulumi.StringInput
	// Map of metadata used for the object, keys must be lowercase
	Metadata pulumi.StringMapInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The Scaleway region this bucket resides in.
	Region pulumi.StringPtrInput
	// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
	StorageClass pulumi.StringPtrInput
	// Map of tags
	Tags pulumi.StringMapInput
	// Visibility of the object, `public-read` or `private`
	Visibility pulumi.StringPtrInput
}

The set of arguments for constructing a Item resource.

func (ItemArgs) ElementType

func (ItemArgs) ElementType() reflect.Type

type ItemArray

type ItemArray []ItemInput

func (ItemArray) ElementType

func (ItemArray) ElementType() reflect.Type

func (ItemArray) ToItemArrayOutput

func (i ItemArray) ToItemArrayOutput() ItemArrayOutput

func (ItemArray) ToItemArrayOutputWithContext

func (i ItemArray) ToItemArrayOutputWithContext(ctx context.Context) ItemArrayOutput

type ItemArrayInput

type ItemArrayInput interface {
	pulumi.Input

	ToItemArrayOutput() ItemArrayOutput
	ToItemArrayOutputWithContext(context.Context) ItemArrayOutput
}

ItemArrayInput is an input type that accepts ItemArray and ItemArrayOutput values. You can construct a concrete instance of `ItemArrayInput` via:

ItemArray{ ItemArgs{...} }

type ItemArrayOutput

type ItemArrayOutput struct{ *pulumi.OutputState }

func (ItemArrayOutput) ElementType

func (ItemArrayOutput) ElementType() reflect.Type

func (ItemArrayOutput) Index

func (ItemArrayOutput) ToItemArrayOutput

func (o ItemArrayOutput) ToItemArrayOutput() ItemArrayOutput

func (ItemArrayOutput) ToItemArrayOutputWithContext

func (o ItemArrayOutput) ToItemArrayOutputWithContext(ctx context.Context) ItemArrayOutput

type ItemInput

type ItemInput interface {
	pulumi.Input

	ToItemOutput() ItemOutput
	ToItemOutputWithContext(ctx context.Context) ItemOutput
}

type ItemMap

type ItemMap map[string]ItemInput

func (ItemMap) ElementType

func (ItemMap) ElementType() reflect.Type

func (ItemMap) ToItemMapOutput

func (i ItemMap) ToItemMapOutput() ItemMapOutput

func (ItemMap) ToItemMapOutputWithContext

func (i ItemMap) ToItemMapOutputWithContext(ctx context.Context) ItemMapOutput

type ItemMapInput

type ItemMapInput interface {
	pulumi.Input

	ToItemMapOutput() ItemMapOutput
	ToItemMapOutputWithContext(context.Context) ItemMapOutput
}

ItemMapInput is an input type that accepts ItemMap and ItemMapOutput values. You can construct a concrete instance of `ItemMapInput` via:

ItemMap{ "key": ItemArgs{...} }

type ItemMapOutput

type ItemMapOutput struct{ *pulumi.OutputState }

func (ItemMapOutput) ElementType

func (ItemMapOutput) ElementType() reflect.Type

func (ItemMapOutput) MapIndex

func (ItemMapOutput) ToItemMapOutput

func (o ItemMapOutput) ToItemMapOutput() ItemMapOutput

func (ItemMapOutput) ToItemMapOutputWithContext

func (o ItemMapOutput) ToItemMapOutputWithContext(ctx context.Context) ItemMapOutput

type ItemOutput

type ItemOutput struct{ *pulumi.OutputState }

func (ItemOutput) Bucket

func (o ItemOutput) Bucket() pulumi.StringOutput

The bucket's name or regional ID.

func (ItemOutput) Content

func (o ItemOutput) Content() pulumi.StringPtrOutput

The content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.

func (ItemOutput) ContentBase64

func (o ItemOutput) ContentBase64() pulumi.StringPtrOutput

The base64-encoded content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.

func (ItemOutput) ElementType

func (ItemOutput) ElementType() reflect.Type

func (ItemOutput) File

The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `contentBase64` can be defined.

func (ItemOutput) Hash

Hash of the file, used to trigger upload on file change

func (ItemOutput) Key

func (o ItemOutput) Key() pulumi.StringOutput

The path of the object.

func (ItemOutput) Metadata

func (o ItemOutput) Metadata() pulumi.StringMapOutput

Map of metadata used for the object, keys must be lowercase

func (ItemOutput) ProjectId

func (o ItemOutput) ProjectId() pulumi.StringOutput

The project_id you want to attach the resource to

func (ItemOutput) Region

func (o ItemOutput) Region() pulumi.StringOutput

The Scaleway region this bucket resides in.

func (ItemOutput) StorageClass

func (o ItemOutput) StorageClass() pulumi.StringPtrOutput

Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.

func (ItemOutput) Tags

Map of tags

func (ItemOutput) ToItemOutput

func (o ItemOutput) ToItemOutput() ItemOutput

func (ItemOutput) ToItemOutputWithContext

func (o ItemOutput) ToItemOutputWithContext(ctx context.Context) ItemOutput

func (ItemOutput) Visibility

func (o ItemOutput) Visibility() pulumi.StringOutput

Visibility of the object, `public-read` or `private`

type ItemState

type ItemState struct {
	// The bucket's name or regional ID.
	Bucket pulumi.StringPtrInput
	// The content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.
	Content pulumi.StringPtrInput
	// The base64-encoded content of the file to upload. Only one of `file`, `content` or `contentBase64` can be defined.
	ContentBase64 pulumi.StringPtrInput
	// The name of the file to upload, defaults to an empty file. Only one of `file`, `content` or `contentBase64` can be defined.
	File pulumi.StringPtrInput
	// Hash of the file, used to trigger upload on file change
	Hash pulumi.StringPtrInput
	// The path of the object.
	Key pulumi.StringPtrInput
	// Map of metadata used for the object, keys must be lowercase
	Metadata pulumi.StringMapInput
	// The project_id you want to attach the resource to
	ProjectId pulumi.StringPtrInput
	// The Scaleway region this bucket resides in.
	Region pulumi.StringPtrInput
	// Specifies the Scaleway [storage class](https://www.scaleway.com/en/docs/storage/object/concepts/#storage-class) `STANDARD`, `GLACIER`, `ONEZONE_IA` used to store the object.
	StorageClass pulumi.StringPtrInput
	// Map of tags
	Tags pulumi.StringMapInput
	// Visibility of the object, `public-read` or `private`
	Visibility pulumi.StringPtrInput
}

func (ItemState) ElementType

func (ItemState) ElementType() reflect.Type

type LookupBucketArgs

type LookupBucketArgs struct {
	Name *string `pulumi:"name"`
	// `projectId`) The ID of the project the bucket is associated with.
	ProjectId *string `pulumi:"projectId"`
	// `region`) The region in which the bucket exists.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getBucket.

type LookupBucketOutputArgs

type LookupBucketOutputArgs struct {
	Name pulumi.StringPtrInput `pulumi:"name"`
	// `projectId`) The ID of the project the bucket is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// `region`) The region in which the bucket exists.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getBucket.

func (LookupBucketOutputArgs) ElementType

func (LookupBucketOutputArgs) ElementType() reflect.Type

type LookupBucketPolicyArgs

type LookupBucketPolicyArgs struct {
	// The bucket name.
	Bucket    string  `pulumi:"bucket"`
	ProjectId *string `pulumi:"projectId"`
	// `region`) The region in which the Object Storage exists.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getBucketPolicy.

type LookupBucketPolicyOutputArgs

type LookupBucketPolicyOutputArgs struct {
	// The bucket name.
	Bucket    pulumi.StringInput    `pulumi:"bucket"`
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// `region`) The region in which the Object Storage exists.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getBucketPolicy.

func (LookupBucketPolicyOutputArgs) ElementType

type LookupBucketPolicyResult

type LookupBucketPolicyResult struct {
	Bucket string `pulumi:"bucket"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The bucket's policy in JSON format.
	Policy    string  `pulumi:"policy"`
	ProjectId *string `pulumi:"projectId"`
	Region    *string `pulumi:"region"`
}

A collection of values returned by getBucketPolicy.

func LookupBucketPolicy

func LookupBucketPolicy(ctx *pulumi.Context, args *LookupBucketPolicyArgs, opts ...pulumi.InvokeOption) (*LookupBucketPolicyResult, error)

Gets information about the Bucket's policy. For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := objectstorage.LookupBucketPolicy(ctx, &objectstorage.LookupBucketPolicyArgs{
			Bucket: "bucket.test.com",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupBucketPolicyResultOutput

type LookupBucketPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucketPolicy.

func (LookupBucketPolicyResultOutput) Bucket

func (LookupBucketPolicyResultOutput) ElementType

func (LookupBucketPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketPolicyResultOutput) Policy

The bucket's policy in JSON format.

func (LookupBucketPolicyResultOutput) ProjectId

func (LookupBucketPolicyResultOutput) Region

func (LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutput

func (o LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutput() LookupBucketPolicyResultOutput

func (LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutputWithContext

func (o LookupBucketPolicyResultOutput) ToLookupBucketPolicyResultOutputWithContext(ctx context.Context) LookupBucketPolicyResultOutput

type LookupBucketResult

type LookupBucketResult struct {
	Acl         string              `pulumi:"acl"`
	ApiEndpoint string              `pulumi:"apiEndpoint"`
	CorsRules   []GetBucketCorsRule `pulumi:"corsRules"`
	// The endpoint URL of the bucket
	Endpoint     string `pulumi:"endpoint"`
	ForceDestroy bool   `pulumi:"forceDestroy"`
	// The provider-assigned unique ID for this managed resource.
	Id                string                   `pulumi:"id"`
	LifecycleRules    []GetBucketLifecycleRule `pulumi:"lifecycleRules"`
	Name              *string                  `pulumi:"name"`
	ObjectLockEnabled bool                     `pulumi:"objectLockEnabled"`
	ProjectId         *string                  `pulumi:"projectId"`
	Region            *string                  `pulumi:"region"`
	Tags              map[string]string        `pulumi:"tags"`
	Versionings       []GetBucketVersioning    `pulumi:"versionings"`
}

A collection of values returned by getBucket.

func LookupBucket

func LookupBucket(ctx *pulumi.Context, args *LookupBucketArgs, opts ...pulumi.InvokeOption) (*LookupBucketResult, error)

Gets information about the Bucket. For more information, see [the documentation](https://www.scaleway.com/en/docs/object-storage-feature/).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := objectstorage.NewBucket(ctx, "main", &objectstorage.BucketArgs{
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
			},
		})
		if err != nil {
			return err
		}
		_ = objectstorage.LookupBucketOutput(ctx, objectstorage.GetBucketOutputArgs{
			Name: main.ID(),
		}, nil)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Fetching the bucket from a specific project

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := objectstorage.LookupBucket(ctx, &objectstorage.LookupBucketArgs{
			Name:      pulumi.StringRef("bucket.test.com"),
			ProjectId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupBucketResultOutput

type LookupBucketResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBucket.

func (LookupBucketResultOutput) Acl

func (LookupBucketResultOutput) ApiEndpoint

func (LookupBucketResultOutput) CorsRules

func (LookupBucketResultOutput) ElementType

func (LookupBucketResultOutput) ElementType() reflect.Type

func (LookupBucketResultOutput) Endpoint

The endpoint URL of the bucket

func (LookupBucketResultOutput) ForceDestroy

func (o LookupBucketResultOutput) ForceDestroy() pulumi.BoolOutput

func (LookupBucketResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupBucketResultOutput) LifecycleRules

func (LookupBucketResultOutput) Name

func (LookupBucketResultOutput) ObjectLockEnabled

func (o LookupBucketResultOutput) ObjectLockEnabled() pulumi.BoolOutput

func (LookupBucketResultOutput) ProjectId

func (LookupBucketResultOutput) Region

func (LookupBucketResultOutput) Tags

func (LookupBucketResultOutput) ToLookupBucketResultOutput

func (o LookupBucketResultOutput) ToLookupBucketResultOutput() LookupBucketResultOutput

func (LookupBucketResultOutput) ToLookupBucketResultOutputWithContext

func (o LookupBucketResultOutput) ToLookupBucketResultOutputWithContext(ctx context.Context) LookupBucketResultOutput

func (LookupBucketResultOutput) Versionings

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL