Skip to main content

Equinix Metal CLI Reference

Equinix Metal™ provides an API-driven bare metal platform that combines the automation experience of the cloud with the benefits of physical, bare metal servers.

The Equinix Metal CLI wraps the Equinix Metal Go SDK equinix-sdk-go, allowing interaction with the Equinix Metal API from a command-line interface.

Installation

Installing the binary from the Release

You can download the appropriate binary for your system from the Releases page on GitHub. Place it in your desired location, chmod it and rename it to metal.

Installing the binary from Source

If you have go 1.19 or later installed, you can build and install the latest version with:

go install github.com/equinix/metal-cli/cmd/metal@latest

You can find the installed executable/binary in either $GOPATH/bin or $HOME/go/bin folder.

Homebrew

If you prefer installing via Homebrew, you can run the following:

brew tap equinix/homebrew-tap
brew install metal-cli

FreeBSD ports

The Equinix Metal CLI tools are also available from FreeBSD ports:

sudo pkg install -r FreeBSD sysutils/equinix-metal-cli

Authentication

The CLI uses your Equinix Metal API token for authentication. The token can be stored in the $METAL_AUTH_TOKEN environment variable.

export METAL_AUTH_TOKEN=<your_API_TOKEN>

You can also set up and store authentication and configuration in a JSON or YAML configuration file created by metal init.

metal init

Description

Init will prompt for account settings and store the values as defaults in a configuration file that may be shared with other Equinix Metal tools. This file is typically stored in $HOME/.config/equinix/metal.yaml. Any Metal CLI command line argument can be specified in the config file. Be careful not to define options that you do not intend to use as defaults. The configuration file written to can be changed with METAL_CONFIG and --config.

metal init

Examples

# Example config:
--
token: foo
project-id: 1857dc19-76a5-4589-a9b6-adb729a7d18b
organization-id: 253e9cf1-5b3d-41f5-a4fa-839c130c8c1d

Options

-h, --help   help for init
-help help for init

Options inherited from parent commands

See Common Options.

Environment and Completions

The Equinix Metal CLI offers commands that will generate environment variables and completions, depending on which shell you are using.

metal env

Description

Prints or generates environment variables. Currently emitted variables: METAL_AUTH_TOKEN, METAL_ORGANIZATION_ID, METAL_PROJECT_ID, METAL_CONFIG. Use the --project-id flag to set the METAL_PROJECT_ID variable. Use the --organization-id flag to set the METAL_ORGANIZATION_ID variable.

metal env [-p <project_id>]

Examples

# Print the current environment variables:
metal env

# Print the current environment variables in Terraform format:
metal env --output terraform

# Load environment variables in Bash, Zsh:
source <(metal env)

# Load environment variables in Bash 3.2.x:
eval "$(metal env)"

# Load environment variables in Fish:
metal env | source

Options

--export                   Export the environment variables.
-h, --help help for env
-O, --organization-id string A organization UUID to set as an environment variable.
-o, --output string Output format for environment variables (*sh, terraform, capp). (default "sh")
-p, --project-id string A project UUID to set as an environment variable.
-project-id string A project UUID to set as an environment variable.

Options inherited from parent commands

See Common Options.

metal completion

Description

Generates shell completion scripts for different shells.

metal completion [bash | zsh | fish | powershell]

Examples

# To load completions in Bash:
source <(metal completion bash)

# To load completions in Bash (3.2.x):
eval "$(metal completion bash)"

# To load completions in Bash for each session, on Linux execute once:
metal completion bash > /etc/bash_completion.d/metal-cli

# To load completions in Bash for each session, on Mac execute once:
metal completion bash > /usr/local/etc/bash_completion.d/metal-cli

# To load completions in Zsh:
source <(metal completion zsh)

# To load completions in Zsh for each session, execute once:
metal completion zsh > "${fpath[1]}/_metal-cli"

# To load completions in Fish:
metal completion fish | source

# To load completions in Fish for each session, execute once:
metal completion fish > ~/.config/fish/completions/metal-cli.fish

Options

-h, --help   help for completion

Options inherited from parent commands

See Common Options.

Documentation Generation

metal docs

Description

Generates command markdown documentation in the specified directory. Each command gets a markdown file.

metal docs <destination>

Examples

# Generate documentation in the ./docs directory:
metal docs ./docs

Options

-h, --help   help for docs

Common Options

These options are available to all commands in the Equinix Metal CLI.

--config string         Path to JSON or YAML configuration file (METAL_CONFIG)
--exclude strings Comma separated Href references to collapse in results, may be dotted three levels deep
--filter stringArray Filter 'get' actions with name value pairs. Filter is not supported by all resources and is implemented as request query parameters.
--http-header strings Headers to add to requests (in format key=value)
--include strings Comma separated Href references to expand in results, may be dotted three levels deep
-o, --output string Output format (*table, json, yaml). env output formats are (*sh, terraform, capp).
--search string Search keyword for use in 'get' actions. Search is not supported by all resources.
--sort-by string Sort fields for use in 'get' actions. Sort is not supported by all resources.
--sort-dir string Sort field direction for use in 'get' actions. Sort is not supported by all resources.
--token string Metal API Token (METAL_AUTH_TOKEN)

metal 2fa

Description

Enable or disable two-factor authentication on your user account or receive an OTP token. More information is available at /metal/identity-access-management/users/.

Options

-h, --help   help for 2fa

Options inherited from parent commands

See Common Options.

metal 2fa disable

Description

Disables two-factor authentication. Requires the current OTP code from either SMS or application. If you no longer have access to your two-factor authentication device, please contact support.

metal 2fa disable (-a | -s) --code <OTP_code>  [flags]

Examples

# Disable two-factor authentication via SMS
metal 2fa disable -s -c <OTP_code>

# Disable two-factor authentication via APP
metal 2fa disable -a -c <OTP_code>

Options

-a, --app           The OTP code is issued from an application.
-c, --code string The two-factor authentication OTP code.
-h, --help help for disable
-s, --sms The OTP code is issued to you via SMS.

Options inherited from parent commands

See Common Options.

metal 2fa enable

Description

Enables two-factor authentication on the current user's account. Two-factor auth is available either via SMS or an application. A current OPT code is required, which can be generated by the 2fa receive command.

metal 2fa enable (-s | -a) --code <OTP_code> [flags]

Examples

# Enable two factor authentication via SMS.
metal 2fa enable -s -c <OTP_code>

# Enable two factor authentication via an application.
metal 2fa enable -a -c <OTP_code>

Options

-a, --app           Enables two-factor authentication using an application on the current user's account.
-c, --code string Two-factor authentication code that is provided by a request to the 2fa receive command.
-h, --help help for enable
-s, --sms Enables two-factor authentication using SMS on the current user's account.

Options inherited from parent commands

See Common Options.

metal 2fa receive

Description

Generates a two-factor authentication token for use in enabling two-factor authentication on the current user's account. In order to use SMS, a phone number must be associated with the account to receive the code. If you are using an app, a URI for the application is returned.

metal 2fa receive (-s | -a) [flags]

Examples

# Issue the token via SMS:
metal 2fa receive -s

# Issue the token via app:
metal 2fa receive -a

Options

-a, --app    Issues an OTP URI for an authentication application.
-h, --help help for receive
-s, --sms Issues SMS OTP token to the phone number associated with the current user account.

Options inherited from parent commands

See Common Options.

metal capacity

Description

Capacity operations. For more information on capacity in metros, visit /metal/locations/metros/. For more information on capacity in facilities, visit /metal/locations/capacity/.

Options

-h, --help   help for capacity

Options inherited from parent commands

See Common Options.

metal capacity check

Description

Validates if the number of the specified server plan is available in the specified metro or facility. Metro and facility are mutually exclusive. At least one metro (or facility), one plan, and quantity of 1 or more is required.

metal capacity check (-m <metro> | -f <facility>) -P <plan> -q <quantity> [flags]

Examples

# Checks if 10 c3.medium.x86 servers are available in NY or Dallas:
metal capacity check -m ny,da -P c3.medium.x86 -q 10

# Checks if Silicon Valley or Dallas has either 4 c3.medium.x86 or m3.large.x86
metal capacity check -m sv,da -P c3.medium.x86,m3.large.x86 -q 4

