oracle-terraform-modules / terraform-oci-compute-instance

Terraform Module for creating Oracle Cloud Infrastructure compute instances
https://registry.terraform.io/modules/oracle-terraform-modules/compute-instance/oci/latest
Other
46 stars 62 forks source link

Shape is not valid for image when it is available via the UI #101

Open codex70 opened 1 year ago

codex70 commented 1 year ago

Community Note

Terraform Version and Provider Version

Affected Resource(s)

Deploying an instance with Windows operating system and Server 2019 Standard os version.

Terraform Configuration Files

module "instance" {
  source = "oracle-terraform-modules/compute-instance/oci"
  instance_count             = 1 # how many instances do you want?
  ad_number                  = 1 # AD number to provision instances. If null, instances are provisionned in a rolling manner starting with AD1
  compartment_ocid           = var.compartment_id
  instance_display_name      = var.instance_display_name
  source_ocid                = var.image_id
  subnet_ocids               = [var.subnet_id]
  source_type                 = var.source_type
  instance_flex_memory_in_gbs = lookup(var.shape, "memory", 2)                    # only used if shape is Flex type
  instance_flex_ocpus         = lookup(var.shape, "ocpus", 1)                               # only used if shape is Flex type
  baseline_ocpu_utilization   = var.baseline_ocpu_utilization
  cloud_agent_plugins = {
    autonomous_linux       = "ENABLED"
    bastion                = "ENABLED"
    vulnerability_scanning = "ENABLED"
    osms                   = "ENABLED"
    management             = "DISABLED"
    custom_logs            = "ENABLED"
    run_command            = "ENABLED"
    monitoring             = "ENABLED"
    block_volume_mgmt      = "DISABLED"
  }
  public_ip                  = var.public_ip # NONE, RESERVED or EPHEMERAL
  ssh_public_keys            = var.ssh_public_key
  block_storage_sizes_in_gbs = [lookup(var.shape, "boot_volume_size", 50)]
  shape                      = lookup(var.shape, "shape", "")
  instance_state             = var.instance_state # RUNNING or STOPPED
  boot_volume_backup_policy  = var.boot_volume_backup_policy # disabled, gold, silver or bronze
}

and config:

  shape = {
    shape            = "VM.Standard.E4.Flex"
    ocpus            = 2,
    memory           = 4,
    boot_volume_size = 50
  }

Debug Output

Panic Output

Error: 400-InvalidParameter, Shape VM.Standard.E4.Flex is not valid for image ocid1.image.oc1.eu-frankfurt-1.aaaaaaaae6rnjsal6ldvpperzizrkfybacfvz7somb3fr7463kilcgfwaraa.

Expected Behavior

I am able to deploy the selected shape

Actual Behavior

I am unable to select anything other than the default shape, I have tried several options and the all return "Shape is not valid for image"

Steps to Reproduce

  1. terraform apply

Important Factoids

References

111100001 commented 4 months ago

i am facing the same issue

Shape VM.Standard.A1.Flex is not valid for image ocid1.image.oc1.us-chicago-1.aaaaaaaahqffxyvnhqisij6bmdj2ug7hk3qjdaxav5vprk3fzpl2v643lcfa

oci cli doesn't show ubuntu images for VM.Standard.A1.Flex, but it shows up when i create an instance from the browser