> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloud.red/llms.txt
> Use this file to discover all available pages before exploring further.

# devicegroups

> Manage and interact with BIG-IP device groups (HA pairs).

Device groups are typically HA pairs — an active device and a standby. `crcli devicegroups` commands target the **active device by default** unless you specify `--standby` or `--all`.

All commands accept a device group **name or UUID**.

## `devicegroups list`

List all device groups for your tenant.

```shell theme={null}
crcli devicegroups list
```

## `devicegroups get`

Show details for a single device group.

```shell theme={null}
crcli devicegroups get <group>
```

## `devicegroups devices`

List member devices of a device group.

```shell theme={null}
crcli devicegroups devices <group>
```

## `devicegroups ssh`

Open an SSH session to a device group's active device.

```shell theme={null}
# Connect to active device
crcli devicegroups ssh <group>

# Connect to standby device
crcli devicegroups ssh <group> --standby

# Connect to both active and standby simultaneously
crcli devicegroups ssh <group> --all

# Run a command on the active device
crcli devicegroups ssh <group> -c "tmsh show sys version"

# Run a command on the standby device
crcli devicegroups ssh <group> -c "tmsh show sys version" --standby

# Run a script across multiple groups simultaneously
crcli devicegroups ssh <group1> <group2> <group3> -S ./check.sh

# Group output per device (no interleaving)
crcli devicegroups ssh <group1> <group2> -S ./check.sh --group

# Save each device's output to a file
crcli devicegroups ssh <group> -S ./audit.sh --output-dir ./results/
```

**Flags:**

| Flag            | Short | Description                                           |
| --------------- | ----- | ----------------------------------------------------- |
| `--standby`     | `-s`  | Connect to the standby device instead of active       |
| `--all`         | `-a`  | Connect to both active and standby simultaneously     |
| `--command`     | `-c`  | Run a command string                                  |
| `--script`      | `-S`  | Execute a local script file                           |
| `--interpreter` | `-i`  | Interpreter for script execution (default: `bash`)    |
| `--group`       | `-g`  | Buffer output per device instead of interleaving      |
| `--output-dir`  |       | Save each device's output to a file in this directory |

## `devicegroups web`

Open the BIG-IP TMUI web console in your browser for the active device.

```shell theme={null}
crcli devicegroups web <group>

# Standby device
crcli devicegroups web <group> --standby

# Print URL instead of opening browser
crcli devicegroups web <group> -n
```

## `devicegroups push`

Upload files to every device in a group simultaneously.

```shell theme={null}
crcli devicegroups push <group> ./bigip.conf

# Push to multiple groups at once
crcli devicegroups push <group1> <group2> ./bigip.conf

# Specify remote destination
crcli devicegroups push <group> ./bigip.conf:/config/bigip.conf
```

## `devicegroups pull`

Download a file from every device in a group. Files are saved as `<hostname>_<filename>` so they don't overwrite each other.

```shell theme={null}
crcli devicegroups pull <group> /config/bigip.conf

# Save to a specific directory
crcli devicegroups pull <group> /config/bigip.conf -o ./configs/

# Pull multiple files
crcli devicegroups pull <group> /config/bigip.conf /config/bigip_base.conf -o ./configs/
```

**Flags:**

| Flag       | Short | Description                                       |
| ---------- | ----- | ------------------------------------------------- |
| `--output` | `-o`  | Directory to save downloaded files (default: `.`) |

## Global Flags

| Flag             | Short | Description                              |
| ---------------- | ----- | ---------------------------------------- |
| `--env`          | `-e`  | Environment: `prod` (default), `staging` |
| `--output`       | `-O`  | Output format: `table`, `json`, `yaml`   |
| `--debug`        | `-d`  | Print HTTP request/response details      |
| `--no-telemetry` |       | Disable usage analytics                  |
