--- layout: docs page_title: 'Commands: node pool apply' description: | The node pool apply command is used to create or update a node pool. --- # Command: node pool apply The `node pool apply` command is used to create or update a node pool. ## Usage ```plaintext nomad node pool apply [options] ``` Apply is used to create or update a node pool. The specification file is read from stdin by specifying `-`, otherwise a path to the file is expected. If ACLs are enabled, this command requires a token with the `write` capability in a `node_pool` policy that matches the node pool being targeted. In federated clusters, the node pool will be created in the authoritative region and will be replicated to all federated regions. ## General Options @include 'general_options_no_namespace.mdx' ## Apply Options - `-json`: Parse the input as a JSON node pool specification. ## Examples Create a node pool from a file: ```hcl # prod_pool.nomad.hcl node_pool "prod" { description = "Node pool for production workloads." meta { env = "prod" } # Available only in Nomad Enterprise. scheduler_config { scheduler_algorithm = "spread" } } ``` ```shell-session $ nomad node pool apply prod_pool.nomad.hcl Successfully applied node pool "prod"! ``` Create a node pool from stdin: ```shell-session $ cat prod_pool.nomad.hcl | nomad node pool apply - Successfully applied node pool "prod"! ``` ```shell-session $ cat <