Skip to content

fm storage

Reference for the fm storage command group (auto-generated from fm storage --help).

fm storage

text
Manage storage resources including volumes, snapshots, and buckets.

Examples:
  fm storage volume list
  fm storage volume create --name my-volume --size 100
  fm storage bucket list
  fm storage bucket create my-bucket

Usage:
  fm storage [command]

Available Commands:
  bucket        Manage object storage buckets
  s3-credential Manage S3 credentials
  snapshot      Manage volume snapshots
  volume        Manage block storage volumes

Flags:
  -h, --help   help for storage

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage [command] --help" for more information about a command.

fm storage bucket

text
Manage object storage buckets.

Usage:
  fm storage bucket [command]

Aliases:
  bucket, buckets

Available Commands:
  create      Create a bucket
  delete      Delete a bucket
  get         Get bucket details
  list        List buckets
  tags        Read and replace a bucket's tags

Flags:
  -h, --help   help for bucket

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage bucket [command] --help" for more information about a command.

fm storage bucket create

text
Create a new object storage bucket.

Bucket names must be globally unique, 3-63 characters, and contain only
lowercase letters, numbers, and hyphens.

Examples:
  fm storage bucket create my-bucket
  fm storage bucket create my-bucket --region sweden --versioning

Usage:
  fm storage bucket create <name> [flags]

Flags:
  -h, --help                   help for create
      --region string          bucket region
      --storage-class string   storage class (standard, infrequent, archive) (default "standard")
      --tag strings            tags in key=value format
      --versioning             enable versioning

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage bucket delete

text
Delete an object storage bucket.

By default, the bucket must be empty. Use --force to delete a bucket
with objects (this will delete all objects first).

Usage:
  fm storage bucket delete <name> [flags]

Flags:
      --force   delete bucket with all objects
  -h, --help    help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage bucket get

text
Get detailed information about a specific bucket.

Usage:
  fm storage bucket get <bucket-name> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage bucket list

text
List all object storage buckets.

Usage:
  fm storage bucket list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage bucket tags

text
Read and replace a bucket's tags

Usage:
  fm storage bucket tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a bucket's tags
  set         Replace a bucket's tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage bucket tags [command] --help" for more information about a command.
fm storage bucket tags get
text
Show a bucket's tags

Usage:
  fm storage bucket tags get <bucket-name> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm storage bucket tags set
text
Replace a bucket's tags in place with exactly the given set
(replace semantics — any tag not listed is removed).

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm storage bucket tags get' and pass
them all back.

Use --clear to remove every tag.

The bucket's own settings (ACL, storage class, quota, CORS) are stored as
reserved bucket tags and are preserved across the replace, so clearing your tags
does not reset them.

Examples:
  fm storage bucket tags set my-bucket --tag env=prod --tag owner=team-a
  fm storage bucket tags set my-bucket --clear

Usage:
  fm storage bucket tags set <bucket-name> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage s3-credential

text
Manage S3 credentials for programmatic object storage access.

Usage:
  fm storage s3-credential [command]

Aliases:
  s3-credential, s3-credentials, s3cred

Available Commands:
  create      Create S3 credential
  delete      Delete S3 credential
  list        List S3 credentials
  rotate      Rotate S3 credential

Flags:
  -h, --help   help for s3-credential

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage s3-credential [command] --help" for more information about a command.

fm storage s3-credential create

text
Create a new S3 credential for object storage access.

The secret key is only shown once at creation time. Store it securely.

Examples:
  fm storage s3-credential create
  fm storage s3-credential create --description "Backup script"
  fm storage s3-credential create --name backup-writer \
    --allowed-bucket backups --allowed-action s3:PutObject --allowed-action s3:GetObject \
    --ip 203.0.113.0/24

An empty/omitted scope means unrestricted on that axis (all buckets / all
actions / any IP) — set them to apply least privilege.

Usage:
  fm storage s3-credential create [flags]

Flags:
      --allowed-action strings   restrict to these S3 actions, e.g. s3:GetObject (repeatable; empty = all actions)
      --allowed-bucket strings   restrict to these buckets (repeatable; empty = all buckets)
      --description string       credential description
  -h, --help                     help for create
      --ip strings               restrict to these source IPs/CIDRs (repeatable; empty = any IP)
      --name string              credential name

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage s3-credential delete

text
Delete an S3 credential.

Usage:
  fm storage s3-credential delete <credential-id> [flags]

Flags:
  -h, --help   help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage s3-credential list

text
List all S3 credentials for object storage access.

Usage:
  fm storage s3-credential list [flags]

Flags:
  -h, --help   help for list

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage s3-credential rotate

text
Rotate an S3 credential, generating new access and secret keys.

Usage:
  fm storage s3-credential rotate <credential-id> [flags]

Flags:
  -h, --help   help for rotate

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage snapshot

text
Manage volume snapshots.

Usage:
  fm storage snapshot [command]

Aliases:
  snapshot, snapshots, snap

Available Commands:
  create      Create a snapshot
  delete      Delete a snapshot
  get         Get snapshot details
  list        List snapshots
  restore     Restore a snapshot to a new volume

Flags:
  -h, --help   help for snapshot

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage snapshot [command] --help" for more information about a command.

fm storage snapshot create

text
Create a new volume snapshot.

Examples:
  fm storage snapshot create --name backup-snap --volume vol-123
  fm storage snapshot create --name db-snapshot --volume vol-123 --description "Daily backup"

