# omniarc arc

Generated from the code · as of CLI 0.6.0

Your organization's arcs: create, inspect, branch and destroy them.

These commands use your API key (`OMNIARC_KEY`). You never name a machine: OmniArc places each arc for you.

```text
omniarc arc [OPTIONS] <COMMAND>
```

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc list`

Every arc this organization owns.

```text
omniarc arc list [OPTIONS]
```

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc show`

One arc: its branches, their sizes, and which are awake.

```text
omniarc arc show [OPTIONS] <NAME>
```

Arguments:

- `<NAME>`: The arc's name.

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc usage`

What this arc has used, this UTC calendar month to date.

The window is fixed; no flag changes it. It prices nothing, only the raw figures: `omniarc costs` prices them.

```text
omniarc arc usage [OPTIONS] <NAME>
```

Arguments:

- `<NAME>`: The arc's name.

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc create`

Create an arc by name. Placement chooses the node; you never name one. Deploy it with `omniarc deploy` from its project directory.

```text
omniarc arc create [OPTIONS] <NAME>
```

Arguments:

- `<NAME>`: The name for the new arc.

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc destroy`

Destroy an arc, its branches, and their data. Irreversible, and it does not ask for confirmation.

```text
omniarc arc destroy [OPTIONS] <NAME>
```

Arguments:

- `<NAME>`: The arc to destroy.

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc branch`

Create, inspect, sleep, wake and destroy a branch of one of your arcs.

```text
omniarc arc branch [OPTIONS] <COMMAND>
```

Options:

- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc branch create`

Branch `parent` (an arc's production branch, or any branch of it) into a new one called `name`.

Prints the branch's public URL, when it has one. The URL takes a few minutes to start serving: `--wait-url` waits for it.

```text
omniarc arc branch create [OPTIONS] <ARC> <PARENT> <NAME>
```

Arguments:

- `<ARC>`: The arc the branches belong to.
- `<PARENT>`: The branch to copy: `production`, or any other branch of the arc.
- `<NAME>`: The new branch's name.

Options:

- `--wait-url`: Poll every 3 seconds, for up to 3 minutes, until the URL serves. Exits non-zero, with the reason, if it fails or does not come up.
- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc branch url`

A branch's public URL, whether it serves yet, and its custom domains.

```text
omniarc arc branch url [OPTIONS] <ARC> <NAME>
```

Arguments:

- `<ARC>`: The arc the branch belongs to.
- `<NAME>`: The branch's name.

Options:

- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc branch destroy`

Destroy one branch. Irreversible, and it does not ask for confirmation.

```text
omniarc arc branch destroy [OPTIONS] <ARC> <NAME>
```

Arguments:

- `<ARC>`: The arc the branch belongs to.
- `<NAME>`: The branch to destroy.

Options:

- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc branch sleep`

Stop a branch's services, keeping its data.

```text
omniarc arc branch sleep [OPTIONS] <ARC> <NAME>
```

Arguments:

- `<ARC>`: The arc the branch belongs to.
- `<NAME>`: The branch to stop.

Options:

- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc branch wake`

Start a branch's services again.

```text
omniarc arc branch wake [OPTIONS] <ARC> <NAME>
```

Arguments:

- `<ARC>`: The arc the branch belongs to.
- `<NAME>`: The branch to start.

Options:

- `--json`: Print machine-readable JSON instead of a table.

## `omniarc arc domain`

Domains you own, bound to a branch beside its public URL.

```text
omniarc arc domain [OPTIONS] <COMMAND>
```

Options:

- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc domain add`

Bind a domain you own to a branch. Prints the DNS records to create at your DNS provider; the certificate follows once they exist. Needs the owner role.

```text
omniarc arc domain add [OPTIONS] <ARC> <BRANCH> <DOMAIN>
```

Arguments:

- `<ARC>`: The arc the branch belongs to.
- `<BRANCH>`: The branch to bind the domain to.
- `<DOMAIN>`: The domain you own, for example `app.example.com`.

Options:

- `--json`: Print machine-readable JSON instead of a table.

### `omniarc arc domain remove`

Unbind a domain from a branch. Needs the owner role.

```text
omniarc arc domain remove [OPTIONS] <ARC> <BRANCH> <DOMAIN>
```

Arguments:

- `<ARC>`: The arc the branch belongs to.
- `<BRANCH>`: The branch to unbind the domain from.
- `<DOMAIN>`: The domain to unbind.

Options:

- `--json`: Print machine-readable JSON instead of a table.