Options

-f, --facilities strings   A facility or list of facilities.
-h, --help help for check
-m, --metros strings A metro or list of metros.
-P, --plans strings A plan or list of plans.
-q, --quantity int The number of devices wanted.

Options inherited from parent commands

See Common Options.

metal capacity get

Description

Returns the capacity of metros or facilities. Filters for metros, facilities, plans are available. Metro flags and facility flags are mutually exclusive. If no flags are included, returns capacity for all plans in all facilities.

metal capacity get [-m | -f] | [--metros <list> | --facilities <list>] [-P <list>] [flags]

Examples

# Returns the capacity of all plans in all facilities:
metal capacity get

# Returns the capacity of the c3.small.x86 in all metros:
metal capacity get -m -P c3.small.x86

# Returns c3.large.arm and c3.medium.x86 capacity in the Silicon Valley, New York, and Dallas metros:
metal capacity get --metros sv,ny,da -P c3.large.arm,c3.medium.x86

Options

--facilities strings   A facility or list of facilities for client-side filtering. Will only return the capacity for the specified facilities. Can not be used with --metros.
-f, --facility Return the capacity for all facilities. Can not be used with -m. (default true)
-h, --help help for get
-m, --metro Return the capacity for all metros. Can not be used with -f.
--metros strings A metro or list of metros for client-side filtering. Will only return the capacity for the specified metros. Can not be used with --facilities.
-P, --plans strings Return only the capacity for the specified plans.

Options inherited from parent commands

See Common Options.

metal device

Description

Device operations that control server provisioning, metadata, and basic operations.

Options

-h, --help   help for device

Options inherited from parent commands

See Common Options.

metal device create

Description

Creates a device in the specified project. A plan, hostname, operating system, and either metro or facility is required.

metal device create -p <project_id> (-m <metro> | -f <facility>) -P <plan> -H <hostname> -O <operating_system> [-u <userdata> | --userdata-file <filepath>] [-c <customdata>] [-t <tags>] [-r <hardware_reservation_id>] [-I <ipxe_script_url>] [--always-pxe] [--spot-instance] [--spot-price-max=<max_price>] [flags]

Examples

# Provisions a c3.small.x86 in the Dallas metro running Ubuntu 20.04:
metal device create -p $METAL_PROJECT_ID -P c3.small.x86 -m da -H test-staging-2 -O ubuntu_20_04

# Provisions a c3.medium.x86 in Silicon Valley, running Rocky Linux, from a hardware reservation:
metal device create -p $METAL_PROJECT_ID -P c3.medium.x86 -m sv -H test-rocky -O rocky_8 -r 47161704-1715-4b45-8549-fb3f4b2c32c7

Options

-a, --always-pxe                       Sets whether the device always PXE boots on reboot.
-b, --billing-cycle string Billing cycle (default "hourly")
-c, --customdata string Custom data to be included with your device's metadata.
-f, --facility string Code of the facility where the device will be created
-r, --hardware-reservation-id string The UUID of a hardware reservation, if you are provisioning a server from your reserved hardware.
-h, --help help for create
-H, --hostname string Hostname
-I, --ipxe-script-url string The URL of an iPXE script.
-m, --metro string Code of the metro where the device will be created
-O, --operating-system string Operating system name for the device
-P, --plan string Name of the plan
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-S, --public-ipv4-subnet-size int Size of the public IPv4 subnet.
-s, --spot-instance Provisions the device as a spot instance.
--spot-price-max float Sets the maximum spot market price for the device: --spot-price-max=1.2
-t, --tags strings Tag or list of tags for the device: --tags="tag1,tag2".
-T, --termination-time string Device termination time: --termination-time="2023-08-24T15:04:05Z"
-u, --userdata string Userdata for device initialization. Can not be used with --userdata-file.
--userdata-file string Path to a userdata file for device initialization. Can not be used with --userdata.

Options inherited from parent commands

See Common Options.

metal device delete

Description

Deletes the specified device with a confirmation prompt. To skip the confirmation use --force.

metal device delete -i <device_id> [-f] [flags]

Examples

# Deletes the specified device:
metal device delete -i 7ec86e23-8dcf-48ed-bd9b-c25c20958277
>
✔ Are you sure you want to delete device 7ec86e23-8dcf-48ed-bd9b-c25c20958277 [Y/N]: y

# Deletes a VLAN, skipping confirmation:
metal device delete -f -i 7ec86e23-8dcf-48ed-bd9b-c25c20958277

Options

-f, --force       Skips confirmation for the device deletion.
-h, --help help for delete
-i, --id string The UUID of the device.

Options inherited from parent commands

See Common Options.

metal device get

Description

Retrieves a list of devices in the project, or the details of the specified device. Either a project ID or a device ID is required.

metal device get [-p <project_id>] | [-i <device_id>] [flags]

Examples

# Gets the details of the specified device:
metal device get -i 52b60ca7-1ae2-4875-846b-4e4635223471

# Gets a list of devices in the specified project:
metal device get -p 5ad070a5-62e8-4cfe-a0b9-3b79e59f1cfe

# Get a list of devices with the hostname foo and a default project configured:
metal device get --filter hostname=foo

Options

-h, --help                help for get
-i, --id string The UUID of a device.
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.

Options inherited from parent commands

See Common Options.

metal device reboot

Description

Reboots the specified device.

metal device reboot -i <device_id> [flags]

Examples

# Reboots the specified device:
metal device reboot --id 26a9da5f-a0db-41f6-8467-827e144e59a7

Options

-h, --help        help for reboot
-i, --id string The device UUID.

Options inherited from parent commands

See Common Options.

metal device reinstall

Description

Reinstalls the provided device with the current operating system or a new operating system with optional flags to preserve data or skip disk clean-up. The ID of the device to reinstall is required.

metal device reinstall --id <device-id> [--operating-system <os_slug>] [--deprovision-fast] [--preserve-data] [flags]

Examples

# Reinstalls a device with the current OS:
metal device reinstall -d 50382f72-02b7-4b40-ac8d-253713e1e174

# Reinstalls a device with Ubuntu 22.04 while preserving the data on non-OS disks:
metal device reinstall -d 50382f72-02b7-4b40-ac8d-253713e1e174 -O ubuntu_22_04 --preserve-data

Options

--deprovision-fast          Avoid optional potentially slow clean-up tasks.
-h, --help help for reinstall
-d, --id string ID of device to be reinstalled
-O, --operating-system string Operating system install on the device. If omitted the current OS will be reinstalled.
--preserve-data Avoid wiping data on disks where the OS is *not* being installed.

Options inherited from parent commands

See Common Options.

metal device start

Description

Starts or powers on a device that is currently stopped or powered off.

metal device start -i <device_id> [flags]

Examples

# Starts the specified device:
metal device start --id 26a9da5f-a0db-41f6-8467-827e144e59a7

Options

-h, --help        help for start
-i, --id string The UUID of the device.

Options inherited from parent commands

See Common Options.

metal device stop

Description

Stops or powers off a device that is currently started or powered on.

metal device stop -i <device_id> [flags]

Examples

# Stops the specified device:
metal device stop --id [device_UUID]

Options

-h, --help        help for stop
-i, --id string The UUID of the device.

Options inherited from parent commands

See Common Options.

metal device update

Description

Updates the hostname of a device. Updates or adds a description, tags, userdata, custom data, and iPXE settings for an already provisioned device. Can also lock or unlock future changes to the device.

metal device update -i <device_id> [-H <hostname>] [-d <description>] [--locked <boolean>] [-t <tags>] [-u <userdata> | --userdata-file <filepath>] [-c <customdata>] [-s <ipxe_script_url>] [--always-pxe=<true|false>] [flags]

Examples

# Updates the hostname of a device:
metal device update --id 30c15082-a06e-4c43-bfc3-252616b46eba --hostname renamed-staging04

Options

-a, --always-pxe               Updates the always_pxe toggle for the device (<true|false>).
-c, --customdata string Adds or updates custom data to be included with your device's metadata.
-d, --description string Adds or updates the description for the device.
-h, --help help for update
-H, --hostname string The new hostname of the device.
-i, --id string The UUID of the device.
-s, --ipxe-script-url string Add or update the URL of the iPXE script.
-l, --locked Locks or unlocks the device for future changes (<true|false>).
-t, --tags strings Adds or updates the tags for the device --tags="tag1,tag2".
-u, --userdata string Adds or updates the userdata for the device.
--userdata-file string Path to a userdata file for device initialization. Can not be used with --userdata.

