Creating Labs

Infrastructure Options

The fields the CLI accepts and what the traced provisioner uses. It is not a provider quota or capacity guarantee.

VM Configuration

version: "3"
virtualmachines:
  - name: "ubuntu-1"
    image: "ubuntu2024"
    machine_type: "medium"
FieldTypeVerified behaviour
namestringUsed for VM-specific setup, check, solve, and cleanup script filenames. The validator does not require it to be non-empty.
imagestringPassed to the VM Terraform variables. The validator contains no image allowlist, so this documentation does not claim a supported-image catalog.
machine_typestringPassed to the VM Terraform variables. The validator contains no size, vCPU, or RAM table.
environmentmap[string]stringAccepted in config.yml, but omitted by the traced Terraform-variable generation; do not rely on it for VM environment injection.

AWS Accounts

version: "3"
aws_accounts:
  - count: 1
    inline_policy:
      Version: "2012-10-17"
      Statement:
        - Effect: "Allow"
          Action: "s3:ListAllMyBuckets"
          Resource: "*"
FieldTypeVerified behaviour
countnumberUse 1 per configured AWS entry. Checkout expands the total, but policy data maps to entries by position, so count greater than 1 leaves later accounts without that entry's policy configuration.
policystringA named policy. Exactly one of policy and inline_policy is required for each AWS account entry.
inline_policy.VersionstringRequired when inline_policy is used.
inline_policy.Statement[].EffectstringRequired and must be Allow or Deny.
inline_policy.Statement[].Action, inline_policy.Statement[].Resourceany non-null YAML valueBoth are required by this validator, which checks only that they are non-null. Use AWS-valid string or list values. Sid and Condition are optional accepted fields.
provisioning_strategy, max_pool_accounts, fallback_to_dynamicmixedAccepted by the model but not used by the traced checkout or Terraform-variable generation path.

GCP Projects

version: "3"
gcp_projects:
  - count: 1
    apis:
      - "compute.googleapis.com"
    iam_roles:
      - "roles/editor"
    access_type: "service_account"
FieldTypeVerified behaviour
countnumberUse 1 per configured GCP entry. Checkout expands the total, but APIs and IAM roles map to entries by position, so count greater than 1 leaves later projects without that entry's configuration.
apisstring[]Accepted and passed to generated Terraform variables for the checked-out project.
iam_rolesstring[]Accepted and passed to generated Terraform variables for the checked-out project.
access_typestringAccepted by the model, but omitted by the traced Terraform-variable generation. Do not infer a credential-delivery mechanism from it.
provisioning_strategystringAccepted by the model, but not used by the traced checkout or Terraform-variable generation path.

Azure Subscriptions

version: "3"
azure_subscriptions:
  - count: 1
    access_type: "service_principal"
    rbac_role: "Contributor"
FieldTypeVerified behaviour
countnumberSummed as entered; pool checkout occurs only when the total is greater than zero. No validator requires it or constrains its value.
access_type, rbac_role, provisioning_strategystringAccepted by the model, but not emitted by the traced Azure Terraform-variable generation; no role or credential behaviour is promised here.

Availability

UNVERIFIED: current AWS, GCP, and Azure pool capacity, provider availability, quotas, permitted regions, and the credentials visible to a running VM are live operational state. The source trace confirms only the static parsing and provisioning paths described above.