Ошибка простого сценария терраформирования с ошибкой 400-CannotParseRequest

Я пробовал разные сценарии для создания простого экземпляра в OCI, но все они терпят неудачу с одной и той же загадочной ошибкой «400-CannotParseRequest» после того, как я запустилterraform apply

Скрипт:

      resource "oci_core_instance" "ubuntu_oci_instance" {
  availability_domain = data.oci_identity_availability_domains.ads.availability_domains.0.id
  compartment_id      = var.compartment_ocid
  fault_domain        = var.default_fault_domain

  create_vnic_details {
    assign_private_dns_record = true
    assign_public_ip          = true
    subnet_id                 = var.public_subnet_id
  }

  display_name = "Ubuntu Instance"

  shape = "VM.Standard.A1.Flex"

  shape_config {
    memory_in_gbs = "6"
    ocpus         = "1"
  }

  source_details {
    source_id   = var.os_image_id
    source_type = "image"
  }

  freeform_tags = local.tags
}

Отчет об ошибках

      2023-02-27T11:09:25.499-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: {"availabilityDomain":"ocid1.availabilitydomain.oc1..XXXXXX","compartmentId":"ocid1.subnet.oc1.sa-vinhedo-1.XXXXXX","createVnicDetails":{"assignPrivateDnsRecord":true,"assignPublicIp":true,"subnetId":"ocid1.subnet.oc1.sa-vinhedo-1.XXXXX"},"displayName":"Ubuntu Instance","faultDomain":"FAULT-DOMAIN-1","freeformTags":{"environment":"lab","oracle-tutorial":"terraform"},"shape":"VM.Standard.A1.Flex","shapeConfig":{"memoryInGBs":6,"ocpus":1},"sourceDetails":{"bootVolumeVpusPerGB":10,"imageId":"ocid1.image.oc1.sa-vinhedo-1.aaaaaaaaonxtcly7ahfdey62t2omzydh55y4rjf6qge6j2iljh4qiexuso5a","sourceType":"image"}}
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: INFO 2023/02/27 11:09:25.582061 client.go:449: Dump Response HTTP/1.1 400 Bad Request
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: Connection: close
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: Content-Length: 127
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: Content-Type: application/json
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: Date: Mon, 27 Feb 2023 14:09:25 GMT
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: Opc-Request-Id: d5960a2c88b5d6dcf2965b4afd00c6b1/3FF831DB64F0B8B8F9214282CC4BDD1D/E6CA846EBB29D2B8F9E20FD1A4A70572
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: 
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: {
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0:   "code" : "CannotParseRequest",
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0:   "message" : "Incorrectly formatted request. Please refer to our documentation for help."
2023-02-27T11:09:25.582-0300 [DEBUG] provider.terraform-provider-oci_v4.109.0: }

3 ответа

Моя проблема также была связана с неправильной зоной доступности, но я использовал блок данных, поэтому вместо доступа к переменной ( как я делал повсюду ) вам следует использовать !

Правильный формат:

      resource "oci_core_instance" "example" {
  availability_domain = data.oci_identity_availability_domain.example.name
  # ... other configs ...
}

data "oci_identity_availability_domain" "example" {
  compartment_id = oci_identity_compartment.example.id
  ad_number      = 1
}

Похоже, ты тоже запуталсяidиnameно в вашем случае вы использовалиdata.oci_identity_availability_domains(обратите внимание на финалs).

Проблема была в моих переменных (var.compartment_ocid/var.default_fault_domain)

Это было исправлено после того, как я их рассмотрел.

У меня неправильная зона доступности вызвала ту же проблему.

Правильный формат:

      resource "oci_core_instance" "example" {
  # ...
  availability_domain =  "ZjLz:EU-FRANKFURT-1-AD-1"
  # ...
}
Другие вопросы по тегам