Options inherited from parent commands

See Common Options.

metal event

Description

Events information for organizations, projects, devices, and the current user.

Options

-h, --help   help for event

Options inherited from parent commands

See Common Options.

metal event get

Description

Retrieves events for the current user, an organization, a project, a device, or the details of a specific event. The current user's events includes all events in all projects and devices that the user has access to. When using --json or --yaml flags, the --include=relationships flag is implied.

metal event get [-p <project_id>] | [-d <device_id>] | [-i <event_id>] | [-O <organization_id>] [flags]

Examples

# Retrieve all events of a current user:
metal event get

# Retrieve the details of a specific event:
metal event get -i e9a969b3-8911-4667-9d99-57cd3dd4ef6f

# Retrieve all the events of an organization:
metal event get -o c079178c-9557-48f2-9ce7-cfb927b81928

# Retrieve all events of a project:
metal event get -p 1867ee8f-6a11-470a-9505-952d6a324040

# Retrieve all events of a device:
metal event get -d ca614540-fbd4-4dbb-9689-457c6ccc8353

Options

-d, --device-id string         UUID of the device
-h, --help help for get
-i, --id string UUID of the event
-O, --organization-id string UUID of the organization
-p, --project-id string Project ID (METAL_PROJECT_ID)

Options inherited from parent commands

See Common Options.

metal facilities

Description

Information about specific facilities. Facility-level operations have mostly been replaced by Metros, but remains for backwards-compatibility. Documentation about facilities is available at /metal/locations/facilities/.

Options

-h, --help   help for facilities

Options inherited from parent commands

See Common Options.

metal facilities get

Description

Retrieves a list of facilities available to the current user.

metal facilities get [flags]

Examples

# Lists facilities for current user:
metal facilities get

Options

-h, --help   help for get

Options inherited from parent commands

See Common Options.

metal gateway

Description

A Metal Gateway provides a single IPv4 address as a gateway for a subnet. For more information, visit /metal/networking/metal-gateway/.

Options

-h, --help   help for gateway

Options inherited from parent commands

See Common Options.

metal gateway create

Description

Creates a Metal Gateway on the VLAN. Either an IP Reservation ID or a Private Subnet Size must be specified.

metal gateway create -p <project_UUID> --virtual-network <virtual_network_UUID> (--ip-reservation-id <ip_reservation_UUID> | --private-subnet-size <size>) [flags]

Examples

# Creates a Metal Gateway on the VLAN with a given IP Reservation ID:
metal gateway create -p $METAL_PROJECT_ID -v 77e6d57a-d7a4-4816-b451-cf9b043444e2 -r 50052f72-02b7-4b40-ac9d-253713e1e178

# Creates a Metal Gateway on the VLAN with a Private 10.x.x.x/28 subnet:
metal gateway create -p $METAL_PROJECT_ID --virtual-network 77e6d57a-d7a4-4816-b451-cf9b043444e2 --private-subnet-size 16

Options

-h, --help                        help for create
-r, --ip-reservation-id string UUID of the Public or VRF IP Reservation to assign.
-s, --private-subnet-size int32 Size of the private subnet to request (8 for /29)
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-v, --virtual-network string UUID of the Virtual Network to assign.

Options inherited from parent commands

See Common Options.

metal gateway create-bgp-dynamic-neighbors

Description

Creates the BGP Dynamic Neighbor for the metal gateway with the specified IP Range and ASN

metal gateway create-bgp-dynamic-neighbors [flags]

Examples

# Create a BGP Dynamic Neighbor using ip range and asn for the metal gateway id

metal gateways create-bgp-dynamic-neighbor --id "9c56fa1d-ec05-470b-a938-0e5dd6a1540c" --bgp-neighbor-range "10.70.43.226/29" --asn 65000

Options

--asn int                     ASN for the BGP Dynamic Neighbor IP range.
--bgp-neighbor-range string BGP Dynamic Neighbor IP Range from gateway.
-h, --help help for create-bgp-dynamic-neighbors
-i, --id string Metal Gateway ID for which the BGP Dynamic Neighbor to be created.

Options inherited from parent commands

See Common Options.

metal gateway delete

Description

Deletes the specified Gateway with a confirmation prompt. To skip the confirmation use --force.

metal gateway delete -i <metal_gateway_UUID> [-f] [flags]

Examples

# Deletes a Gateway, with confirmation.
metal gateway delete -i 77e6d57a-d7a4-4816-b451-cf9b043444e2
>
✔ Are you sure you want to delete Metal Gateway 77e6d57a-d7a4-4816-b451-cf9b043444e2 [Y/N]: y

# Deletes a Gateway, skipping confirmation.
metal gateway delete -f -i 77e6d57a-d7a4-4816-b451-cf9b043444e2

Options

-f, --force       Skips confirmation for the removal of the Metal Gateway.
-h, --help help for delete
-i, --id string UUID of the Gateway.

Options inherited from parent commands

See Common Options.

metal gateway delete-bgp-dynamic-neighbors

Description

Deletes the BGP Dynamic Neighbor for the metal gateway with the specified ID

metal gateway delete-bgp-dynamic-neighbors [flags]

Examples

# Deletes a BGP Dynamic Neighbor using the bgp dynamic neighbor ID

$ metal gateways delete-bgp-dynamic-neighbor --id "9c56fa1d-ec05-470b-a938-0e5dd6a1540c"

BGP Dynamic Neighbor deletion initiated. Please check 'metal gateway get-bgp-dynamic-neighbor -i 9c56fa1d-ec05-470b-a938-0e5dd6a1540c for status

Options

--bgp-neighbor-id string   UUID of BGP Dynamic Neighbor.
-h, --help help for delete-bgp-dynamic-neighbors

Options inherited from parent commands

See Common Options.

metal gateway get

Description

Retrieves a list of all VLANs for the specified project.

metal gateway get -p <project_UUID> [flags]

Examples


# Lists Metal Gateways for project 3b0795ba-ec9a-4a9e-83a7-043e7e11407c:
metal gateways get -p 3b0795ba-ec9a-4a9e-83a7-043e7e11407c

Options

-h, --help                help for get
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.

Options inherited from parent commands

See Common Options.

metal gateway get-bgp-dynamic-neighbors

Description

Gets the BGP Dynamic Neighbor with the specified ID

metal gateway get-bgp-dynamic-neighbors [flags]

Examples

# Gets a BGP Dynamic Neighbor using the bgp dynamic neighbor ID

$ metal gateways get-bgp-dynamic-neighbor --id "9c56fa1d-ec05-470b-a938-0e5dd6a1540c"

Options

--bgp-neighbor-id string   UUID of BGP Dynamic Neighbor ID.
-h, --help help for get-bgp-dynamic-neighbors

Options inherited from parent commands

See Common Options.

metal gateway list-bgp-dynamic-neighbors

Description

Lists the BGP Dynamic Neighbor for the metal gateway with the specified gateway ID

metal gateway list-bgp-dynamic-neighbors [flags]

Examples

# Lists BGP Dynamic Neighbor for the specified metal gateway ID

$ metal gateways list-bgp-dynamic-neighbor --id "9c56fa1d-ec05-470b-a938-0e5dd6a1540c"

Options

-h, --help        help for list-bgp-dynamic-neighbors
-i, --id string UUID of Metal Gateway.

Options inherited from parent commands

See Common Options.

metal hardware-reservation

Description

Information and operations on Hardware Reservations. Provisioning specific devices from a reservation can be performed with the metal device command. Documentation is available on /metal/deploy/reserved/.

Options

-h, --help   help for hardware-reservation

Options inherited from parent commands

See Common Options.

metal hardware-reservation get

Description

Lists a Project's hardware reservations or the details of a specified hardware reservation. When using --json or --yaml flags, the --include=project,facility,device flag is implied.

metal hardware-reservation get [-p <project_id>] | [-i <hardware_reservation_id>] [flags]

Examples

# Retrieve all hardware reservations of a project:
metal hardware-reservations get -p $METAL_PROJECT_ID

