# openstack budget create

> Create a budget with alert thresholds.

## Usage

```sh
openstack budget create \
    --amount <amount> \
    --period {daily,monthly,quarterly,yearly,custom} \
    [--start <time>] \
    [--end <time>] \
    [--currency <currency>] \
    [--enable] \
    [--disable] \
    [--service {compute,volume,image}] ... \
    [--region <region>] ... \
    [--usage-type <usage-type>] ... \
    --threshold name=<name>,value=<value>[,basis=..][,unit=..][,...] ... \
    [--project <project>] \
    [--project-domain <project-domain>] \
    <name>
```

## Arguments

* `<name>`

* `--amount <amount>` *(required)*

  Amount per window.

* `--period <period>` *(required)*

  Calendar periods reset in UTC; custom is one fixed window set by --start and --end.

  One of: `daily`, `monthly`, `quarterly`, `yearly`, `custom`.

* `--start <time>`

  Start of a custom period (inclusive).

* `--end <time>`

  End of a custom period (exclusive).

* `--currency <currency>`

  Defaults to, and must be, the currency your costs are reported in.

* `--enable`

* `--disable`

  A disabled budget is not checked and sends no alerts.

* `--service <service>` *(repeatable)*

  Service to count (repeatable; default every one).

  One of: `compute`, `volume`, `image`.

* `--region <region>` *(repeatable)*

  Region to count (repeatable; default every one).

* `--usage-type <usage-type>` *(repeatable)*

  Usage type to count (repeatable; default every one).

* `--threshold name=<name>,value=<value>[,basis=..][,unit=..][,...]` *(required, repeatable)*

  An alert rule (repeat for more, up to 10). Keys: name, value, basis (actual|forecasted, default actual), unit (percentage|absolute, default percentage), comparison (greater_than|greater_than_or_equal|less_than|less_than_or_equal, default greater_than_or_equal), channel (a notification channel name or ID; repeatable), message, enabled (true|false).

* `--project <project>`

  Owning project (name or ID; defaults to your own).

* `--project-domain <project-domain>`

  Domain the project belongs to (name or ID). This can be used in case collisions between project names exist.

## Output

This command also takes the common output options, such as `-f json` and `-c <column>`. See [Set up the CLI](/developer/cli).
