Skip to content

Manage Object Storage buckets on Scaleway with Terraform.

License

Notifications You must be signed in to change notification settings

scaleway-terraform-modules/terraform-scaleway-bucket

Terraform / Scaleway

Purpose

This repository is used to manage object storage buckets on scaleway using terraform.

Usage

module "my_bucket" {
  source  = "scaleway-terraform-modules/bucket/scaleway"
  version = "0.0.1"

}

Requirements

Name Version
terraform >= 0.13
scaleway >= 2.10.0

Resources

Name Type
scaleway_object_bucket.this resource
scaleway_object_bucket_acl.this resource
scaleway_object_bucket_lock_configuration.this resource
scaleway_object_bucket_policy.this resource
scaleway_object_bucket_website_configuration.this resource

Inputs

Name Description Type Default Required
name Name of the bucket. string n/a yes
acl Canned ACL to apply to the bucket. See AWS (documentation)[https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl] for more information. string "private" no
force_destroy Enable deletion of objects in bucket before destroying, locked objects or under legal hold are also deleted and not recoverable. bool false no
lifecycle_rules Define bucket lifecycle configuration list(object({ id = string prefix = optional(string) tags = optional(map(string)) enabled = bool abort_incomplete_multipart_upload_days = optional(number) expiration = optional(object({ days = string })) transition = optional(object({ days = number storage_class = string })) })) [] no
policy Policy document. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide. object({ Version = string, Id = string Statement = list(object({ Sid = string Effect = string Principal = string Action = list(string) Resource = list(string) })) }) null no
project_id ID of the project the bucket is associated with. If null, ressources will be created in the default project associated with the key. string null no
region Region in which the bucket should be created. Ressource will be created in the region set at the provider level if null. string null no
tags A list of tags for the bucket. As the Scaleway console does not support key/value tags, tags are written with the format value/value. list(string) [] no
versioning_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. bool false no
versioning_lock_configuration Specifies the Object Lock rule for the bucket. Requires versioning. object({ mode = string, days = optional(number), years = optional(number), }) { "days": null, "mode": "GOVERNANCE", "years": null } no
website_index Website Configuration. string null no

Outputs

Name Description
bucket_endpoint Endpoint URL of the bucket.
bucket_id Unique name of the bucket.
s3_website_information S3 Website information

Authors

Module is maintained with help from the community.

License

Mozilla Public License 2.0 Licensed. See LICENSE for full details.