# Retrieve the details of a specific hardware reservation:
metal hardware-reservations get -i 8404b73c-d18f-4190-8c49-20bb17501f88

Options

-h, --help                help for get
-i, --id string The UUID of a hardware reservation.
-p, --project-id string A project's UUID.

Options inherited from parent commands

See Common Options.

metal hardware-reservation move

Description

Moves a hardware reservation to a specified project. Both the hardware reservation ID and the Project ID for the destination project are required.

metal hardware-reservation move -i <hardware_reservation_id> -p <project_id> [flags]

Examples

# Moves a hardware reservation to the specified Project:
metal hardware-reservation move -i 8404b73c-d18f-4190-8c49-20bb17501f88 -p 278bca90-f6b2-4659-b1a4-1bdffa0d80b7

Options

-h, --help                help for move
-i, --id string The UUID of the hardware reservation.
-p, --project-id string The Project ID of the Project you are moving the hardware reservation to.

Options inherited from parent commands

See Common Options.

metal interconnections

Description

Get information on Metro locations. For more information on /metal/interconnections.

Options

-h, --help   help for interconnections

Options inherited from parent commands

See Common Options.

metal interconnections create

Description

Creates a new interconnection as per the organization ID or project ID

metal interconnections create -n <name> [-m <metro>] [-r <redundancy> ] [-t <type> ] [-p <project_id> ] | [-O <organization_id> ] [flags]

Examples

# Creates a new interconnection named "it-interconnection":
metal interconnections create -n <name> [-m <metro>] [-r <redundancy>] [-t "dedicated" ] [-p <project_id>] | [-O <organization_id>]

metal interconnections create -n <name> [-m <metro>] [-r <redundancy>] [-t "shared" ] [-p <project_id>] | [-O <organization_id>] -T <service_token_type>

metal interconnections create -n <name> [-m <metro>] [-r <redundancy>] [-t "shared" ] [-p <project_id>] | [-O <organization_id>] -T <service_token_type> -v <vrfs>

Options

-h, --help                        help for create
-m, --metro string Metro Id or Metro Code from where the interconnection will be originated.
-n, --name string Name of the interconnection.
--organization-id string The Organization's UUID to be used for creating org level interconnection request. Either one of this flag or --project-id is required.
-p, --project-id string The project's UUID. Either one of this flag or --organization-id is required.
-r, --redundancy string Types of redundancy for the interconnection. Either 'primary' or 'redundant'.
-T, --service-token-type string Type of service token for shared connection. Enum: 'a_side', 'z_side'.
-s, --speed int32 The maximum speed of the interconnections. (default 1000000000)
-t, --type string Type of of interconnection. Either 'dedicated' or 'shared' when requesting for a Fabric VC.
--vlan int32Slice A list of VLANs to attach to the Interconnection. Ex: --vlans 1000, 1001 . (default [])
--vrf strings A list of VRFs to attach to the Interconnection. Ex: --vrfs uuid1, uuid2 .

Options inherited from parent commands

See Common Options.

metal interconnections delete

Description

Deletes the specified interconnection. Use --force to skip confirmation

metal interconnections delete -i <connection_id>  [flags]

Examples

# Deletes the specified interconnection:
metal interconnections delete -i 7ec86e23-8dcf-48ed-bd9b-c25c20958277
>
✔ Are you sure you want to delete device 7ec86e23-8dcf-48ed-bd9b-c25c20958277 [Y/n]: Y

Options

-f, --force       Skips confirmation for the interconnection deletion.
-h, --help help for delete
-i, --id string The UUID of the interconnection.

Options inherited from parent commands

See Common Options.

metal interconnections get

Description

Retrieves interconnections for the current user, an organization, a project or the details of a specific interconnection.

metal interconnections get [flags]

Examples

# Retrieve all interconnections of a current user::

# Retrieve the details of a specific interconnection:
metal interconnections get -i e9a969b3-8911-4667-9d99-57cd3dd4ef6f

# Retrieve all the interconnection of an organization:
metal interconnections get -O c079178c-9557-48f2-9ce7-cfb927b81928

# Retrieve all interconnection of a project:
metal interconnections get -p 1867ee8f-6a11-470a-9505-952d6a324040

Options

-i, --connID string           UUID of the interconnection
-h, --help help for get
-O, --organizationID string UUID of the organization
-p, --projectID string Project ID (METAL_PROJECT_ID)

Options inherited from parent commands

See Common Options.

metal interconnections update

Description

Updates a specified connection.

metal interconnections update -i <connection_id> [flags]

Examples

# Updates a specified connection.:
metal interconnections update --id 30c15082-a06e-4c43-bfc3-252616b46eba -n [<name>] -d [<description>] -r [<'redundant'|'primary'>]-m [<standard|tunnel>] -e [<E-mail>] --tags="tag1,tag2"

Options

-e, --contactEmail string   adds or updates the Email
-d, --description string Adds or updates the description for the interconnection.
-h, --help help for update
-i, --id string The UUID of the interconnection.
-m, --mode string Adds or updates the mode for the interconnection.
-n, --name string The new name of the interconnection.
-r, --redundancy string Updating from 'redundant' to 'primary' will remove a secondary port, while updating from 'primary' to 'redundant' will add one.
-t, --tags strings Adds or updates the tags for the connection --tags="tag1,tag2".

Options inherited from parent commands

See Common Options.

metal ip

Description

IP address and subnet operations, including requesting IPv4 and IPv6 addresses, assigning and removing IPs to servers, and getting information about subnets and their usage. For more information is available on /metal/networking/ip-addresses/.

Options

-h, --help   help for ip

Options inherited from parent commands

See Common Options.

metal ip assign

Description

Assigns an IP address and subnet to a specified device. Returns an assignment ID.

metal ip assign -a <IP_address> -d <device_UUID> [flags]

Examples

# Assigns an IP address to a server:
metal ip assign -d 060d1626-2481-475a-9789-c6f4bb927303 -a 198.51.100.3/31

Options

-a, --address string     IP address and CIDR you would like to assign.
-d, --device-id string The UUID of the device.
-h, --help help for assign

Options inherited from parent commands

See Common Options.

metal ip available

Description

Lists available IP addresses in a specified reservation for the desired subnet size.

metal ip available -r <reservation_UUID> -c <size_of_subnet> [flags]

Examples

# Lists available IP addresses in a reservation for a /31 subnet:
metal ip available --reservation-id da1bb048-ea6e-4911-8ab9-b95635ca127a --cidr 31

Options

-c, --cidr int                The size of the desired subnet in bits.
-h, --help help for available
-r, --reservation-id string The UUID of the IP address reservation.

Options inherited from parent commands

See Common Options.

metal ip get

Description

Retrieves information about the IP addresses in a project, the IP addresses that are in a specified assignment, or the IP addresses that are in a specified reservation.

metal ip get -p <project-id> | -a <assignment-id> | -r <reservation-id> [flags]

Examples

# Lists all IP addresses in a project:
metal ip get -p bb73aa19-c216-4ce2-a613-e5ca93732722

# Gets information about the IP addresses from an assignment ID:
metal ip get -a bb526d47-8536-483c-b436-116a5fb72235

# Gets the IP addresses from a reservation ID:
metal ip get -r da1bb048-ea6e-4911-8ab9-b95635ca127a

Options

-a, --assignment-id string    UUID of an IP address assignment. When you assign an IP address to a server, it gets an assignment UUID.
-h, --help help for get
-p, --project-id string A Project UUID (METAL_PROJECT_ID).
-r, --reservation-id string UUID of an IP address reservation.

Options inherited from parent commands

See Common Options.

metal ip remove

Description

Removes an IP address reservation from a project. Any subnets and IP addresses in the reservation will no longer be able to be used by your devices.

metal ip remove -i <reservation_UUID> [flags]

Examples

# Removes an IP address reservation:
metal ip remove --id a9dfc9d5-ba1a-4d11-8cfc-6e30b9630876

Options

-h, --help        help for remove
-i, --id string UUID of the reservation

Options inherited from parent commands

See Common Options.

metal ip request

Description

Requests either a block of public IPv4 addresses or global IPv4 addresses for your project in a specific metro or facility.

