Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 44 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,55 +224,69 @@ elastic es update --index my-index --id abc123

Run `elastic es <command> --help` for all available options on any command.

### `cloud` - Elastic Cloud (hosted)
### `cloud` - Elastic Cloud

Manage Elastic Cloud hosted deployments.
Manage Elastic Cloud: Hosted deployments and Serverless projects.
Requires a `cloud` service block in the active context.

#### `cloud deployments`
The tree has three kinds of children:

- Cross-cutting namespaces as direct children of `cloud` (APIs that apply to
both Hosted and Serverless).
- `cloud hosted …` for Hosted-Deployment APIs.
- `cloud serverless …` for Serverless-Project APIs.

#### Cross-cutting (account, auth, orgs, roles)

```bash
elastic cloud deployments list-deployments
elastic cloud deployments get-deployment --id <id>
elastic cloud deployments shutdown-deployment --id <id>
elastic cloud deployments create-deployment <<< '{"name":"my-deployment",...}'
elastic cloud accounts get-current-account
elastic cloud authentication get-api-keys
elastic cloud organizations list-organizations
elastic cloud organizations get-organization --organization-id <id>
elastic cloud user-role-assignments add-role-assignments --user-id <id> <<< '{...}'
```

Run `elastic cloud --help` for all available namespace groups (accounts,
billing-costs-analysis, deployment-templates, extensions, organizations, etc.).
#### `cloud hosted` - Hosted Deployments

### `serverless` - Elastic Serverless
```bash
elastic cloud hosted deployments list-deployments
elastic cloud hosted deployments get-deployment --id <id>
elastic cloud hosted deployments shutdown-deployment --id <id>
elastic cloud hosted deployments create-deployment <<< '{"name":"my-deployment",...}'
elastic cloud hosted deployment-templates list-deployment-templates
elastic cloud hosted extensions list-extensions
elastic cloud hosted stack get-version-stacks
```

Manage Elastic Serverless projects and resources.
Requires a `cloud` service block in the active context.
Run `elastic cloud hosted --help` for all available namespace groups
(billing-costs-analysis, deployment-templates, deployments, deployments-traffic-filter,
extensions, stack, trusted-environments).

#### `serverless es projects` - Elasticsearch projects
#### `cloud serverless` - Serverless Projects

```bash
elastic serverless es projects list
elastic serverless es projects create <<< '{"name":"demo","region_id":"aws-us-east-1"}'
elastic serverless es projects create --wait <<< '{"name":"demo","region_id":"aws-us-east-1"}'
elastic serverless es projects get --id <id>
elastic serverless es projects delete --id <id>
elastic serverless es projects get-status --id <id>
elastic serverless es projects get-roles --id <id>
elastic serverless es projects reset-credentials --id <id>
elastic cloud serverless es projects list
elastic cloud serverless es projects create <<< '{"name":"demo","region_id":"aws-us-east-1"}'
elastic cloud serverless es projects create --wait <<< '{"name":"demo","region_id":"aws-us-east-1"}'
elastic cloud serverless es projects get --id <id>
elastic cloud serverless es projects delete --id <id>
elastic cloud serverless es projects get-status --id <id>
elastic cloud serverless es projects get-roles --id <id>
elastic cloud serverless es projects reset-credentials --id <id>
```

#### `serverless observability projects` / `serverless security projects`

Same commands as `es projects` but for Observability and Security project types:
Same commands are available under `observability` and `security`:

```bash
elastic serverless observability projects list
elastic serverless security projects create --wait <<< '{"name":"demo","region_id":"aws-us-east-1"}'
elastic cloud serverless observability projects list
elastic cloud serverless security projects create --wait <<< '{"name":"demo","region_id":"aws-us-east-1"}'
```

#### Other serverless resources
Other serverless resources:

```bash
elastic serverless regions list-regions
elastic serverless traffic-filters list-traffic-filters
elastic cloud serverless regions list-regions
elastic cloud serverless traffic-filters list-traffic-filters
```

Run `elastic serverless --help` for all available groups.
Run `elastic cloud serverless --help` for all available groups.
9 changes: 1 addition & 8 deletions src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,7 @@ if (firstArg === 'cloud') {
const { registerCloudCommands } = await import('./cloud/register.ts')
program.addCommand(registerCloudCommands())
} else {
program.addCommand(defineGroup({ name: 'cloud', description: 'Manage Elastic Cloud deployments' }))
}

if (firstArg === 'serverless') {
const { registerServerlessCommands } = await import('./cloud/register.ts')
program.addCommand(registerServerlessCommands())
} else {
program.addCommand(defineGroup({ name: 'serverless', description: 'Manage Elastic Serverless projects and resources' }))
program.addCommand(defineGroup({ name: 'cloud', description: 'Manage Elastic Cloud (hosted deployments and serverless projects)' }))
}

if (firstArg === 'docs') {
Expand Down
Loading