state-has-get-read-api

Status: IN

`ftl.state.has(key)` checks if a resource exists in the state file and `ftl.state.get(key)` retrieves its metadata dict. Used to skip provisioning on re-runs and to look up IPs for re-registration.

Source: repo:ftl2-agentcraft/ftl2_agentcraft/scripts/sandbox.py

Example

if ftl.state.has(config.name):
    resource = ftl.state.get(config.name)
    ip = resource["ipv4"][0]
    log(f"Already provisioned at {ip}")
else:
    result = await ftl.local.community.general.linode_v4(...)
    ip = result["instance"]["ipv4"][0]
    ftl.state.add(config.name, {
        "provider": "linode",
        "ipv4": result["instance"]["ipv4"],
    })

JSON