metal ip request -p <project-id> -t <ip_address_type> -q <quantity> (-m <metro> | -f <facility>) [-f <flags>] [-c <comments>] [flags]

Examples

# Requests a block of 4 public IPv4 addresses in Dallas:
metal ip request -p $METAL_PROJECT_ID -t public_ipv4 -q 4 -m da

metal ip request -v df18fbd8-2919-4104-a042-5d42a05b8eed -t vrf --cidr 24 -n 172.89.1.0 --tags foo --tags bar --customdata '{"my":"goodness"}' --details "i don't think VRF users need this or will see it after submitting the request"

Options

--cidr int            The size of the desired subnet in bits.
-c, --comments string General comments or description.
--customdata string customdata is to add to the reservation, in a comma-separated list.
--details string VRF IP Reservation's details
-f, --facility string Code of the facility where the IP Reservation will be created
-h, --help help for request
-m, --metro string Code of the metro where the IP Reservation will be created
-n, --network string The starting address for this VRF IP Reservation's subnet
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-q, --quantity int Number of IP addresses to reserve.
--tags strings Adds the tags for the IP Reservations --tags "tag1,tag2" OR --tags "tag1" --tags "tag2"
-t, --type string The type of IP Address, either public_ipv4 or global_ipv4.
-v, --vrf-id string Specify the VRF UUID.

Options inherited from parent commands

See Common Options.

metal ip unassign

Description

Unassigns an subnet and IP address assignment from a device by its assignment ID.

metal ip unassign -i <assignment_UUID>  [flags]

Examples

# Unassigns an IP address assignment:
metal ip unassign --id abd8674b-96c4-4271-92f5-2eaf5944c86f

Options

-h, --help        help for unassign
-i, --id string The UUID of the assignment.

Options inherited from parent commands

See Common Options.

metal metros

Description

Get information on Metro locations. For more information on /metal/locations/metros/.

Options

-h, --help   help for metros

Options inherited from parent commands

See Common Options.

metal metros get

Description

Retrieves a list of metros available to the current user.

metal metros get [flags]

Examples

# Lists metros available to the current user:	
metal metros get

Options

-h, --help   help for get

Options inherited from parent commands

See Common Options.

metal operating-systems

Description

Information on available operating systems. For more information on which operating systems Equinix Metal offers, visit /metal/operating-systems/supported/.

Options

-h, --help   help for operating-systems

Options inherited from parent commands

See Common Options.

metal operating-systems get

Description

Retrieves a list of operating systems available to the current user. Response includes the operating system's slug, distro, version, and name.

metal operating-systems get [flags]

Examples

# Lists the operating systems available to the current user:
metal operating-systems get

Options

-h, --help   help for get

Options inherited from parent commands

See Common Options.

metal organization

Description

Information and management of Organization-level settings. Documentation on organizations is in /metal/identity-access-management/organizations/.

Options

-h, --help   help for organization

Options inherited from parent commands

See Common Options.

metal organization create

Description

Creates a new organization with the current user as the organization's owner.

metal organization create -n <name> [-d <description>] [-w <website_URL>] [-t <twitter_URL>] [-l <logo_URL>] [flags]

Examples

# Creates a new organization named "it-backend-infra": 
metal organization create -n it-backend-infra

# Creates a new organization with name, website, and twitter:
metal organization create -n test-org -w www.metal.equinix.com -t https://twitter.com/equinixmetal

Options

-d, --description string   Description of the organization.
-h, --help help for create
-l, --logo string A Logo image URL.]
-n, --name string Name of the organization.
-t, --twitter string Twitter URL of the organization.
-w, --website string Website URL of the organization.

Options inherited from parent commands

See Common Options.

metal organization delete

Description

Deletes an organization. You can not delete an organization that contains projects or has outstanding charges. Only organization owners can delete an organization.

metal organization delete -i <organization_UUID> [flags]

Examples

# Deletes an organization, with confirmation: 
metal organization delete -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8
>
✔ Are you sure you want to delete organization 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 [Y/N]: y

# Deletes an organization, skipping confirmation:
metal organization delete -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 -f

Options

-f, --force                    Skips confirmation for the removal of the organization.
-h, --help help for delete
-i, --organization-id string The UUID of the organization.

Options inherited from parent commands

See Common Options.

metal organization get

Description

Retrieves a list of organizations or the details of the specified organization. Details of an organization are only available to its members.

metal organization get -i <organization_UUID> [flags]

Examples

# Retrieves list of the current user's organizations:
metal organization get

# Retrieves details of an organization:
metal organization get -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8

Options

-h, --help                     help for get
-i, --organization-id string The UUID of an organization.

Options inherited from parent commands

See Common Options.

metal organization payment-methods

Description

Retrieves a list of payment methods for the specified organization if the current user is a member with the proper role.

metal organization payment-methods -i <organization_UUID> [flags]

Examples

# Lists the payment methods for an organization:
metal organization payment-methods --id 3bd5bf07-6094-48ad-bd03-d94e8712fdc8

Options

-h, --help        help for payment-methods
-i, --id string The UUID of the organization.

Options inherited from parent commands

See Common Options.

metal organization update

Description

Updates the specified organization. You can update the name, website, Twitter, or logo.

metal organization update -i <organization_UUID> [-n <name>] [-d <description>] [-w <website_URL>] [-t <twitter_URL>] [-l <logo_URL>] [flags]

Examples

# Updates the name of an organization:
metal organization update -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 --name test-cluster02

Options

-d, --description string   User-friendly description of the organization.
-h, --help help for update
-i, --id string An organization UUID.
-l, --logo string A logo image URL for the organization.
-n, --name string New name for the organization.
-t, --twitter string A Twitter URL of the organization.
-w, --website string A website URL for the organization.

Options inherited from parent commands

See Common Options.

metal plan

Description

Information on server plans. For more information on the different Equinix Metal servers, visit /metal/hardware/standard-servers/.

Options

-h, --help   help for plan

Options inherited from parent commands

See Common Options.

metal plan get

Description

Retrieves a list of plans available to the current user. Response includes plan UUID, slug, and name.

metal plan get [flags]

Examples

# Lists the plans available to the current user:
metal plans get

Options

-h, --help   help for get

Options inherited from parent commands

See Common Options.

metal port

Description

Information and operations for converting ports between networking modes and managing VLAN assignments to ports. For more information on the different modes, ports, and VLANs, visit /metal/layer2-networking/overview/.

Options

-h, --help   help for port

Options inherited from parent commands

See Common Options.

metal port convert

Description

Converts a list of ports or the details of the specified port. Details of an port are only available to its members.

metal port convert -i <port_UUID> [--bonded] [--bulk] --layer2 [--force] [--public-ipv4] [--public-ipv6] [flags]

Examples

# Converts list of the current user's ports:
metal port convert -i <port_UUID> [--bonded] [--bulk] [--layer2] [--force] [--public-ipv4] [--public-ipv6]

# Converts port to layer-2 unbonded:
metal port convert -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 --layer2 --bonded=false

# Converts port to layer-2 bonded:
metal port convert -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 --layer2 --bonded

# Converts port to layer-3 bonded with public IPv4 and public IPv6:
metal port convert -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 -2=false -b -4 -6

Options

-b, --bonded           Convert to layer-2 bonded.
--bulk Affect both ports in a bond.
-f, --force Force conversion to layer-2 bonded.
-h, --help help for convert
-2, --layer2 Convert to layer-2 unbonded.
-i, --port-id string The UUID of a port.
-4, --public-ipv4 Convert to layer-2 bonded with public IPv4.
-6, --public-ipv6 Convert to layer-2 bonded with public IPv6.

Options inherited from parent commands

See Common Options.

metal port get

Description

Retrieves the details of the specified port. Details of an port are only available to its members.

metal port get -i <port_UUID> [flags]

Examples

# Retrieves details of a port:
metal port get -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8

Options

-h, --help             help for get
-i, --port-id string The UUID of a port.

Options inherited from parent commands

See Common Options.

metal port vlan

Description

Modifies the VLANs of the specified port to the desired state. Existing state can be restated without error.

metal port vlan -i <port_UUID> [--native <vlan>] [--unassign <vlan>]... [--assign <vlan>]... [flags]

Examples

# Assigns VLANs 1234 and 5678 to the port:
metal port vlans -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 -a 1234 -a 5678