Usage:
  fm storage snapshot create [flags]

Flags:
      --description string   snapshot description
  -h, --help                 help for create
      --name string          snapshot name (required)
      --tag strings          tags in key=value format
      --volume string        volume ID (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage snapshot delete

text
Delete a volume snapshot.

Usage:
  fm storage snapshot delete <snapshot-id> [flags]

Flags:
  -h, --help            help for delete
      --volume string   volume ID (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage snapshot get

text
Get detailed information about a specific snapshot.

Usage:
  fm storage snapshot get <snapshot-id> [flags]

Flags:
  -h, --help            help for get
      --volume string   volume ID (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage snapshot list

text
List all volume snapshots.

Usage:
  fm storage snapshot list [flags]

Flags:
  -h, --help            help for list
      --volume string   volume ID (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage snapshot restore

text
Restore a snapshot to a new volume.

Examples:
  fm storage snapshot restore snap-123 --volume vol-123 --name restored-vol

Usage:
  fm storage snapshot restore <snapshot-id> [flags]

Flags:
      --description string   description for the new volume
  -h, --help                 help for restore
      --name string          name for the new volume (required)
      --volume string        volume ID the snapshot belongs to (required)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume

text
Manage block storage volumes.

Usage:
  fm storage volume [command]

Aliases:
  volume, volumes, vol

Available Commands:
  attach      Attach a volume to an instance
  create      Create a volume
  delete      Delete a volume
  detach      Detach a volume from an instance
  get         Get volume details
  list        List volumes
  resize      Resize a volume
  tags        Read and replace a volume's tags

Flags:
  -h, --help   help for volume

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage volume [command] --help" for more information about a command.

fm storage volume attach

text
Attach a block storage volume to a compute instance.

Examples:
  fm storage volume attach vol-123 inst-456
  fm storage volume attach vol-123 inst-456 --device /dev/vdb

Usage:
  fm storage volume attach <volume-id> <instance-id> [flags]

Flags:
      --device string   device path (e.g., /dev/vdb)
  -h, --help            help for attach

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume create

text
Create a new block storage volume.

Examples:
  fm storage volume create --name my-volume --size 100
  fm storage volume create --name db-volume --size 500 --type ssd --encrypted
  fm storage volume create --name restore-vol --size 100 --snapshot snap-123

Usage:
  fm storage volume create [flags]

Flags:
      --description string   volume description
      --encrypted            enable encryption
  -h, --help                 help for create
      --name string          volume name (required)
      --size int             volume size in GB (required)
      --snapshot string      create from snapshot ID
      --tag strings          tags in key=value format
      --type string          volume tier key (default: the platform default tier; tab-complete or see the volume-tier catalog for offered tiers)
      --zone string          availability zone

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume delete

text
Delete a block storage volume.

Usage:
  fm storage volume delete <volume-id> [flags]

Flags:
      --force   force delete attached volume
  -h, --help    help for delete

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume detach

text
Detach a block storage volume from a compute instance.

Usage:
  fm storage volume detach <volume-id> [flags]

Flags:
      --force   force detach
  -h, --help    help for detach

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume get

text
Get detailed information about a specific volume.

Usage:
  fm storage volume get <volume-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume list

text
List all block storage volumes.

Usage:
  fm storage volume list [flags]

Flags:
  -h, --help            help for list
      --status string   filter by status (available, in-use, etc.)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume resize

text
Resize a block storage volume to a new size.

Note: Volumes can only be increased in size, not decreased.

Examples:
  fm storage volume resize vol-123 200

Usage:
  fm storage volume resize <volume-id> <new-size> [flags]

Flags:
  -h, --help   help for resize

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

fm storage volume tags

text
Read and replace a volume's tags

Usage:
  fm storage volume tags [command]

Aliases:
  tags, tag

Available Commands:
  get         Show a volume's tags
  set         Replace a volume's tags

Flags:
  -h, --help   help for tags

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)

Use "fm storage volume tags [command] --help" for more information about a command.
fm storage volume tags get
text
Show a volume's tags

Usage:
  fm storage volume tags get <volume-id> [flags]

Flags:
  -h, --help   help for get

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)
fm storage volume tags set
text
Replace a volume's tags in place with exactly the given set
(replace semantics — any tag not listed is removed).

The set you pass IS the resulting set. To ADD one tag without disturbing the
others, read the current ones first with 'fm storage volume tags get' and pass
them all back.

Use --clear to remove every tag.

The platform's own reserved keys are never shown here and cannot be set; they
are preserved across the replace, so clearing your tags does not disturb the
volume's tenant boundary or billing attribution.

Examples:
  fm storage volume tags set vol-123 --tag env=prod --tag owner=team-a
  fm storage volume tags set vol-123 --clear

Usage:
  fm storage volume tags set <volume-id> --tag <key=value> [--tag <key=value> ...] [flags]

Flags:
      --clear         remove ALL tags (mutually exclusive with --tag)
  -h, --help          help for set
      --tag strings   tag in key=value format (repeatable; replace semantics)

Global Flags:
      --config string   config file (default is $HOME/.fm/config.yaml)
  -d, --debug           enable debug/verbose output
      --no-color        disable colored output
  -o, --output string   output format: table, json, yaml, wide (default "table")
  -q, --quiet           suppress non-essential output
      --tenant string   tenant ID to operate on (overrides the active/default tenant; also FM_TENANT)