OpenNebula / terraform-provider-opennebula

Terraform provider for OpenNebula
https://www.terraform.io/docs/providers/opennebula/
Mozilla Public License 2.0
63 stars 53 forks source link

Add `opennebula_datastore` resource and data source #299

Closed frousselet closed 1 year ago

frousselet commented 2 years ago

Community Note

Description

Add support for OpenNebula Datastore

New or Affected Resource(s)

Potential Terraform Configuration

Example vCenter (needs #300)

data "opennebula_host" "example" {
  name = "vcenter_prod"
}

resource "opennebula_datastore" "vcenter_images" {
  name = "datastore-vcenter-1"
  type = "IMAGES" # Can be IMAGES or SYSTEM. FILES conflicts with vcenter

  cluster_id = data.opennebula_cluster.example.id

  vcenter = {
    host_id                     = data.opennebula_host.vcenter.id
    compatible_system_datastore = "0.100" # Only if type = "IMAGES"
  } # or shared or ssh or qcow2 or vcenter or lvm or iscsi or custom
}

Example CEPH

resource "opennebula_datastore" "ceph_images" {
  name = "datastore-ceph-1"
  type = "IMAGES" # Can be IMAGES or SYSTEM. FILES conflicts with ceph

  cluster_id = data.opennebula_cluster.example.id

  restricted_directories = "/restricted"
  safe_directories       = "/safe"

  storage_usage_limit      = 10000 #MB
  transfer_bandwidth_limit = 50000 #B/s

  untar                    = false # Default is false
  check_available_capacity = true  # Default is true

  host_bridges = [
    "srv1",
    "srv2"
  ] # Unavailable for some storage backends

  ceph = {
    pull_to_store_images        = "azerty"
    host                        = "ceph.example.com"
    user                        = "john"
    secret                      = "qwerty"
    staging_directory           = "staging"
    compatible_system_datastore = "0.100" # Only if type = "IMAGES"
    rbd_format                  = "<some arguments>"
    configuration_file_path     = "<a path>"
    key_file                    = "<a path>"
  } # or shared or ssh or qcow2 or vcenter or lvm or iscsi or custom
}

Data Source

data "opennebula_datastore" "datastore_1" {
  name = "datastore1"
}

References

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days.