# Unassigns VXLAN 1234 from the port:
metal port vlans -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 -u 1234

# Assigns VXLAN 1234 to the port and makes it the Native VLAN:
metal port vlans -i 3bd5bf07-6094-48ad-bd03-d94e8712fdc8 --native=1234

Options

-a, --assign strings     A VXLAN to assign to the port. May also be used to change a Native VLAN assignment to tagged (non-native).
-h, --help help for vlan
-n, --native string The VXLAN to make assign as the Native VLAN
-i, --port-id string The UUID of a port.
-u, --unassign strings A VXLAN to unassign from a port.

Options inherited from parent commands

See Common Options.

metal project

Description

Information and management for Projects and Project-level BGP. Documentation on Projects is on /metal/projects/creating-a-project/, and documentation on BGP is on /metal/bgp/bgp-on-equinix-metal/.

Options

-h, --help   help for project

Options inherited from parent commands

See Common Options.

metal project bgp-config

Description

Gets BGP Config for a project.

metal project bgp-config --project-id <project_UUID> [flags]

Examples

metal project bgp-config --project-id 50693ba9-e4e4-4d8a-9eb2-4840b11e9375 -d 

Options

-h, --help                help for bgp-config
-p, --project-id string Project ID (METAL_PROJECT_ID)

Options inherited from parent commands

See Common Options.

metal project bgp-enable

Description

Enables BGP on a project.

metal project bgp-enable --project-id <project_UUID> --deployment-type <deployment_type> [--asn <asn>] [--md5 <md5_secret>] [--use-case <use_case>] [flags]

Examples

metal project bgp-enable --project-id 50693ba9-e4e4-4d8a-9eb2-4840b11e9375 --deployment-type local --asn 65000

Options

--asn int                  Local ASN (default 65000)
--deployment-type string Deployment type (local, global)
-h, --help help for bgp-enable
--md5 string BGP Password
-p, --project-id string Project ID (METAL_PROJECT_ID)
--use-case string Use case for BGP

Options inherited from parent commands

See Common Options.

metal project bgp-sessions

Description

Gets BGP Sessions for a project.

metal project bgp-sessions --project-id <project_UUID> [flags]

Examples

metal project bgp-sessions --project-id 50693ba9-e4e4-4d8a-9eb2-4840b11e9375

Options

-h, --help                help for bgp-sessions
-p, --project-id string Project ID (METAL_PROJECT_ID)

Options inherited from parent commands

See Common Options.

metal project create

Description

Creates a project with the specified name. If no organization is specified, the project is created in the current user's default organization. If no payment method is specified the organization's default payment method is used.

metal project create -n <project_name> [-O <organization_UUID>] [-m <payment_method_UUID>] [flags]

Examples

# Creates a new project named dev-cluster02: 
metal project create --name dev-cluster02

# Creates a new project named dev-cluster03 in the specified organization with a payment method:
metal project create -n dev-cluster03 -O 814b09ca-0d0c-4656-9de0-4ce65c6faf70 -m ab1fbdaa-8b25-4c3e-8360-e283852e3747

Options

-h, --help                       help for create
-n, --name string Name of the project
-O, --organization-id string The UUID of the organization.
-m, --payment-method-id string The UUID of the payment method.

Options inherited from parent commands

See Common Options.

metal project delete

Description

Deletes the specified project with a confirmation prompt. To skip the confirmation use --force. You can't delete a project that has active resources. You have to deprovision all servers and other infrastructure from a project in order to delete it.

metal project delete --id <project_UUID> [--force] [flags]

Examples

# Deletes project 50693ba9-e4e4-4d8a-9eb2-4840b11e9375:
metal project delete -i 50693ba9-e4e4-4d8a-9eb2-4840b11e9375
>
✔ Are you sure you want to delete project 50693ba9-e4e4-4d8a-9eb2-4840b11e9375 [Y/N]: y

# Deletes project 50693ba9-e4e4-4d8a-9eb2-4840b11e9375, skipping confirmation:
metal project delete -i 50693ba9-e4e4-4d8a-9eb2-4840b11e9375 -f

Options

-f, --force       Force removal of the project
-h, --help help for delete
-i, --id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.

Options inherited from parent commands

See Common Options.

metal project get

Description

Retrieves all the current user's projects or the details of a specified project. You can specify which project by UUID or name. When using --json or --yaml flags, the --include=members flag is implied.

metal project get [-i <project_UUID> | -n <project_name>] [flags]

Examples

# Retrieve all projects:
metal project get

# Retrieve a specific project by UUID:
metal project get -i 2008f885-1aac-406b-8d99-e6963fd21333

# Retrieve a specific project by name:
metal project get -n dev-cluster03

Options

-h, --help             help for get
-i, --id string The project's UUID, which can be specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-n, --project string The name of the project.

Options inherited from parent commands

See Common Options.

metal project update

Description

Updates the specified project with a new name, a new payment method, or both.

metal project update -i <project_UUID> [-n <name>] [-m <payment_method_UUID>] [flags]

Examples

# Updates the specified project with a new name:
metal project update -i $METAL_PROJECT_ID -n new-prod-cluster05

# Updates the specified project with a new payment method:
metal project update -i $METAL_PROJECT_ID -m e2fcdf91-b6dc-4d6a-97ad-b26a14b66839

Options

-h, --help                       help for update
-i, --id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-n, --name string The new name for the project.
-m, --payment-method-id string The UUID of the new payment method.

Options inherited from parent commands

See Common Options.

metal ssh-key

Description

SSH key operations for managing SSH keys on user accounts and projects. Keys added to an account or project are added to servers at provision. Documentation is available on /metal/identity-access-management/ssh-keys/.

Options

-h, --help   help for ssh-key

Options inherited from parent commands

See Common Options.

metal ssh-key create

Description

Adds an SSH key for the current user's account. The key will then be added to the user's servers at provision time.

metal ssh-key create --key <public_key> --label <label> [flags]

Examples

# Adds a key labled "example-key" to the current user account.
metal ssh-key create --key ssh-rsa AAAAB3N...user@domain.com --label example-key

Options

-h, --help           help for create
-k, --key string User's full SSH public key string.
-l, --label string Name or other user-friendly description of the SSH key.

Options inherited from parent commands

See Common Options.

metal ssh-key delete

Description

Deletes an SSH key with a confirmation prompt. To skip the confirmation use --force. Does not remove the SSH key from existing servers.

metal ssh-key delete --id <SSH-key_UUID> [--force] [flags]

Examples

# Deletes an SSH key, with confirmation:
metal ssh-key delete -i 5cb96463-88fd-4d68-94ba-2c9505ff265e
>
✔ Are you sure you want to delete SSH Key 5cb96463-88fd-4d68-94ba-2c9505ff265e [Y/N]: y

# Deletes an SSH key, skipping confirmation:
metal ssh-key delete -i 5cb96463-88fd-4d68-94ba-2c9505ff265e -f

Options

-f, --force       Skips confirmation for the deletion of the SSH key.
-h, --help help for delete
-i, --id string The UUID of the SSH key.

Options inherited from parent commands

See Common Options.

metal ssh-key get

Description

Retrieves a list of SSH keys associated with the current user's account or the details of single SSH key.

metal ssh-key get [-i <SSH-key_UUID>] [-P] [-p <project_id>] [flags]

Examples

# Retrieves the SSH keys of the current user: 
metal ssh-key get

# Returns the details of SSH key 5cb96463-88fd-4d68-94ba-2c9505ff265e:
metal ssh-key get --id 5cb96463-88fd-4d68-94ba-2c9505ff265e

# Retrieve all project SSH keys
metal ssh-key get --project-ssh-keys --project-id [project_UUID]

Options

-h, --help                help for get
-i, --id string The UUID of an SSH key.
-p, --project-id string List SSH Keys for the project identified by Project ID (ignored without -P)
-P, --project-ssh-keys List SSH Keys for projects

Options inherited from parent commands

See Common Options.

metal ssh-key update

Description

Updates an SSH key with either a new public key, a new label, or both.

metal ssh-key update -i <SSH-key_UUID> [-k <public_key>] [-l <label>] [flags]

Examples

