terraform-provider-ovh icon indicating copy to clipboard operation
terraform-provider-ovh copied to clipboard

New resource: ovh_object_storage

Open oschrenk opened this issue 4 years ago • 5 comments

I would like to be able to create an object storage resource via terraform.

I am looking through https://www.terraform.io/docs/providers/ovh/index.html and I don't find any way to create a storage resource.

oschrenk avatar Aug 27 '20 10:08 oschrenk

hi @oschrenk

what kind of object storage platform are you targetting ?

if ever you're targetting our swift object storage, then you have to use the "openstack" provider instead of the "ovh" provider see: https://www.terraform.io/docs/providers/openstack/r/objectstorage_object_v1.html

yanndegat avatar Aug 27 '20 14:08 yanndegat

I don't know the technology you use to back object storage and cloud archive is backed by. I think we might be talking about two different things.

I'm trying to codify the creation of object storage as shown in the public cloud offering storage

I am especially interested in the object storage and cloud archive storage format - I don't see any way of picking a storage platform like Swift using that UI.

oschrenk avatar Aug 27 '20 17:08 oschrenk

Hi @oschrenk,

You can create an object storage container with the OpenStack provider:

# https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/objectstorage_container_v1.
resource "openstack_objectstorage_container_v1" "terraform_state_files" {
  name   = "terraform-state-files"
  region = var.ovh_region

  versioning {
    # Copy the current version to the archive container then remove it from
    # the versioned container.
    #
    # See https://docs.openstack.org/swift/latest/api/object_versioning.html.
    type     = "history"
    location = openstack_objectstorage_container_v1.versioning.name
  }

  # Default: {}
  metadata = var.metadata
}

# https://registry.terraform.io/providers/terraform-provider-openstack/openstack/latest/docs/resources/objectstorage_container_v1.
resource "openstack_objectstorage_container_v1" "versioning" {
  name   = "versioning"
  region = var.ovh_region

  # Default: {}
  metadata = var.metadata
}

However, I have no idea how to create a cloud archive container programmatically and it is not documented anywhere...

SkypLabs avatar May 13 '21 16:05 SkypLabs

Indeed openstack_objectstorage_container_v1 does create a basic swift bucket.

How to create a S3 compatible bucket ?

Thanks in advance 🙏

bcouetil avatar Mar 01 '23 17:03 bcouetil

Response here : https://github.com/ovh/terraform-provider-ovh/issues/329

bcouetil avatar Mar 01 '23 18:03 bcouetil