Ошибка простого сценария терраформирования с ошибкой 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"
# ...
}