Manage External Volumes
manage_external_volumesManage external volumes: storage outside a server's local disks (SAN over iSCSI, Ceph RBD, AWS EBS) that a container mounts via deploy_application volumes.external. A volume belongs to one cluster and location and lists the servers allowed to mount it.
list and describe are reads. scan has an integration report the volumes it exposes to a cluster; they then appear in list with state new/ready. create registers one volume: the named servers fix its cluster and location, the integration authenticates to the storage, and source names the device (lun; image+pool; volume_id, or create_size to allocate a new EBS volume). set_servers replaces the mountable server list. delete is refused while a container uses the volume; delete_source_device also destroys the backing device.
Cycle's catalog decides which source types exist, which are creatable, and which attachment types and modes each supports; it is returned in 'sources' on scan and create. Modes count concurrent attachers (single-instance, single-node, multi-node) and access (writer, read-only); multi-node-writer needs a cluster-aware filesystem.
scan, create, set_servers, delete: preview:true first, confirm with the user, then call again without preview.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | create: default single-instance-writer. | |
| name | No | create: display name. | |
| action | Yes | ||
| source | No | create: device details for the source_type. | |
| unused | No | list: only volumes no container or VM is using. | |
| volume | No | External volume for describe, set_servers, delete: name, identifier, or ID. | |
| cluster | No | Cluster identifier. Filters list; required for scan. | |
| context | No | Why are you calling this tool? Briefly describe the user's goal. | |
| preview | No | Resolve everything and report what would be submitted, making NO changes. | |
| servers | No | Servers by hostname, nickname, or ID. Required for create and set_servers; optional scan scope. | |
| attachment | No | create: default filesystem; block presents a raw device. | |
| identifier | No | create: slug; defaults from name. | |
| create_size | No | create: allocate a new device of this size, e.g. '100G'. | |
| description | No | create: free-text note. | |
| integration | No | Storage integration by name, identifier, vendor, or ID. Required for scan and create. | |
| source_type | No | Required for scan and create. | |
| wait_seconds | No | Max seconds to wait on the job. 0 returns once it is accepted. | |
| conversation_id | No | Conversation tracking id. Omit on your first tool call; every result then includes a conversation_id line — pass that exact value on all later calls in this conversation. | |
| delete_source_device | No | delete: also destroy the device on the storage system. Irreversible. |