# Updates SSH key 5cb96463-88fd-4d68-94ba-2c9505ff265e with a new public key: 
metal ssh-key update -i 5cb96463-88fd-4d68-94ba-2c9505ff265e -k AAAAB3N...user@domain.com

# Updates SSH key 5cb96463-88fd-4d68-94ba-2c9505ff265e with a new label:
metal ssh-key update -i 5cb96463-88fd-4d68-94ba-2c9505ff265e -l test-machine-2

Options

-h, --help           help for update
-i, --id string UUID of the SSH key
-k, --key string Public SSH key string
-l, --label string Name of the SSH key

Options inherited from parent commands

See Common Options.

metal user

Description

Adding users or getting their details. For more information on user and account management, visit /metal/identity-access-management/users/ in the Equinix Metal documentation.

Options

-h, --help   help for user

Options inherited from parent commands

See Common Options.

metal user add

Description

Adds a user, by email, to the organization or project specified by the --organization-id or --project-id flag. The user will be assigned the roles specified by the --roles flag.

metal user add --email <email> --roles <roles> [--organization-id <organization_id>] [--project-id <project_id>] [flags]

Examples

# Adds a user to a project with admin role:
metal user add --email user@example.org --roles admin --project-id 3b0795ba-fd0b-4a9e-83a7-063e5e12409d

Options

--email string             Email of the user.
-h, --help help for add
--organization-id string Organization to invite the user to.
-p, --project-id strings Projects to invite the user to with the specified roles.
--roles strings Roles to assign to the user.

Options inherited from parent commands

See Common Options.

metal user get

Description

Returns either information about the current user or information about a specified user. Specified user information is only available if that user shares a project with the current user.

metal user get [-i <user_UUID>] [flags]

Examples

# Retrieves the current user's information:
metal user get

# Returns information on user 3b0795ba-fd0b-4a9e-83a7-063e5e12409d:
metal user get --i 3b0795ba-fd0b-4a9e-83a7-063e5e12409d

Options

-h, --help        help for get
-i, --id string UUID of the user.

Options inherited from parent commands

See Common Options.

metal virtual-circuit

Description

For more information on /metal/interconnections.

Options

-h, --help   help for virtual-circuit

Options inherited from parent commands

See Common Options.

metal virtual-circuit create

Description

Creates an create-virtual-circuit for specific interconnection

metal virtual-circuit create  [-c connection_id] [-p port_id] [-P <project_id> ] -n <name> [-d <description>] [--vnid <vnid> ] [-V <vlan> ] [-s <speed> ] [-t <tags> ] [flags]

Examples

# Creates a new virtual-circuit named "interconnection": 
metal vc create [-c connection_id] [-p port_id] [-P <project_id> ] [-n <name>] [-d <description>] [--vnid <vnid> ] [-V <vlan> ] [-s <speed> ] [-t <tags> ]

metal vc create -c 81c9cb9e-b02f-4c73-9e04-06702f1380a0 -p 9c8f0c71-591d-42fe-9519-2f632761e2da -P b4673e33-0f48-4948-961a-c31d6edf64f8 -n test-inter -d test-interconnection -v 15315810-2fda-48b8-b8cd-441ebab684b5 -V 1010 -s 100

metal vc create [-c connection_id] [-p port_id] [-P <project_id> ] [-n <name>] [-d <description>] [-v <vrf-id>] [-M <md5sum>] [-a <peer-asn>] [-S <subnet>] [-c <customer_ip>] [-m <metal_ip>]

Options

-c, --connection-id string   Specify the UUID of the interconnection.
--customer-ip string An IP address from the subnet that will be used on the Customer side
-d, --description string Description for a Virtual Circuit
-h, --help help for create
-M, --md5 string The plaintext BGP peering password shared by neighbors as an MD5 checksum
-m, --metal-ip string An IP address from the subnet that will be used on the Metal side.
-n, --name string Name of the Virtual Circuit
-a, --peer-asn int The peer ASN that will be used with the VRF on the Virtual Circuit.
-p, --port-id string Specify the UUID of the port.
-P, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-s, --speed int bps speed or string (e.g. 52 - '52m' or '100g' or '4 gbps')
-S, --subnet string The /30 or /31 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit.
-t, --tags strings Adds the tags for the virtual-circuit --tags "tag1,tag2" OR --tags "tag1" --tags "tag2"
-V, --vlan int Adds or updates vlan Must be between 2 and 4094
--vnid string Specify the UUID of the VLAN.
-v, --vrf-id string The UUID of the VRF that will be associated with the Virtual Circuit.

Options inherited from parent commands

See Common Options.

metal virtual-circuit delete

Description

Deletes the specified virtual-circuit.

metal virtual-circuit delete -i <virtual-circuit_id>  [flags]

Examples

# Deletes the specified virtual-circuit:
metal vc delete -i 7ec86e23-8dcf-48ed-bd9b-c25c20958277

Options

-h, --help        help for delete
-i, --id string Specify the UUID of the virtual-circuit.

Options inherited from parent commands

See Common Options.

metal virtual-circuit get

Description

Retrieves virtual circuit for a specific circuit Id.

metal virtual-circuit get -i <id> [flags]

Examples

# Retrieve virtual circuit for a specific circuit::

# Retrieve the details of a specific virtual-circuit:
metal vc get -i e9a969b3-8911-4667-9d99-57cd3dd4ef6f

Options

-h, --help        help for get
-i, --id string Specify UUID of the virtual-circuit

Options inherited from parent commands

See Common Options.

metal virtual-circuit update

Description

Updates a specified virtualcircuit etiher of vlanID OR vrfID

metal virtual-circuit update -i <id> [-v <vlan UUID>] [-d <description>] [-n <name>] [-s <speed>] [-t <tags>] [flags]

Examples

# Updates a specified virtualcircuit etiher of vlanID OR vrfID:

metal vc update [-i <id>] [-n <name>] [-d <description>] [-v <vnid> ] [-s <speed> ] [-t <tags> ]

metal vc update -i e2edb90b-a8ef-47cb-a577-63b0ba129c29 -d "test-inter-fri-dedicated"

metal vc update [-i <id>] [-n <name>] [-d <description>] [-M <md5sum>] [-a <peer-asn>] [-S <subnet>] [-c <customer-ip>] [-m <metal-ip>] [-t <tags> ]

Options

