Initial commit: VMware vSphere API simulator scaffold.
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
**Language / Язык:** [English](terraform.md) | [Русский](../ru/examples/terraform.md)
|
||||
|
||||
# Terraform
|
||||
|
||||
[`examples/terraform/vsphere/`](../../examples/terraform/vsphere/) uses the
|
||||
official `hashicorp/vsphere` provider (SOAP `/sdk` under the hood) pointed at
|
||||
the local HTTPS gateway (`https://localhost`) with
|
||||
`allow_unverified_ssl = true` for the development certificate.
|
||||
|
||||
```bash
|
||||
cd examples/terraform/vsphere
|
||||
terraform init
|
||||
TF_VAR_create_lab_vm=false terraform plan # data sources only (datacenter/cluster/datastore/network/VM)
|
||||
TF_VAR_create_lab_vm=true terraform apply # also creates a lab VM (SOAP CreateVM_Task)
|
||||
```
|
||||
|
||||
Defaults (`variables.tf`): `vsphere_server = "localhost"`,
|
||||
`vsphere_user = "administrator@vsphere.local"`,
|
||||
`vsphere_password = "VMware1!"`, `datacenter = "Datacenter"`,
|
||||
`cluster = "Cluster"`, `datastore = "datastore1"`,
|
||||
`network = "VM Network"`, `vm_name = "web-01"` (a `small`/`large` seeded VM).
|
||||
|
||||
Provider plugin versions move quickly — pin versions in a `required_providers`
|
||||
block to what you have tested. After `make seed`, refresh or recreate state
|
||||
so VM name/MOID assumptions stay aligned.
|
||||
|
||||
This cookbook is a starting point for lab CI, not a certification of every
|
||||
`hashicorp/vsphere` resource/data source against the full route registry. See
|
||||
[SOAP / VIM](../domains/soap.md) for the exact operations backing the
|
||||
provider's create/read paths, and
|
||||
[`pulumi-tests/`](../../pulumi-tests/README.md) for the `pulumi-vsphere` lab
|
||||
suite (`make pulumi-tests`).
|
||||
Reference in New Issue
Block a user