"""Create a VM folder with pulumi-vsphere Folder.""" from __future__ import annotations import os import uuid import pulumi import pulumi_vsphere as vsphere user = os.environ.get("VSPHERE_USER", "administrator@vsphere.local") password = os.environ.get("VSPHERE_PASSWORD", "VMware1!") server = os.environ.get("VSPHERE_SERVER", "api-gateway") datacenter_name = os.environ.get("VSPHERE_DATACENTER", "Datacenter") run_id = os.environ.get("TEST_RUN_ID") or uuid.uuid4().hex[:8] folder_name = os.environ.get("VSPHERE_LAB_FOLDER", f"pulumi-folder-{run_id}") provider = vsphere.Provider( "vsphere", user=user, password=password, vsphere_server=server, allow_unverified_ssl=True, ) invoke_opts = pulumi.InvokeOptions(provider=provider) res_opts = pulumi.ResourceOptions(provider=provider) dc = vsphere.get_datacenter_output(name=datacenter_name, opts=invoke_opts) folder = vsphere.Folder( "lab-folder", path=folder_name, type="vm", datacenter_id=dc.id, opts=res_opts, ) pulumi.export("folder_id", folder.id) pulumi.export("folder_path", folder.path) pulumi.export("datacenter_id", dc.id)