-c, --customer-ip string   An IP address from the subnet that will be used on the Customer side
-d, --description string Description for a Virtual Circuit
-h, --help help for update
-i, --id string Specify the UUID of the virtual-circuit.
-M, --md5 string The plaintext BGP peering password shared by neighbors as an MD5 checksum
-m, --metal-ip string An IP address from the subnet that will be used on the Metal side.
-n, --name string Name of the Virtual Circuit
-a, --peer-asn int The peer ASN that will be used with the VRF on the Virtual Circuit.
-s, --speed string Adds or updates Speed can be changed only if it is an interconnection on a Dedicated Port
-S, --subnet string The /30 or /31 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit.
-t, --tags strings updates the tags for the virtual circuit --tags "tag1,tag2" OR --tags "tag1" --tags "tag2" (NOTE: --tags "" will remove all tags from the virtual circuit
-v, --vnid string A Virtual Network record UUID or the VNID of a Metro Virtual Network in your project.

Options inherited from parent commands

See Common Options.

metal virtual-network

Description

Managing Virtual Networks on a Project. VLAN assignments to a server's ports is available through the ports command. For more information on how VLANs work in Equinix Metal, visit /metal/layer2-networking/vlans/.

Options

-h, --help   help for virtual-network

Options inherited from parent commands

See Common Options.

metal virtual-network create

Description

Creates a VLAN in the specified project. If you are creating a VLAN in a metro, you can optionally specify the VXLAN ID otherwise it is auto-assigned. If you are creating a VLAN in a facility, the VXLAN ID is auto-assigned.

metal virtual-network create -p <project_UUID>  [-m <metro_code> -vxlan <vlan> | -f <facility_code>] [-d <description>] [flags]

Examples

# Creates a VLAN with vxlan ID 1999 in the Dallas metro:
metal virtual-network create -p $METAL_PROJECT_ID -m da --vxlan 1999

# Creates a VLAN in the sjc1 facility
metal virtual-network create -p $METAL_PROJECT_ID -f sjc1

Options

-d, --description string   A user-friendly description of the virtual network.
-f, --facility string Code of the facility.
-h, --help help for create
-m, --metro string Code of the metro.
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
--vxlan int Optional VXLAN ID. Must be between 2 and 3999 and can only be used with --metro.

Options inherited from parent commands

See Common Options.

metal virtual-network delete

Description

Deletes the specified VLAN with a confirmation prompt. To skip the confirmation use --force. You are not able to delete a VLAN that is attached to any ports.

metal virtual-network delete -i <virtual_network_UUID> [-f] [flags]

Examples

# Deletes a VLAN, with confirmation.
metal virtual-network delete -i 77e6d57a-d7a4-4816-b451-cf9b043444e2
>
✔ Are you sure you want to delete virtual network 77e6d57a-d7a4-4816-b451-cf9b043444e2 [Y/N]: y

# Deletes a VLAN, skipping confirmation.
metal virtual-network delete -f -i 77e6d57a-d7a4-4816-b451-cf9b043444e2

Options

-f, --force       Skips confirmation for the removal of the virtual network.
-h, --help help for delete
-i, --id string UUID of the VLAN.

Options inherited from parent commands

See Common Options.

metal virtual-network get

Description

Retrieves a list of all VLANs for the specified project.

metal virtual-network get -p <project_UUID> [flags]

Examples

# Lists virtual networks for project 3b0795ba-ec9a-4a9e-83a7-043e7e11407c:
metal virtual-network get -p 3b0795ba-ec9a-4a9e-83a7-043e7e11407c

Options

-h, --help                help for get
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.

Options inherited from parent commands

See Common Options.

metal vrf

Description

VRF operations : It defines a collection of customer-managed IP blocks that can be used in BGP peering on one or more virtual networks and basic operations

Options

-h, --help   help for vrf

Options inherited from parent commands

See Common Options.

metal vrf create

Description

Creates a Creates a Virtual Routing and Forwarding(VRF) for a specified project.

metal vrf create [-p <project_id] [-d <description>] [-m <metro>] [-n <name>] [-a <localASN>] [-r <IPranges>] [-t <tags> ] [flags]

Examples

# Creates an Creates a Virtual Routing and Forwarding(VRF) for a specified project.

metal vrf create [-p <project_id] [-d <description>] [-m <metro>] [-n <name>] [-a <localASN>] [-r <ipranges>] [-t <tags> ]

Options

-d, --description string   Description of the Virtual Routing and Forwarding.
-h, --help help for create
-r, --ipranges strings A list of CIDR network addresses. Like [10.0.0.0/16, 2001:d78::/56]. IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between /56 and /64.
-a, --local-asn int Local ASN for the VRF
-m, --metro string The UUID (or metro code) for the Metro in which to create this Virtual Routing and Forwarding
-n, --name string Name of the Virtual Routing and Forwarding
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-t, --tags strings Adds the tags for the virtual-circuit --tags "tag1,tag2" OR --tags "tag1" --tags "tag2"

Options inherited from parent commands

See Common Options.

metal vrf create-route

Description

Create a route in a VRF. Currently only static default routes are supported.

metal vrf create-route [-i <VrfId>] [-p <Prefix>] [-n NextHop] [-t <tags> ] [flags]

Examples

# Create a route in a VRF. Currently only static default routes are supported.

metal vrf create-route [-i <VrfID>] [-p <prefix>] [-n nextHop] [-t <tags> ]

Options

-h, --help             help for create-route
-i, --id string Specify the VRF UUID activate route configurations
-n, --nextHop string The IPv4 address within the VRF of the host that will handle this route
-p, --prefix string The IPv4 prefix for the route, in CIDR-style notation. For a static default route, this will always be '0.0.0.0/0'
-t, --tags strings Adds the tags for the connection --tags="tag1,tag2".

Options inherited from parent commands

See Common Options.

metal vrf delete

Description

Deletes the specified VRF with a confirmation prompt. To skip the confirmation, use --force.

metal vrf delete vrf -i <metal_vrf_UUID> [-f] [flags]

Examples

# Deletes a VRF, with confirmation.
metal delete vrf -i 77e6d57a-d7a4-4816-b451-cf9b043444e2
>
✔ Are you sure you want to delete device 7ec86e23-8dcf-48ed-bd9b-c25c20958277 [Y/N]: y

# Deletes a VRF, skipping confirmation.
metal delete vrf -f -i 77e6d57a-d7a4-4816-b451-cf9b043444e2

Options

-f, --force       Skips confirmation for the removal of the VRF.
-h, --help help for delete
-i, --id string Specify the UUID of the VRF

Options inherited from parent commands

See Common Options.

metal vrf delete-route

Description

Delete a VRF Route

metal vrf delete-route [-i <VrfRoute-Id>] [flags]

Examples

# Delete a VRF Route
metal vrf delete-route -i 77e6d57a-d7a4-4816-b451-cf9b043444e2
>
✔ Are you sure you want to delete device 7ec86e23-8dcf-48ed-bd9b-c25c20958277 [Y/N]: y

# Deletes a VRF, skipping confirmation.
metal vrf delete-route -f -i 77e6d57a-d7a4-4816-b451-cf9b043444e2

Options

-f, --force       Skips confirmation for the removal of the VRF routes.
-h, --help help for delete-route
-i, --id string Specify the VRF UUID to delete the associated route configurations.

Options inherited from parent commands

See Common Options.

metal vrf get

Description

Retrieves a list of all VRFs for the specified project or the details of the specified VRF ID. Either a project ID or a VRF ID is required.

metal vrf get -p <project_Id>  [flags]

Examples

# Gets the details of the specified device
metal vrf get -v 3b0795ba-ec9a-4a9e-83a7-043e7e11407c

# Lists VRFs for project 3b0795ba-ec9a-4a9e-83a7-043e7e11407c:
metal vrf list -p 3b0795ba-ec9a-4a9e-83a7-043e7e11407c

Options

-h, --help                help for get
-m, --metro string Filter by Metro ID (uuid) or Metro Code
-p, --project-id string The project's UUID. This flag is required, unless specified in the config created by metal init or set as METAL_PROJECT_ID environment variable.
-v, --vrf-id string Specify the VRF UUID.

Options inherited from parent commands

See Common Options.

metal vrf get-route

Description

Retrieve all routes in the VRF

metal vrf get-route [-i <VrfRoute-Id>] [flags]

Examples

# Retrieve all routes in the VRF
metal vrf get-route -i bb526d47-8536-483c-b436-116a5fb72235

Options

-h, --help        help for get-route
-i, --id string Specify the VRF UUID to list its associated routes configurations

Options inherited from parent commands

See Common Options.

metal vrf ips

Description

Retrieves the list of VRF IP Reservations for the VRF.

metal vrf ips [-v <vrf-id] [-i <ip-id>] [flags]

Examples

# Retrieves the list of VRF IP Reservations for the VRF.
metal vrf ips [-v <vrf-id]

# Retrieve a specific IP Reservation for a VRF
metal vrf ips [-v <vrf-id] [-i <ip-id>]

Options

-h, --help            help for ips
-i, --id string Specify the IP UUID to retrieve the details of a VRF IP reservation.
-v, --vrf-id string Specify the VRF UUID to list its associated IP reservations.

Options inherited from parent commands

See Common Options.

metal vrf update-route

Description

Requests a VRF Route be redeployed/update across the network.

metal vrf update-route [-i <VrfRoute-Id>] [-p <Prefix>] [-n NextHop] [-t <tags> ] [flags]

Examples

# Requests a VRF Route be redeployed/update across the network.
metal vrf update-route [-i <VrfID>] [-p <prefix>] [-n nextHop] [-t <tags> ]

Options

-h, --help             help for update-route
-i, --id string Specify the VRF UUID to update the associated route configurations.
-n, --nextHop string Name of the Virtual Routing and Forwarding
-p, --prefix string The IPv4 prefix for the route, in CIDR-style notation. For a static default route, this will always be '0.0.0.0/0'
-t, --tags strings updates the tags for the Virtual Routing and Forwarding --tags "tag1,tag2" OR --tags "tag1" --tags "tag2" (NOTE: --tags "" will remove all tags from the Virtual Routing and Forwarding

Options inherited from parent commands

See Common Options.