├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── BUG_REPORT.md │ ├── FEATURE_REQUEST.md │ ├── GENERIC_QUESTION.md │ └── RELEASE_CHECKLIST.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── branch.yml │ ├── docs-build.yml │ ├── docs-cleanup.yml │ ├── go.yml │ └── release.yml ├── .gitignore ├── .golangci.yml ├── .goreleaser.yml ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── build ├── Makefile.build ├── Makefile.deps ├── Makefile.dev ├── Makefile.version └── NOTICE.tmpl ├── catalog-info.yml ├── cmd ├── auth │ ├── command.go │ └── key │ │ ├── command.go │ │ ├── create.go │ │ ├── delete.go │ │ ├── list.go │ │ └── show.go ├── commands.go ├── comment │ ├── command.go │ ├── create.go │ ├── create_test.go │ ├── delete.go │ ├── delete_test.go │ ├── list.go │ ├── list_test.go │ ├── show.go │ ├── show_test.go │ ├── update.go │ └── update_test.go ├── debug.go ├── debug_test.go ├── deployment │ ├── command.go │ ├── create.go │ ├── create_help.go │ ├── create_test.go │ ├── delete.go │ ├── elasticsearch │ │ ├── command.go │ │ └── keystore │ │ │ ├── command.go │ │ │ ├── show.go │ │ │ ├── show_test.go │ │ │ ├── testdata │ │ │ ├── show.json │ │ │ └── update.json │ │ │ ├── update.go │ │ │ └── update_test.go │ ├── extension │ │ ├── command.go │ │ ├── create.go │ │ ├── create_test.go │ │ ├── delete.go │ │ ├── delete_test.go │ │ ├── list.go │ │ ├── list_test.go │ │ ├── show.go │ │ ├── show_test.go │ │ ├── testdata │ │ │ ├── create.json │ │ │ ├── extension.zip │ │ │ ├── list.json │ │ │ ├── show-dep.json │ │ │ ├── show.json │ │ │ ├── update-payload.json │ │ │ └── update.json │ │ ├── update.go │ │ └── update_test.go │ ├── list.go │ ├── plan │ │ ├── cancel.go │ │ └── command.go │ ├── resource │ │ ├── command.go │ │ ├── delete.go │ │ ├── restore.go │ │ ├── shutdown.go │ │ ├── shutdown_help.go │ │ ├── start-maintenance.go │ │ ├── start.go │ │ ├── stop-maintenance.go │ │ ├── stop.go │ │ ├── upgrade.go │ │ └── upgrade_help.go │ ├── restore.go │ ├── resync.go │ ├── search.go │ ├── search_test.go │ ├── show.go │ ├── show_test.go │ ├── shutdown.go │ ├── template │ │ ├── command.go │ │ ├── create.go │ │ ├── create_test.go │ │ ├── delete.go │ │ ├── delete_test.go │ │ ├── list.go │ │ ├── list_test.go │ │ ├── show.go │ │ ├── show_test.go │ │ ├── testdata │ │ │ ├── create.json │ │ │ ├── list.json │ │ │ ├── show.json │ │ │ └── update.json │ │ ├── update.go │ │ └── update_test.go │ ├── testdata │ │ ├── create-aws.json │ │ ├── create-azure.json │ │ ├── search_query.json │ │ ├── search_query_no_sort.json │ │ ├── show-resource.json │ │ ├── show.json │ │ ├── show_apm.json │ │ ├── template-aws-io-optimized-v2.json │ │ └── want_generate-payload.json │ ├── trafficfilter │ │ ├── association │ │ │ ├── command.go │ │ │ ├── create.go │ │ │ ├── create_test.go │ │ │ ├── delete.go │ │ │ └── delete_test.go │ │ ├── command.go │ │ ├── create.go │ │ ├── create_test.go │ │ ├── delete.go │ │ ├── delete_test.go │ │ ├── list.go │ │ ├── list_test.go │ │ ├── show.go │ │ ├── show_test.go │ │ ├── testdata │ │ │ ├── create.json │ │ │ ├── list-assoc.json │ │ │ ├── list-region.json │ │ │ ├── list.json │ │ │ ├── show-assoc.json │ │ │ ├── show.json │ │ │ ├── update-payload.json │ │ │ └── update.json │ │ ├── update.go │ │ └── update_test.go │ ├── update.go │ └── update_help.go ├── generate.go ├── init.go ├── platform │ ├── allocator │ │ ├── command.go │ │ ├── list.go │ │ ├── maintenance.go │ │ ├── metadata │ │ │ └── command.go │ │ ├── search.go │ │ ├── show.go │ │ ├── vacate.go │ │ └── vacate_test.go │ ├── command.go │ ├── constructor │ ├── enrollment-token │ │ ├── command.go │ │ ├── create.go │ │ ├── delete.go │ │ └── list.go │ ├── info.go │ ├── instance-configuration │ │ ├── command.go │ │ ├── create.go │ │ ├── delete.go │ │ ├── list.go │ │ ├── pull.go │ │ ├── show.go │ │ └── update.go │ ├── proxy │ │ ├── command.go │ │ ├── filteredgroup │ │ │ ├── command.go │ │ │ ├── create.go │ │ │ ├── delete.go │ │ │ ├── list.go │ │ │ ├── show.go │ │ │ └── update.go │ │ ├── list.go │ │ ├── settings │ │ │ ├── command.go │ │ │ ├── show.go │ │ │ ├── show_test.go │ │ │ ├── testfiles │ │ │ │ ├── not-a-json-file.txt │ │ │ │ ├── settings-invalid.json │ │ │ │ ├── settings-patch.json │ │ │ │ └── settings.json │ │ │ ├── update.go │ │ │ └── update_test.go │ │ └── show.go │ ├── repository │ │ ├── command.go │ │ ├── create.go │ │ ├── delete.go │ │ ├── list.go │ │ └── show.go │ ├── role │ │ ├── command.go │ │ ├── create.go │ │ ├── delete.go │ │ ├── list.go │ │ ├── show.go │ │ ├── testdata │ │ │ ├── update-request.json │ │ │ └── update-response.json │ │ ├── update.go │ │ └── update_test.go │ └── runner │ │ ├── command.go │ │ ├── list.go │ │ ├── resync.go │ │ ├── search.go │ │ └── show.go ├── root.go ├── root_test.go ├── stack │ ├── command.go │ ├── delete.go │ ├── list.go │ ├── show.go │ └── upload.go ├── user │ ├── command.go │ ├── create.go │ ├── delete.go │ ├── disable.go │ ├── enable.go │ ├── key │ │ ├── command.go │ │ ├── delete.go │ │ ├── list.go │ │ └── show.go │ ├── list.go │ ├── show.go │ ├── show_test.go │ └── update.go ├── util │ ├── confirm.go │ ├── confirm_test.go │ ├── flag.go │ ├── flag_message.go │ ├── flag_test.go │ ├── help_text.go │ ├── help_text_test.go │ ├── passowrd_test.go │ ├── password.go │ ├── region.go │ ├── testutils │ │ ├── cmd.go │ │ ├── testutils.go │ │ └── testutils_test.go │ ├── track.go │ ├── track_params.go │ ├── track_params_test.go │ └── track_test.go └── version.go ├── developer_docs ├── NEW_COMMAND.md ├── RELEASE.md ├── STYLEGUIDE.md └── docs-rebuild.png ├── docs ├── docset.yml └── reference │ ├── _snippets │ └── inherited-options.md │ ├── ecctl-authentication.md │ ├── ecctl-command-reference.md │ ├── ecctl-configuring.md │ ├── ecctl-contributing.md │ ├── ecctl-custom-formatting.md │ ├── ecctl-environment-variables.md │ ├── ecctl-example-create-deployment.md │ ├── ecctl-example-delete-deployment.md │ ├── ecctl-example-list-deployments.md │ ├── ecctl-example-shared-configuration-file.md │ ├── ecctl-example-update-deployment.md │ ├── ecctl-examples.md │ ├── ecctl-installing.md │ ├── ecctl-multiple-configuration-files.md │ ├── ecctl-output-format.md │ ├── ecctl-release-notes.md │ ├── ecctl.md │ ├── ecctl_auth.md │ ├── ecctl_auth_key.md │ ├── ecctl_auth_key_create.md │ ├── ecctl_auth_key_delete.md │ ├── ecctl_auth_key_list.md │ ├── ecctl_auth_key_show.md │ ├── ecctl_comment.md │ ├── ecctl_comment_create.md │ ├── ecctl_comment_delete.md │ ├── ecctl_comment_list.md │ ├── ecctl_comment_show.md │ ├── ecctl_comment_update.md │ ├── ecctl_deployment.md │ ├── ecctl_deployment_create.md │ ├── ecctl_deployment_delete.md │ ├── ecctl_deployment_elasticsearch.md │ ├── ecctl_deployment_elasticsearch_keystore.md │ ├── ecctl_deployment_elasticsearch_keystore_show.md │ ├── ecctl_deployment_elasticsearch_keystore_update.md │ ├── ecctl_deployment_extension.md │ ├── ecctl_deployment_extension_create.md │ ├── ecctl_deployment_extension_delete.md │ ├── ecctl_deployment_extension_list.md │ ├── ecctl_deployment_extension_show.md │ ├── ecctl_deployment_extension_update.md │ ├── ecctl_deployment_list.md │ ├── ecctl_deployment_plan.md │ ├── ecctl_deployment_plan_cancel.md │ ├── ecctl_deployment_resource.md │ ├── ecctl_deployment_resource_delete.md │ ├── ecctl_deployment_resource_restore.md │ ├── ecctl_deployment_resource_shutdown.md │ ├── ecctl_deployment_resource_start-maintenance.md │ ├── ecctl_deployment_resource_start.md │ ├── ecctl_deployment_resource_stop-maintenance.md │ ├── ecctl_deployment_resource_stop.md │ ├── ecctl_deployment_resource_upgrade.md │ ├── ecctl_deployment_restore.md │ ├── ecctl_deployment_resync.md │ ├── ecctl_deployment_search.md │ ├── ecctl_deployment_show.md │ ├── ecctl_deployment_shutdown.md │ ├── ecctl_deployment_template.md │ ├── ecctl_deployment_template_create.md │ ├── ecctl_deployment_template_delete.md │ ├── ecctl_deployment_template_list.md │ ├── ecctl_deployment_template_show.md │ ├── ecctl_deployment_template_update.md │ ├── ecctl_deployment_traffic-filter.md │ ├── ecctl_deployment_traffic-filter_association.md │ ├── ecctl_deployment_traffic-filter_association_create.md │ ├── ecctl_deployment_traffic-filter_association_delete.md │ ├── ecctl_deployment_traffic-filter_create.md │ ├── ecctl_deployment_traffic-filter_delete.md │ ├── ecctl_deployment_traffic-filter_list.md │ ├── ecctl_deployment_traffic-filter_show.md │ ├── ecctl_deployment_traffic-filter_update.md │ ├── ecctl_deployment_update.md │ ├── ecctl_generate.md │ ├── ecctl_generate_completions.md │ ├── ecctl_generate_docs.md │ ├── ecctl_init.md │ ├── ecctl_platform.md │ ├── ecctl_platform_allocator.md │ ├── ecctl_platform_allocator_list.md │ ├── ecctl_platform_allocator_maintenance.md │ ├── ecctl_platform_allocator_metadata.md │ ├── ecctl_platform_allocator_metadata_delete.md │ ├── ecctl_platform_allocator_metadata_set.md │ ├── ecctl_platform_allocator_metadata_show.md │ ├── ecctl_platform_allocator_search.md │ ├── ecctl_platform_allocator_show.md │ ├── ecctl_platform_allocator_vacate.md │ ├── ecctl_platform_constructor.md │ ├── ecctl_platform_constructor_list.md │ ├── ecctl_platform_constructor_maintenance.md │ ├── ecctl_platform_constructor_resync.md │ ├── ecctl_platform_constructor_show.md │ ├── ecctl_platform_enrollment-token.md │ ├── ecctl_platform_enrollment-token_create.md │ ├── ecctl_platform_enrollment-token_delete.md │ ├── ecctl_platform_enrollment-token_list.md │ ├── ecctl_platform_info.md │ ├── ecctl_platform_instance-configuration.md │ ├── ecctl_platform_instance-configuration_create.md │ ├── ecctl_platform_instance-configuration_delete.md │ ├── ecctl_platform_instance-configuration_list.md │ ├── ecctl_platform_instance-configuration_pull.md │ ├── ecctl_platform_instance-configuration_show.md │ ├── ecctl_platform_instance-configuration_update.md │ ├── ecctl_platform_proxy.md │ ├── ecctl_platform_proxy_filtered-group.md │ ├── ecctl_platform_proxy_filtered-group_create.md │ ├── ecctl_platform_proxy_filtered-group_delete.md │ ├── ecctl_platform_proxy_filtered-group_list.md │ ├── ecctl_platform_proxy_filtered-group_show.md │ ├── ecctl_platform_proxy_filtered-group_update.md │ ├── ecctl_platform_proxy_list.md │ ├── ecctl_platform_proxy_settings.md │ ├── ecctl_platform_proxy_settings_show.md │ ├── ecctl_platform_proxy_settings_update.md │ ├── ecctl_platform_proxy_show.md │ ├── ecctl_platform_repository.md │ ├── ecctl_platform_repository_create.md │ ├── ecctl_platform_repository_delete.md │ ├── ecctl_platform_repository_list.md │ ├── ecctl_platform_repository_show.md │ ├── ecctl_platform_role.md │ ├── ecctl_platform_role_create.md │ ├── ecctl_platform_role_delete.md │ ├── ecctl_platform_role_list.md │ ├── ecctl_platform_role_show.md │ ├── ecctl_platform_role_update.md │ ├── ecctl_platform_runner.md │ ├── ecctl_platform_runner_list.md │ ├── ecctl_platform_runner_resync.md │ ├── ecctl_platform_runner_search.md │ ├── ecctl_platform_runner_show.md │ ├── ecctl_stack.md │ ├── ecctl_stack_delete.md │ ├── ecctl_stack_list.md │ ├── ecctl_stack_show.md │ ├── ecctl_stack_upload.md │ ├── ecctl_user.md │ ├── ecctl_user_create.md │ ├── ecctl_user_delete.md │ ├── ecctl_user_disable.md │ ├── ecctl_user_enable.md │ ├── ecctl_user_key.md │ ├── ecctl_user_key_delete.md │ ├── ecctl_user_key_list.md │ ├── ecctl_user_key_show.md │ ├── ecctl_user_list.md │ ├── ecctl_user_show.md │ ├── ecctl_user_update.md │ ├── ecctl_version.md │ ├── index.md │ └── toc.yml ├── ecctl.png ├── go.mod ├── go.sum ├── main.go ├── notes ├── EXAMPLE.md ├── v1.0.0-beta1.md ├── v1.0.0-beta2.md ├── v1.0.0-beta3.md ├── v1.0.0.md ├── v1.1.0.md ├── v1.10.0.md ├── v1.11.0.md ├── v1.12.0.md ├── v1.13.0.md ├── v1.14.0.md ├── v1.14.1.md ├── v1.14.2.md ├── v1.14.3.md ├── v1.2.0.md ├── v1.3.0.md ├── v1.4.0.md ├── v1.5.0.md ├── v1.6.0.md ├── v1.7.0.md ├── v1.8.0.md └── v1.9.0.md ├── pkg ├── ecctl │ ├── app.go │ ├── app_test.go │ ├── config.go │ ├── config_test.go │ ├── error.go │ ├── init.go │ ├── init_test.go │ ├── operation.go │ ├── operation_test.go │ ├── read_secret.go │ ├── singleton.go │ ├── test_files │ │ ├── apikey.yaml.orig │ │ ├── apikeymodif.yaml.orig │ │ ├── hostconfig.yaml.orig │ │ ├── userpass.yaml.orig │ │ └── userpassmodif.yaml.orig │ ├── version.go │ └── version_test.go ├── formatter │ ├── formatter.go │ ├── formatter_test.go │ ├── json.go │ ├── json_test.go │ ├── templates │ │ ├── bindata.go │ │ └── text │ │ │ ├── allocator │ │ │ ├── list.gotmpl │ │ │ ├── listmetadata.gotmpl │ │ │ ├── show.gotmpl │ │ │ └── showmetadata.gotmpl │ │ │ ├── comment │ │ │ ├── create.gotmpl │ │ │ ├── list.gotmpl │ │ │ └── show.gotmpl │ │ │ ├── deployment-template │ │ │ └── list.gotmpl │ │ │ ├── deployment │ │ │ ├── eskeystore_show.gotmpl │ │ │ ├── list.gotmpl │ │ │ ├── notelist.gotmpl │ │ │ └── search.gotmpl │ │ │ ├── filtered-group │ │ │ └── list.gotmpl │ │ │ ├── id.gotmpl │ │ │ ├── instance-configuration │ │ │ ├── create.gotmpl │ │ │ └── list.gotmpl │ │ │ ├── legacy-deployment-template │ │ │ └── list.gotmpl │ │ │ ├── metadata │ │ │ └── show.gotmpl │ │ │ ├── platform │ │ │ └── repositorylist.gotmpl │ │ │ ├── proxy │ │ │ └── list.gotmpl │ │ │ ├── roles │ │ │ └── list.gotmpl │ │ │ ├── runner │ │ │ └── list.gotmpl │ │ │ ├── stack │ │ │ └── list.gotmpl │ │ │ ├── token │ │ │ ├── create.gotmpl │ │ │ └── list.gotmpl │ │ │ └── user │ │ │ ├── key-details.gotmpl │ │ │ ├── keys-details.gotmpl │ │ │ ├── list.gotmpl │ │ │ └── user-details.gotmpl │ ├── text.go │ ├── text_template_utils.go │ ├── text_template_utils_test.go │ └── text_test.go └── util │ ├── doc.go │ ├── helper.go │ ├── input.go │ ├── kebabcase.go │ ├── kebabcase_test.go │ ├── numbers.go │ ├── numbers_test.go │ ├── random.go │ ├── response.go │ ├── string.go │ ├── string_test.go │ ├── testing.go │ ├── testing_test.go │ ├── time.go │ ├── time_test.go │ ├── track.go │ ├── track_test.go │ └── type.go ├── renovate.json └── scripts ├── Makefile.help ├── changelog.tpl.adoc ├── changelog.tpl.md ├── generate-changelog.sh ├── generate-docs.sh ├── goreleaser-post-actions.sh ├── helpers.sh ├── hooks └── pre-commit ├── uname_arch.sh └── update-brew-tap.sh /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # These owners will be the default owners for everything in 2 | # the repository. 3 | * @elastic/control-plane-hosted-applications 4 | docs/ @alaudazzi @elastic/control-plane-hosted-applications 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ## Description 12 | 13 | 14 | 15 | ## Your Environment 16 | 17 | 18 | * Version used: 19 | * Environment name and version (e.g. Go 1.9): 20 | * Server type and version: 21 | * Operating System and version: 22 | * Link to your project: 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/GENERIC_QUESTION.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Generic Question 3 | about: Not a Bug Report or a Feature Request? Ask a question. 4 | 5 | --- 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ## Question 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/RELEASE_CHECKLIST.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Release Checklist 3 | about: Items to be completed in every release. 4 | 5 | --- 6 | 7 | ## Version to be released 8 | 9 | 10 | 11 | ## Checklist 12 | 13 | The following actions must be performed in the order specified here. 14 | For detailed instructions on all of the steps, read the release [documentation](https://github.com/elastic/ecctl/blob/master/developer_docs/RELEASE.md). 15 | 16 | - [ ] Update the cloud-sdk-go dependency. 17 | - [ ] Check that the `VERSION` environment variable in the Makefile is updated and generate changelog. 18 | - [ ] Execute the release. 19 | - [ ] Modify the conf.yaml file in the docs repository to add the release branch. 20 | - [ ] Run a full doc rebuild. 21 | - [ ] Alert marketing team to update downloads website with new links. 22 | - [ ] Celebrate :tada: 23 | -------------------------------------------------------------------------------- /.github/workflows/docs-build.yml: -------------------------------------------------------------------------------- 1 | name: docs-build 2 | 3 | on: 4 | workflow_dispatch: ~ 5 | push: 6 | branches: 7 | - master 8 | pull_request_target: ~ 9 | merge_group: ~ 10 | 11 | jobs: 12 | docs-preview: 13 | uses: elastic/docs-builder/.github/workflows/preview-build.yml@main 14 | with: 15 | path-pattern: docs/** 16 | permissions: 17 | deployments: write 18 | id-token: write 19 | contents: read 20 | pull-requests: read 21 | -------------------------------------------------------------------------------- /.github/workflows/docs-cleanup.yml: -------------------------------------------------------------------------------- 1 | name: docs-cleanup 2 | 3 | on: 4 | pull_request_target: 5 | types: 6 | - closed 7 | 8 | jobs: 9 | docs-preview: 10 | uses: elastic/docs-builder/.github/workflows/preview-cleanup.yml@main 11 | permissions: 12 | contents: none 13 | id-token: write 14 | deployments: write 15 | -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- 1 | name: Go 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | name: Build 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Set up Go 11 | uses: actions/setup-go@v5 12 | with: 13 | go-version: "1.23" 14 | id: go 15 | 16 | - name: Check out code into the Go module directory 17 | uses: actions/checkout@v4 18 | 19 | - name: Cache Go Modules 20 | uses: actions/cache@v4 21 | with: 22 | path: ~/go/pkg/mod 23 | key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} 24 | restore-keys: | 25 | ${{ runner.os }}-go- 26 | 27 | - name: Get dependencies 28 | run: make vendor 29 | id: modules 30 | 31 | - name: Linters 32 | run: make lint 33 | id: lint 34 | 35 | - name: Check that docs are up to date 36 | run: make docs 37 | id: docs 38 | 39 | - name: Run unit tests 40 | run: make unit 41 | id: unit 42 | 43 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | vendor 3 | dist 4 | reports 5 | .idea/ 6 | html_docs/ 7 | ecctl.iml -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | export VERSION ?= v1.14.3 3 | export GO111MODULE ?= on 4 | export GOBIN = $(shell pwd)/bin 5 | BINARY := ecctl 6 | 7 | include scripts/Makefile.help 8 | .DEFAULT_GOAL := help 9 | 10 | include build/Makefile.build 11 | include build/Makefile.dev 12 | include build/Makefile.deps 13 | include build/Makefile.version 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Elastic Cloud Control 2 | 3 | ![ecctl logo](ecctl.png) 4 | 5 | `ecctl` is the CLI for the [Elastic Cloud](https://www.elastic.co/docs/api/doc/cloud/) and [Elastic Cloud Enterprise](https://www.elastic.co/docs/api/doc/cloud-enterprise/) APIs. It wraps typical operations commonly needed by operators within a single command line tool. 6 | 7 | The goal of this project is to provide an easier way to interact with the Elastic Cloud and Elastic Cloud Enterprise APIs, ensuring each one of the provided commands is thoroughly tested. 8 | 9 | To get started with Elastic Cloud Control, see the [official documentation](https://www.elastic.co/guide/en/ecctl/current/index.html). 10 | 11 | _NOTE: While it's possible to create and manage deployments through ecctl, the [Elastic Cloud Terraform provider](https://github.com/elastic/terraform-provider-ec) provides a better interface._ 12 | 13 | ## Contributing 14 | 15 | If you are interested in becoming a part of this project, take a look at our [contribution guidelines](./CONTRIBUTING.md). 16 | -------------------------------------------------------------------------------- /build/Makefile.version: -------------------------------------------------------------------------------- 1 | ### Manage repository versions 2 | 3 | ## Bump the major version for ecctl. 4 | major: $(GOBIN)/versionbump 5 | @ $(GOBIN)/versionbump -c major Makefile 6 | 7 | ## Bump the minor o feature version for ecctl. 8 | minor: $(GOBIN)/versionbump 9 | @ $(GOBIN)/versionbump -c minor Makefile 10 | 11 | ## Bump the patch o bugfix version for ecctl. 12 | patch: $(GOBIN)/versionbump 13 | @ $(GOBIN)/versionbump -c patch Makefile 14 | -------------------------------------------------------------------------------- /build/NOTICE.tmpl: -------------------------------------------------------------------------------- 1 | {{- define "depInfo" -}} 2 | {{- range $i, $dep := . }} 3 | Dependency : {{ $dep.Name }} 4 | Version: {{ $dep.Version }} 5 | Licence type (autodetected): {{ $dep.LicenceType }} 6 | 7 | {{ $dep | licenceText }} 8 | 9 | {{ "-" | line }} 10 | {{ end }} 11 | {{- end -}} 12 | 13 | ecctl 14 | Copyright 2019-{{ currentYear }} Elasticsearch B.V. 15 | 16 | This product includes software developed at Elasticsearch B.V. and 17 | third-party software developed by the licenses listed below. 18 | 19 | {{ "=" | line }} 20 | Third party libraries used by the Elastic ecctl project: 21 | {{ "=" | line }} 22 | {{ template "depInfo" .Direct }} 23 | 24 | {{ if .Indirect }} 25 | {{ "=" | line }} 26 | Indirect dependencies 27 | {{ "=" | line }} 28 | {{ template "depInfo" .Indirect -}} 29 | {{- end}} -------------------------------------------------------------------------------- /catalog-info.yml: -------------------------------------------------------------------------------- 1 | # This entity represents the ECCTL, a library. 2 | --- 3 | apiVersion: backstage.io/v1alpha1 4 | kind: Component 5 | metadata: 6 | name: ecctl 7 | description: The CLI for the Elasticsearch Service and Elastic Cloud Enterprise APIs. It wraps typical operations commonly needed by operators within a single command line tool. 8 | 9 | annotations: 10 | backstage.io/source-location: url:https://github.com/elastic/ecctl 11 | github.com/project-slug: elastic/ecctl 12 | github.com/team-slug: elastic/control-plane-hosted-applications 13 | # buildkite.com/project-slug: elastic/pipeline-slug-here 14 | 15 | tags: 16 | - ess 17 | - library 18 | - go 19 | 20 | links: 21 | - title: Documentation 22 | url: https://www.elastic.co/guide/en/ecctl/current/index.html 23 | 24 | spec: 25 | type: service 26 | owner: group:control-plane-hosted-applications 27 | lifecycle: production -------------------------------------------------------------------------------- /cmd/auth/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdauth 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdauthkey "github.com/elastic/ecctl/cmd/auth/key" 24 | ) 25 | 26 | // Command is the auth subcommand 27 | var Command = &cobra.Command{ 28 | Use: "auth", 29 | Short: "Manages authentication settings", 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | 36 | func init() { 37 | Command.AddCommand( 38 | cmdauthkey.Command, 39 | ) 40 | } 41 | -------------------------------------------------------------------------------- /cmd/auth/key/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdauthkey 19 | 20 | import "github.com/spf13/cobra" 21 | 22 | // Command is the auth key subcommand 23 | var Command = &cobra.Command{ 24 | Use: "key", 25 | Short: "Manages the current authenticated user API keys", 26 | PreRunE: cobra.MaximumNArgs(0), 27 | Run: func(cmd *cobra.Command, args []string) { 28 | cmd.Help() 29 | }, 30 | } 31 | 32 | func init() { 33 | Command.AddCommand( 34 | createCmd, 35 | showCmd, 36 | listCmd, 37 | deleteCmd, 38 | ) 39 | } 40 | -------------------------------------------------------------------------------- /cmd/comment/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdcomment 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command is the top level comment command. 27 | var Command = &cobra.Command{ 28 | Use: "comment", 29 | Short: cmdutil.AdminReqDescription("Manages resource comments"), 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /cmd/deployment/elasticsearch/keystore/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdeskeystore 19 | 20 | import "github.com/spf13/cobra" 21 | 22 | // Command is the deployment subcommand 23 | var Command = &cobra.Command{ 24 | Use: "keystore", 25 | Short: "Manages Elasticsearch resource keystores", 26 | PreRunE: cobra.NoArgs, 27 | Run: func(cmd *cobra.Command, args []string) { 28 | cmd.Help() 29 | }, 30 | } 31 | -------------------------------------------------------------------------------- /cmd/deployment/elasticsearch/keystore/testdata/show.json: -------------------------------------------------------------------------------- 1 | { 2 | "secrets": { 3 | "secret-name": { 4 | "value": null, 5 | "as_file": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /cmd/deployment/elasticsearch/keystore/testdata/update.json: -------------------------------------------------------------------------------- 1 | { 2 | "secrets": { 3 | "secret-name": { 4 | "value": "the secret value" 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /cmd/deployment/extension/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmddeploymentextension 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | ) 23 | 24 | // Command represents the deployment extension subcommand. 25 | var Command = &cobra.Command{ 26 | Use: "extension", 27 | Short: "Manages deployment extensions, such as custom plugins or bundles", 28 | PreRunE: cobra.MaximumNArgs(0), 29 | Run: func(cmd *cobra.Command, args []string) { cmd.Help() }, 30 | } 31 | -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/create.json: -------------------------------------------------------------------------------- 1 | { 2 | "deployments": null, 3 | "description": "Why hello there", 4 | "extension_type": "bundle", 5 | "file_metadata": { 6 | "last_modified_date": "0001-01-01T00:00:00.000Z" 7 | }, 8 | "id": "4237175152", 9 | "name": "mybundle", 10 | "url": "repo://4237175152", 11 | "version": "*" 12 | } 13 | -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/extension.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elastic/ecctl/f4a1575f2a52f2747242d05f1a95df4dbbe89fd5/cmd/deployment/extension/testdata/extension.zip -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/list.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "deployments": null, 5 | "extension_type": "bundle", 6 | "file_metadata": { 7 | "last_modified_date": "2021-03-17T00:51:23.110Z", 8 | "size": 149, 9 | "url": "https://test-plugins.s3.amazonaws.com/265644854/2536123203.zip" 10 | }, 11 | "id": "2536123203", 12 | "name": "test-ext", 13 | "url": "repo://2536123203", 14 | "version": "*" 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/show-dep.json: -------------------------------------------------------------------------------- 1 | { 2 | "deployments": [ 3 | "0a1214498c68421ca09908545a0e25ca" 4 | ], 5 | "extension_type": "bundle", 6 | "file_metadata": { 7 | "last_modified_date": "2021-03-17T00:51:23.110Z", 8 | "size": 149, 9 | "url": "https://test-plugins.s3.amazonaws.com/265644854/2536123203.zip" 10 | }, 11 | "id": "2536123203", 12 | "name": "test-ext", 13 | "url": "repo://2536123203", 14 | "version": "*" 15 | } -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/show.json: -------------------------------------------------------------------------------- 1 | { 2 | "deployments": null, 3 | "extension_type": "bundle", 4 | "file_metadata": { 5 | "last_modified_date": "2021-03-17T00:51:23.110Z", 6 | "size": 149, 7 | "url": "https://test-plugins.s3.amazonaws.com/265644854/2536123203.zip" 8 | }, 9 | "id": "2536123203", 10 | "name": "test-ext", 11 | "url": "repo://2536123203", 12 | "version": "*" 13 | } -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/update-payload.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mybundle", 3 | "version": "*", 4 | "extension_type": "bundle", 5 | "description": "hello" 6 | } 7 | -------------------------------------------------------------------------------- /cmd/deployment/extension/testdata/update.json: -------------------------------------------------------------------------------- 1 | { 2 | "deployments": null, 3 | "description": "hello", 4 | "extension_type": "bundle", 5 | "file_metadata": { 6 | "last_modified_date": "2021-03-23T22:57:41.795Z", 7 | "size": 149, 8 | "url": "https://test-plugins.s3.amazonaws.com/265644854/2649887448.zip" 9 | }, 10 | "id": "2649887448", 11 | "name": "mybundle", 12 | "url": "repo://2649887448", 13 | "version": "*" 14 | } -------------------------------------------------------------------------------- /cmd/deployment/plan/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmddeploymentplan 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | ) 23 | 24 | // Command is the deployment subcommand 25 | var Command = &cobra.Command{ 26 | Use: "plan", 27 | Short: "Manages deployment plans", 28 | PreRunE: cobra.MaximumNArgs(0), 29 | Run: func(cmd *cobra.Command, args []string) { 30 | cmd.Help() 31 | }, 32 | } 33 | -------------------------------------------------------------------------------- /cmd/deployment/resource/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmddeploymentresource 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | ) 23 | 24 | // Command is the deployment subcommand 25 | var Command = &cobra.Command{ 26 | Use: "resource", 27 | Short: "Manages deployment resources", 28 | PreRunE: cobra.MaximumNArgs(0), 29 | Run: func(cmd *cobra.Command, args []string) { 30 | cmd.Help() 31 | }, 32 | } 33 | -------------------------------------------------------------------------------- /cmd/deployment/resource/shutdown_help.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmddeploymentresource 19 | 20 | const ( 21 | shutdownLong = `Shuts down a deployment resource kind (APM, Appsearch, Elasticsearch, Kibana). Shutting down a 22 | kind doesn't necessarily shut down the deployment itself but rather a specific resource.` 23 | ) 24 | -------------------------------------------------------------------------------- /cmd/deployment/resource/upgrade_help.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmddeploymentresource 19 | 20 | const ( 21 | upgradeLong = `Upgrades a stateless deployment resource so it matches the Elasticsearch 22 | deployment version. Only stateless resources are supported in the --kind flag` 23 | ) 24 | -------------------------------------------------------------------------------- /cmd/deployment/template/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmddeploymenttemplate 19 | 20 | import "github.com/spf13/cobra" 21 | 22 | // Command is the deployment subcommand 23 | var Command = &cobra.Command{ 24 | Use: "template", 25 | Short: "Interacts with deployment template APIs", 26 | PreRunE: cobra.NoArgs, 27 | Run: func(cmd *cobra.Command, args []string) { 28 | cmd.Help() 29 | }, 30 | } 31 | -------------------------------------------------------------------------------- /cmd/deployment/testdata/search_query.json: -------------------------------------------------------------------------------- 1 | { 2 | "query": { 3 | "match_all": {} 4 | }, 5 | "sort": ["id"] 6 | } -------------------------------------------------------------------------------- /cmd/deployment/testdata/search_query_no_sort.json: -------------------------------------------------------------------------------- 1 | { 2 | "query": { 3 | "match_all": {} 4 | } 5 | } -------------------------------------------------------------------------------- /cmd/deployment/testdata/show-resource.json: -------------------------------------------------------------------------------- 1 | { 2 | "healthy": true, 3 | "id": "29337f77410e23ab30e15c280060facf", 4 | "name": "29337f77410e23ab30e15c280060facf", 5 | "resources": { 6 | "apm": [], 7 | "appsearch": [], 8 | "elasticsearch": [], 9 | "enterprise_search": [], 10 | "kibana": [] 11 | } 12 | } -------------------------------------------------------------------------------- /cmd/deployment/testdata/show.json: -------------------------------------------------------------------------------- 1 | { 2 | "healthy": true, 3 | "id": "29337f77410e23ab30e15c280060facf", 4 | "name": "29337f77410e23ab30e15c280060facf", 5 | "resources": { 6 | "apm": [], 7 | "appsearch": [], 8 | "elasticsearch": [], 9 | "enterprise_search": [], 10 | "kibana": [] 11 | } 12 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/association/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdtrafficfilterassoc 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | ) 23 | 24 | const entityType = "deployment" 25 | 26 | // Command represents the deployment traffic-filter association subcommand. 27 | var Command = &cobra.Command{ 28 | Use: "association", 29 | Short: "Manages traffic filter ruleset associations", 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { cmd.Help() }, 32 | } 33 | -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/create.json: -------------------------------------------------------------------------------- 1 | { 2 | "rulesets": null 3 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/list-assoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rulesets": [ 3 | { 4 | "associations": null, 5 | "id": "829ba0be4ffd41a3961f0b20fbd53c82", 6 | "include_by_default": false, 7 | "name": "terraform_acc_waghy1tfe4", 8 | "region": "us-east-1", 9 | "rules": [ 10 | { 11 | "id": "8e2ac2ba4c364ad5a9e33ce8c80b9423", 12 | "source": "0.0.0.0/0" 13 | } 14 | ], 15 | "type": "ip" 16 | }, 17 | { 18 | "associations": [ 19 | { 20 | "entity_type": "deployment", 21 | "id": "0a1214498c68421ca09908545a0e25ca" 22 | } 23 | ], 24 | "id": "4e974d9476534d35b12fbdcfd0acee0a", 25 | "include_by_default": false, 26 | "name": "azure", 27 | "region": "azure-eastus2", 28 | "rules": [ 29 | { 30 | "id": "e5f03a27777a4efc97e3c6aa4d287b9f", 31 | "source": "0.0.0.0/0" 32 | } 33 | ], 34 | "total_associations": 1, 35 | "type": "ip" 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/list-region.json: -------------------------------------------------------------------------------- 1 | { 2 | "rulesets": [ 3 | { 4 | "associations": null, 5 | "id": "4e974d9476534d35b12fbdcfd0acee0a", 6 | "include_by_default": false, 7 | "name": "azure", 8 | "region": "azure-eastus2", 9 | "rules": [ 10 | { 11 | "id": "e5f03a27777a4efc97e3c6aa4d287b9f", 12 | "source": "0.0.0.0/0" 13 | } 14 | ], 15 | "type": "ip" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/list.json: -------------------------------------------------------------------------------- 1 | { 2 | "rulesets": [ 3 | { 4 | "associations": null, 5 | "id": "829ba0be4ffd41a3961f0b20fbd53c82", 6 | "include_by_default": false, 7 | "name": "terraform_acc_waghy1tfe4", 8 | "region": "us-east-1", 9 | "rules": [ 10 | { 11 | "id": "8e2ac2ba4c364ad5a9e33ce8c80b9423", 12 | "source": "0.0.0.0/0" 13 | } 14 | ], 15 | "type": "ip" 16 | }, 17 | { 18 | "associations": null, 19 | "id": "4e974d9476534d35b12fbdcfd0acee0a", 20 | "include_by_default": false, 21 | "name": "azure", 22 | "region": "azure-eastus2", 23 | "rules": [ 24 | { 25 | "id": "e5f03a27777a4efc97e3c6aa4d287b9f", 26 | "source": "0.0.0.0/0" 27 | } 28 | ], 29 | "type": "ip" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/show-assoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "associations": [ 3 | { 4 | "entity_type": "deployment", 5 | "id": "0a1214498c68421ca09908545a0e25ca" 6 | } 7 | ], 8 | "id": "4e974d9476534d35b12fbdcfd0acee0a", 9 | "include_by_default": false, 10 | "name": "azure", 11 | "region": "azure-eastus2", 12 | "rules": [ 13 | { 14 | "id": "e5f03a27777a4efc97e3c6aa4d287b9f", 15 | "source": "0.0.0.0/0" 16 | } 17 | ], 18 | "total_associations": 1, 19 | "type": "ip" 20 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/show.json: -------------------------------------------------------------------------------- 1 | { 2 | "associations": null, 3 | "id": "4e974d9476534d35b12fbdcfd0acee0a", 4 | "include_by_default": false, 5 | "name": "azure", 6 | "region": "azure-eastus2", 7 | "rules": [ 8 | { 9 | "id": "e5f03a27777a4efc97e3c6aa4d287b9f", 10 | "source": "0.0.0.0/0" 11 | } 12 | ], 13 | "type": "ip" 14 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/update-payload.json: -------------------------------------------------------------------------------- 1 | { 2 | "include_by_default": false, 3 | "name": "1235", 4 | "region": "azure-eastus2", 5 | "rules": [ 6 | { 7 | "id": "fad8132b0470479f95c3a41c5d67bd57", 8 | "source": "0.0.0.0/0" 9 | } 10 | ], 11 | "type": "ip" 12 | } -------------------------------------------------------------------------------- /cmd/deployment/trafficfilter/testdata/update.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "4e974d9476534d35b12fbdcfd0acee0a" 3 | } -------------------------------------------------------------------------------- /cmd/platform/enrollment-token/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdenrollmenttoken 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command represents the enrollment-token subcomand. 27 | var Command = &cobra.Command{ 28 | Use: "enrollment-token", 29 | Short: cmdutil.AdminReqDescription("Manages tokens"), 30 | PreRunE: cobra.NoArgs, 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /cmd/platform/instance-configuration/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdinstanceconfig 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command is the top instance-config subcommand. 27 | var Command = &cobra.Command{ 28 | Use: "instance-configuration", 29 | Short: cmdutil.AdminReqDescription("Manages instance configurations"), 30 | PreRunE: cobra.NoArgs, 31 | Run: func(cmd *cobra.Command, args []string) { cmd.Help() }, 32 | } 33 | -------------------------------------------------------------------------------- /cmd/platform/proxy/filteredgroup/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdfilteredgroup 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command represents the top level filtered-group command. 27 | var Command = &cobra.Command{ 28 | Use: "filtered-group", 29 | Short: cmdutil.AdminReqDescription("Manages proxies filtered group"), 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /cmd/platform/proxy/settings/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdproxysettings 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command represents the top level proxies settings command. 27 | var Command = &cobra.Command{ 28 | Use: "settings", 29 | Short: cmdutil.AdminReqDescription("Manages proxies settings"), 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /cmd/platform/proxy/settings/testfiles/not-a-json-file.txt: -------------------------------------------------------------------------------- 1 | this is not a json file 2 | -------------------------------------------------------------------------------- /cmd/platform/proxy/settings/testfiles/settings-invalid.json: -------------------------------------------------------------------------------- 1 | this is not a json file 2 | -------------------------------------------------------------------------------- /cmd/platform/proxy/settings/testfiles/settings-patch.json: -------------------------------------------------------------------------------- 1 | { 2 | "expected_proxies_count": 1 3 | } 4 | -------------------------------------------------------------------------------- /cmd/platform/proxy/settings/testfiles/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "expected_proxies_count": 5, 3 | "http_settings": { 4 | "cookie_secret": "some-secret", 5 | "dashboards_base_url": "some-url", 6 | "disconnected_cutoff": 2, 7 | "minimum_proxy_services": 1, 8 | "sso_settings": { 9 | "cookie_name": "some-cookie", 10 | "default_redirect_path": "some-path", 11 | "dont_log_requests": true, 12 | "maintenance_bypass_cookie_name": "some-other-cookie", 13 | "max_age": 10, 14 | "sso_secret": "sso-secret" 15 | }, 16 | "user_cookie_key": "user-cookie" 17 | }, 18 | "signature_secret": "signature-secret", 19 | "signature_valid_for_millis": 60 20 | } 21 | -------------------------------------------------------------------------------- /cmd/platform/role/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdrole 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command is the top level role command. 27 | var Command = &cobra.Command{ 28 | Use: "role", 29 | Short: cmdutil.AdminReqDescription("Manages platform roles"), 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | 36 | func init() { 37 | 38 | } 39 | -------------------------------------------------------------------------------- /cmd/platform/runner/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdrunner 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | 23 | cmdutil "github.com/elastic/ecctl/cmd/util" 24 | ) 25 | 26 | // Command is the top level runner command. 27 | var Command = &cobra.Command{ 28 | Use: "runner", 29 | Short: cmdutil.AdminReqDescription("Manages platform runners"), 30 | PreRunE: cobra.MaximumNArgs(0), 31 | Run: func(cmd *cobra.Command, args []string) { 32 | cmd.Help() 33 | }, 34 | } 35 | -------------------------------------------------------------------------------- /cmd/stack/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdstack 19 | 20 | import ( 21 | "github.com/spf13/cobra" 22 | ) 23 | 24 | // Command is the top level stack command. 25 | var Command = &cobra.Command{ 26 | Use: "stack", 27 | Short: "Manages Elastic StackPacks", 28 | PreRunE: cobra.MaximumNArgs(0), 29 | Run: func(cmd *cobra.Command, args []string) { 30 | cmd.Help() 31 | }, 32 | } 33 | -------------------------------------------------------------------------------- /cmd/user/key/command.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmduserkey 19 | 20 | import "github.com/spf13/cobra" 21 | 22 | // Command is the user key subcommand 23 | var Command = &cobra.Command{ 24 | Use: "key", 25 | Short: "Manages the API keys of a platform user", 26 | PreRunE: cobra.MaximumNArgs(0), 27 | Run: func(cmd *cobra.Command, args []string) { 28 | cmd.Help() 29 | }, 30 | } 31 | 32 | func init() { 33 | Command.AddCommand( 34 | showCmd, 35 | listCmd, 36 | deleteCmd, 37 | ) 38 | } 39 | -------------------------------------------------------------------------------- /cmd/util/flag_message.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdutil 19 | 20 | const ( 21 | // PlanRetriesFlagMessage is the message to be used by the --retries flag. 22 | PlanRetriesFlagMessage = "Number of times monitoring will be retried. Meaning it accepts an N number of API errors" 23 | // TrackFlagMessage is the message to be used by the --track flag. 24 | TrackFlagMessage = "Tracks the progress of the performed task" 25 | ) 26 | -------------------------------------------------------------------------------- /cmd/util/region.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmdutil 19 | 20 | // DefaultECERegion is the region for ECE 21 | const DefaultECERegion = "ece-region" 22 | -------------------------------------------------------------------------------- /cmd/version.go: -------------------------------------------------------------------------------- 1 | // Licensed to Elasticsearch B.V. under one or more contributor 2 | // license agreements. See the NOTICE file distributed with 3 | // this work for additional information regarding copyright 4 | // ownership. Elasticsearch B.V. licenses this file to you under 5 | // the Apache License, Version 2.0 (the "License"); you may 6 | // not use this file except in compliance with the License. 7 | // You may obtain a copy of the License at 8 | // 9 | // http://www.apache.org/licenses/LICENSE-2.0 10 | // 11 | // Unless required by applicable law or agreed to in writing, 12 | // software distributed under the License is distributed on an 13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | // KIND, either express or implied. See the License for the 15 | // specific language governing permissions and limitations 16 | // under the License. 17 | 18 | package cmd 19 | 20 | import ( 21 | "fmt" 22 | 23 | "github.com/spf13/cobra" 24 | ) 25 | 26 | var versionCmd = &cobra.Command{ 27 | Use: "version", 28 | Short: "Shows ecctl version", 29 | PreRunE: cobra.MaximumNArgs(0), 30 | Run: func(cmd *cobra.Command, args []string) { 31 | fmt.Fprint(cmd.OutOrStdout(), versionInfo) 32 | }, 33 | } 34 | 35 | func init() { 36 | RootCmd.AddCommand(versionCmd) 37 | } 38 | -------------------------------------------------------------------------------- /developer_docs/docs-rebuild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elastic/ecctl/f4a1575f2a52f2747242d05f1a95df4dbbe89fd5/developer_docs/docs-rebuild.png -------------------------------------------------------------------------------- /docs/docset.yml: -------------------------------------------------------------------------------- 1 | project: 'Elastic cloud control (ECCTL) docs' 2 | products: 3 | - id: cloud-control-ecctl 4 | cross_links: 5 | - cloud 6 | - docs-content 7 | - elasticsearch 8 | toc: 9 | - toc: reference 10 | subs: 11 | ece: "Elastic Cloud Enterprise" 12 | -------------------------------------------------------------------------------- /docs/reference/ecctl-authentication.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-authentication.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # Authentication [ecctl-authentication] 11 | 12 | Elastic Cloud uses API keys to authenticate users against its API. Additionally, it supports the usage of [JWT](https://jwt.io/) to validate authenticated clients. The preferred authentication method is API keys. 13 | 14 | There are two ways to authenticate against the Elastic Cloud or Elastic Cloud Enterprise APIs in ecctl: 15 | 16 | * By specifying an API key using the `--api-key` flag 17 | * By specifying the `--user` and `--pass` flags 18 | 19 | The first method requires the user to already have an API key, if this is the case, all the outgoing API requests will use an Authentication API key header. 20 | 21 | The second method uses the `user` and `pass` values to obtain a valid JWT token, that token is then used as the Authentication Bearer header for every API call. A goroutine that refreshes the token every minute is started, so that the token doesn’t expire while we’re performing actions. 22 | 23 | -------------------------------------------------------------------------------- /docs/reference/ecctl-command-reference.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-command-reference.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # Command reference [ecctl-command-reference] 11 | 12 | Elastic Cloud Control includes commands to administer: 13 | 14 | * Elastic Stack deployments 15 | * Platform components 16 | * And more 17 | -------------------------------------------------------------------------------- /docs/reference/ecctl-contributing.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-contributing.html 4 | --- 5 | 6 | # Contributing [ecctl-contributing] 7 | 8 | If you are interested in becoming a part of this project, take a look at [Contributing to ecctl](https://github.com/elastic/ecctl/blob/master/CONTRIBUTING.md). 9 | 10 | -------------------------------------------------------------------------------- /docs/reference/ecctl-custom-formatting.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-custom-formatting.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # Custom formatting [ecctl-custom-formatting] 11 | 12 | ecctl supports a global `--format` flag which can be passed to any existing command or subcommand. Using the `--format` flag allows you to obtain a specific part of a command response that might not have been shown before with the default `--output=text`. The `--format` internally uses Go templates which means that you can use the power of the Go built-in [`text/templates`](https://golang.org/pkg/text/template/) on demand. 13 | 14 | -------------------------------------------------------------------------------- /docs/reference/ecctl-environment-variables.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-environment-variables.html 4 | --- 5 | 6 | # Environment variables [ecctl-environment-variables] 7 | 8 | The same settings can be defined as environment variables instead of a configuration file or to override certain settings of the `YAML` file. If setting environment variables, you’ll need to prefix the configuration parameter with `EC_` and capitalize the setting, i.e. `EC_HOST` or `EC_USER`. 9 | 10 | ```sh 11 | export EC_API_KEY=bWFyYzo4ZTJmNmZkNjY5ZmQ0MDBkOTQ3ZjI3MTg3ZWI5MWZhYjpOQktHY05jclE0cTBzcUlnTXg3QTd3 12 | ``` 13 | 14 | 15 | ## Special Environment Variables [ecctl-special-environment-variables] 16 | 17 | ```sh 18 | export EC_CONFIG=$HOME/.ecctl/cloud.yaml 19 | ``` 20 | 21 | -------------------------------------------------------------------------------- /docs/reference/ecctl-example-delete-deployment.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-example-delete-deployment.html 4 | --- 5 | 6 | # Delete a deployment [ecctl-example-delete-deployment] 7 | 8 | In this last example, you can use the [ecctl deployment shutdown](/reference/ecctl_deployment_shutdown.md) command to delete the deployment that you created. 9 | 10 | ```sh 11 | ecctl deployment shutdown [--track] $DEPLOYMENT_ID 12 | ``` 13 | 14 | * `$DEPLOYMENT_ID` is the ID for the deployment that was created in the previous [create a deployment](/reference/ecctl-example-create-deployment.md) example. 15 | 16 | On running this and other destructive commands, ecctl prompts you with a confirmation message. Use the `--force` option to skip the confirmation step, if you are using ecctl for automation. 17 | 18 | To monitor the progress, use the `--track` flag. 19 | 20 | To see the different options that ecctl supports, run `ecctl `. 21 | 22 | -------------------------------------------------------------------------------- /docs/reference/ecctl-example-list-deployments.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-example-list-deployments.html 4 | --- 5 | 6 | # List deployments [ecctl-example-list-deployments] 7 | 8 | As a first example of using ecctl, run the [ecctl deployment list](/reference/ecctl_deployment_list.md) command to retrieve information about existing deployments. This is a good way to check if ecctl is configured correctly and if you have any deployments already created. 9 | 10 | ```sh 11 | ecctl deployment list 12 | ``` 13 | 14 | ```sh 15 | ID NAME ELASTICSEARCH KIBANA APM APPSEARCH 16 | 00be03849b6a49c1a6541e3ccb5958d2 marvin 00be03849b6a49c1a6541e3ccb5958d2 266e456acf257588a9cde6fb4569d4a0 78c096c22e12408b878083b2d5ff6bcf - 17 | 147cdeace6404c3e4b5018e1401647e4 biggerdata 147cdeace6404c3e4b5018e1401647e4 443a9df7b33952f45921c5823cbad4bc 4678ce52d45547e463455ede663cb4a4 - 18 | ``` 19 | 20 | -------------------------------------------------------------------------------- /docs/reference/ecctl-example-shared-configuration-file.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-example-shared-configuration-file.html 4 | --- 5 | 6 | # Example: A shared configuration file [ecctl-example-shared-configuration-file] 7 | 8 | Below is an example `YAML` configuration file `$HOME/.ecctl/config.yaml` that will effectively point and configure the binary for Elastic Cloud: 9 | 10 | ```yaml 11 | host: https://api.elastic-cloud.com # URL of your Elastic Cloud or Elastic Cloud Enterprise API endpoint 12 | 13 | # Credentials 14 | ## api_key is the preferred authentication mechanism. 15 | api_key: bWFyYzo4ZTJmNmZkNjY5ZmQ0MDBkOTQ3ZjI3MTg3ZWI5MWZhYjpOQktHY05jclE0cTBzcUlnTXg3QTd3 16 | 17 | ## username and password can be used when no API key is available. 18 | user: username 19 | pass: password 20 | ``` 21 | 22 | -------------------------------------------------------------------------------- /docs/reference/ecctl-examples.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-examples.html 4 | --- 5 | 6 | # Usage examples [ecctl-examples] 7 | 8 | Once you’ve [installed](/reference/ecctl-installing.md) and [configured](/reference/ecctl-configuring.md) ecctl you’re ready to take it for a test drive. Try these examples with basic Create, Read, Update and Delete operations using ecctl: 9 | 10 | * [List deploymments](/reference/ecctl-example-list-deployments.md) 11 | * [Create a deployment](/reference/ecctl-example-create-deployment.md) 12 | * [Update a deployment](/reference/ecctl-example-update-deployment.md) 13 | * [Delete a deployment](/reference/ecctl-example-delete-deployment.md) 14 | 15 | To compare the ecctl commands against their API equivalents, see the [API examples](cloud://reference/cloud-hosted/ec-api-examples.md). 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/reference/ecctl-multiple-configuration-files.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-multiple-configuration-files.html 4 | --- 5 | 6 | # Multiple configuration files [ecctl-multiple-configuration-files] 7 | 8 | ecctl supports having multiple configuration files out of the box. This allows for easy management of multiple environments or specialized targets. By default it will use `$HOME/.ecctl/config.`, but when the `--config` flag is specified, it will append the `--config` name to the file: 9 | 10 | ``` 11 | # Default behaviour 12 | $ ecctl version 13 | # will use ~/.ecctl/config.yaml 14 | 15 | # When an environment is specified, the configuration file used will change 16 | $ ecctl version --config ece 17 | # will use ~/.ecctl/ece.yaml 18 | ``` 19 | 20 | -------------------------------------------------------------------------------- /docs/reference/ecctl-output-format.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl-output-format.html 4 | --- 5 | 6 | # Output format [ecctl-output-format] 7 | 8 | The `--output` flag allows for the response to be presented in a particular way (see `ecctl help` for an updated list of allowed formats). The default formatter behavior is to fallback to `json` when there’s no *text* format template or if the formatting fails. 9 | 10 | -------------------------------------------------------------------------------- /docs/reference/ecctl_auth.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_auth.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl auth [ecctl_auth] 11 | 12 | Manages authentication settings. 13 | 14 | ``` 15 | ecctl auth [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_2] 20 | 21 | ``` 22 | -h, --help help for auth 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_2] 33 | 34 | * [ecctl](/reference/ecctl.md) - Elastic Cloud Control 35 | * [ecctl auth key](/reference/ecctl_auth_key.md) - Manages the current authenticated user API keys 36 | 37 | -------------------------------------------------------------------------------- /docs/reference/ecctl_auth_key.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_auth_key.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl auth key [ecctl_auth_key] 11 | 12 | Manages the current authenticated user API keys. 13 | 14 | ``` 15 | ecctl auth key [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_3] 20 | 21 | ``` 22 | -h, --help help for key 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_2] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_3] 33 | 34 | * [ecctl auth](/reference/ecctl_auth.md) - Manages authentication settings 35 | * [ecctl auth key create](/reference/ecctl_auth_key_create.md) - Creates a new API key for the current authenticated user 36 | * [ecctl auth key delete](/reference/ecctl_auth_key_delete.md) - Deletes one or more existing API keys for the specified user 37 | * [ecctl auth key list](/reference/ecctl_auth_key_list.md) - Lists the API keys for the current authenticated user 38 | * [ecctl auth key show](/reference/ecctl_auth_key_show.md) - Shows the API key details for the current authenticated user 39 | 40 | -------------------------------------------------------------------------------- /docs/reference/ecctl_auth_key_create.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_auth_key_create.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl auth key create [ecctl_auth_key_create] 11 | 12 | Creates a new API key for the current authenticated user. 13 | 14 | ``` 15 | ecctl auth key create [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_4] 20 | 21 | ``` 22 | --description string User API key description 23 | -h, --help help for create 24 | ``` 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_3] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | ## See also [_see_also_4] 32 | 33 | * [ecctl auth key](/reference/ecctl_auth_key.md) - Manages the current authenticated user API keys 34 | -------------------------------------------------------------------------------- /docs/reference/ecctl_auth_key_delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_auth_key_delete.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl auth key delete [ecctl_auth_key_delete] 11 | 12 | Deletes one or more existing API keys for the specified user. 13 | 14 | ``` 15 | ecctl auth key delete ... [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_5] 20 | 21 | ``` 22 | -h, --help help for delete 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_4] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_5] 33 | 34 | * [ecctl auth key](/reference/ecctl_auth_key.md) - Manages the current authenticated user API keys 35 | 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_auth_key_list.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_auth_key_list.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl auth key list [ecctl_auth_key_list] 11 | 12 | Lists the API keys for the current authenticated user. 13 | 14 | ``` 15 | ecctl auth key list [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_6] 20 | 21 | ``` 22 | -h, --help help for list 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_5] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_6] 33 | 34 | * [ecctl auth key](/reference/ecctl_auth_key.md) - Manages the current authenticated user API keys 35 | 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_auth_key_show.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_auth_key_show.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl auth key show [ecctl_auth_key_show] 11 | 12 | Shows the API key details for the current authenticated user. 13 | 14 | ``` 15 | ecctl auth key show [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_7] 20 | 21 | ``` 22 | -h, --help help for show 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_6] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_7] 33 | 34 | * [ecctl auth key](/reference/ecctl_auth_key.md) - Manages the current authenticated user API keys 35 | 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_comment.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_comment.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl comment [ecctl_comment] 10 | 11 | Manages resource comments. 12 | 13 | ``` 14 | ecctl comment [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_8] 19 | 20 | ``` 21 | -h, --help help for comment 22 | ``` 23 | 24 | 25 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_7] 26 | 27 | :::{include} _snippets/inherited-options.md 28 | ::: 29 | 30 | 31 | ## See also [_see_also_8] 32 | 33 | * [ecctl](/reference/ecctl.md) - Elastic Cloud Control 34 | * [ecctl comment create](/reference/ecctl_comment_create.md) - Creates a new resource comment 35 | * [ecctl comment delete](/reference/ecctl_comment_delete.md) - Deletes a resource comment 36 | * [ecctl comment list](/reference/ecctl_comment_list.md) - Lists all resource comments 37 | * [ecctl comment show](/reference/ecctl_comment_show.md) - Shows information about a resource comment 38 | * [ecctl comment update](/reference/ecctl_comment_update.md) - Updates an existing resource comment -------------------------------------------------------------------------------- /docs/reference/ecctl_comment_create.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_comment_create.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl comment create [ecctl_comment_create] 10 | 11 | Creates a new resource comment. 12 | 13 | ``` 14 | ecctl comment create --resource-type --resource-id [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_9] 19 | 20 | ``` 21 | -h, --help help for create 22 | --resource-id string ID of the resource that a comment belongs to. 23 | --resource-type string The kind of resource that a comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, allocator, constructor, runner, proxy]. 24 | ``` 25 | 26 | 27 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_8] 28 | 29 | :::{include} _snippets/inherited-options.md 30 | ::: 31 | 32 | 33 | ## See also [_see_also_9] 34 | 35 | * [ecctl comment](/reference/ecctl_comment.md) - Manages resource comments 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_comment_delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_comment_delete.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl comment delete [ecctl_comment_delete] 10 | 11 | Deletes a resource comment. 12 | 13 | ``` 14 | ecctl comment delete --resource-type --resource-id [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_10] 19 | 20 | ``` 21 | -h, --help help for delete 22 | --resource-id string ID of the resource that the comment belongs to. 23 | --resource-type string The kind of resource that a comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, allocator, constructor, runner, proxy]. 24 | --version string If specified then checks for conflicts against the version stored in the persistent store. 25 | ``` 26 | 27 | 28 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_9] 29 | 30 | :::{include} _snippets/inherited-options.md 31 | ::: 32 | 33 | 34 | ## See also [_see_also_10] 35 | 36 | * [ecctl comment](/reference/ecctl_comment.md) - Manages resource comments -------------------------------------------------------------------------------- /docs/reference/ecctl_comment_list.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_comment_list.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl comment list [ecctl_comment_list] 10 | 11 | Lists all resource comments. 12 | 13 | ``` 14 | ecctl comment list --resource-type --resource-id [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_11] 19 | 20 | ``` 21 | -h, --help help for list 22 | --resource-id string Id of the resource that a comment belongs to. 23 | --resource-type string The kind of resource that a comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, allocator, constructor, runner, proxy]. 24 | ``` 25 | 26 | 27 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_10] 28 | 29 | :::{include} _snippets/inherited-options.md 30 | ::: 31 | 32 | 33 | ## See also [_see_also_11] 34 | 35 | * [ecctl comment](/reference/ecctl_comment.md) - Manages resource comments 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_comment_show.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_comment_show.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl comment show [ecctl_comment_show] 10 | 11 | Shows information about a resource comment. 12 | 13 | ``` 14 | ecctl comment show --resource-type --resource-id [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_12] 19 | 20 | ``` 21 | -h, --help help for show 22 | --resource-id string ID of the resource that the comment belongs to. 23 | --resource-type string The kind of resource that a comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, allocator, constructor, runner, proxy]. 24 | ``` 25 | 26 | 27 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_11] 28 | 29 | :::{include} _snippets/inherited-options.md 30 | ::: 31 | 32 | 33 | ## See also [_see_also_12] 34 | 35 | * [ecctl comment](/reference/ecctl_comment.md) - Manages resource comments 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_comment_update.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_comment_update.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl comment update [ecctl_comment_update] 10 | 11 | Updates an existing resource comment. 12 | 13 | ``` 14 | ecctl comment update --resource-type --resource-id [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_13] 19 | 20 | ``` 21 | -h, --help help for update 22 | --resource-id string Id of the Resource that a Comment belongs to. 23 | --resource-type string The kind of Resource that a Comment belongs to. Should be one of [elasticsearch, kibana, apm, appsearch, enterprise_search, allocator, constructor, runner, proxy]. 24 | --version string If specified then checks for conflicts against the version stored in the persistent store. 25 | ``` 26 | 27 | 28 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_12] 29 | 30 | :::{include} _snippets/inherited-options.md 31 | ::: 32 | 33 | 34 | ## See also [_see_also_13] 35 | 36 | * [ecctl comment](/reference/ecctl_comment.md) - Manages resource comments 37 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_delete.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl deployment delete [ecctl_deployment_delete] 10 | 11 | Deletes a previously shutdown deployment. 12 | 13 | ``` 14 | ecctl deployment delete [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_16] 19 | 20 | ``` 21 | -h, --help help for delete 22 | ``` 23 | 24 | 25 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_15] 26 | 27 | :::{include} _snippets/inherited-options.md 28 | ::: 29 | 30 | 31 | ## See also [_see_also_16] 32 | 33 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 34 | 35 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_elasticsearch.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_elasticsearch.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment elasticsearch [ecctl_deployment_elasticsearch] 11 | 12 | Manages Elasticsearch resources. 13 | 14 | ``` 15 | ecctl deployment elasticsearch [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_17] 20 | 21 | ``` 22 | -h, --help help for elasticsearch 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_16] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_17] 33 | 34 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 35 | * [ecctl deployment elasticsearch keystore](/reference/ecctl_deployment_elasticsearch_keystore.md) - Manages Elasticsearch resource keystores 36 | 37 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_elasticsearch_keystore.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_elasticsearch_keystore.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment elasticsearch keystore [ecctl_deployment_elasticsearch_keystore] 11 | 12 | Manages Elasticsearch resource keystores. 13 | 14 | ``` 15 | ecctl deployment elasticsearch keystore [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_18] 20 | 21 | ``` 22 | -h, --help help for keystore 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_17] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_18] 33 | 34 | * [ecctl deployment elasticsearch](/reference/ecctl_deployment_elasticsearch.md) - Manages Elasticsearch resources 35 | * [ecctl deployment elasticsearch keystore show](/reference/ecctl_deployment_elasticsearch_keystore_show.md) - Shows the settings from the Elasticsearch resource keystore 36 | * [ecctl deployment elasticsearch keystore update](/reference/ecctl_deployment_elasticsearch_keystore_update.md) - Updates the contents of an Elasticsearch keystore 37 | 38 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_elasticsearch_keystore_show.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_elasticsearch_keystore_show.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment elasticsearch keystore show [ecctl_deployment_elasticsearch_keystore_show] 11 | 12 | Shows the settings from the Elasticsearch resource keystore. 13 | 14 | ``` 15 | ecctl deployment elasticsearch keystore show [--ref-id ] [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_19] 20 | 21 | ``` 22 | -h, --help help for show 23 | --ref-id string Optional ref_id to use for the Elasticsearch resource, auto-discovered if not specified. 24 | ``` 25 | 26 | 27 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_18] 28 | 29 | :::{include} _snippets/inherited-options.md 30 | ::: 31 | 32 | 33 | ## See also [_see_also_19] 34 | 35 | * [ecctl deployment elasticsearch keystore](/reference/ecctl_deployment_elasticsearch_keystore.md) - Manages Elasticsearch resource keystores 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_extension_delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_extension_delete.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment extension delete [ecctl_deployment_extension_delete] 11 | 12 | Deletes a deployment extension. 13 | 14 | ``` 15 | ecctl deployment extension delete [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_23] 20 | 21 | ``` 22 | -h, --help help for delete 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_22] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_23] 33 | 34 | * [ecctl deployment extension](/reference/ecctl_deployment_extension.md) - Manages deployment extensions, such as custom plugins or bundles 35 | 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_extension_list.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_extension_list.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment extension list [ecctl_deployment_extension_list] 11 | 12 | Lists all deployment extensions. 13 | 14 | ``` 15 | ecctl deployment extension list [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_24] 20 | 21 | ``` 22 | -h, --help help for list 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_23] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_24] 33 | 34 | * [ecctl deployment extension](/reference/ecctl_deployment_extension.md) - Manages deployment extensions, such as custom plugins or bundles 35 | 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_extension_show.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_extension_show.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment extension show [ecctl_deployment_extension_show] 11 | 12 | Shows information about a deployment extension. 13 | 14 | ``` 15 | ecctl deployment extension show [--include-deployments] [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_25] 20 | 21 | ``` 22 | -h, --help help for show 23 | --include-deployments Include deployments referencing this extension. Up to only 10000 deployments will be included. 24 | ``` 25 | 26 | 27 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_24] 28 | 29 | :::{include} _snippets/inherited-options.md 30 | ::: 31 | 32 | 33 | ## See also [_see_also_25] 34 | 35 | * [ecctl deployment extension](/reference/ecctl_deployment_extension.md) - Manages deployment extensions, such as custom plugins or bundles 36 | 37 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_list.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_list.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment list [ecctl_deployment_list] 11 | 12 | Lists the platform's deployments. 13 | 14 | ``` 15 | ecctl deployment list [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_27] 20 | 21 | ``` 22 | -h, --help help for list 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_26] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_27] 33 | 34 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 35 | 36 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_plan.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_plan.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment plan [ecctl_deployment_plan] 11 | 12 | Manages deployment plans. 13 | 14 | ``` 15 | ecctl deployment plan [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_28] 20 | 21 | ``` 22 | -h, --help help for plan 23 | ``` 24 | 25 | 26 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_27] 27 | 28 | :::{include} _snippets/inherited-options.md 29 | ::: 30 | 31 | 32 | ## See also [_see_also_28] 33 | 34 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 35 | * [ecctl deployment plan cancel](/reference/ecctl_deployment_plan_cancel.md) - Cancels a resource’s pending plan 36 | 37 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_plan_cancel.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_plan_cancel.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment plan cancel [ecctl_deployment_plan_cancel] 11 | 12 | Cancels a resource's pending plan. 13 | 14 | ``` 15 | ecctl deployment plan cancel --kind [--ref-id ] [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_29] 20 | 21 | ``` 22 | -h, --help help for cancel 23 | --kind string Required deployment resource kind (apm, appsearch, kibana, elasticsearch) 24 | --ref-id string Optional deployment RefId, if not set, the RefId will be auto-discovered 25 | ``` 26 | 27 | 28 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_28] 29 | 30 | :::{include} _snippets/inherited-options.md 31 | ::: 32 | 33 | 34 | ## See also [_see_also_29] 35 | 36 | * [ecctl deployment plan](/reference/ecctl_deployment_plan.md) - Manages deployment plans 37 | 38 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_resource_delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_resource_delete.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment resource delete [ecctl_deployment_resource_delete] 11 | 12 | Deletes a previously shut down deployment resource. 13 | 14 | ``` 15 | ecctl deployment resource delete --kind --ref-id [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_31] 20 | 21 | ``` 22 | -h, --help help for delete 23 | --kind string Required stateless deployment resource kind (apm, appsearch, kibana) 24 | --ref-id string Optional deployment RefId, auto-discovered if not specified 25 | ``` 26 | 27 | 28 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_30] 29 | 30 | :::{include} _snippets/inherited-options.md 31 | ::: 32 | 33 | 34 | ## See also [_see_also_31] 35 | 36 | * [ecctl deployment resource](/reference/ecctl_deployment_resource.md) - Manages deployment resources 37 | 38 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_resource_restore.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_resource_restore.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment resource restore [ecctl_deployment_resource_restore] 11 | 12 | Restores a previously shut down deployment resource. 13 | 14 | ``` 15 | ecctl deployment resource restore --kind --ref-id [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_32] 20 | 21 | ``` 22 | -h, --help help for restore 23 | --kind string Required deployment resource kind (apm, appsearch, kibana, elasticsearch) 24 | --ref-id string Optional deployment RefId, auto-discovered if not specified 25 | --restore-snapshot Optional flag to toggle restoring a snapshot for an Elasticsearch resource. It has no effect for other resources 26 | ``` 27 | 28 | 29 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_31] 30 | 31 | :::{include} _snippets/inherited-options.md 32 | ::: 33 | 34 | 35 | ## See also [_see_also_32] 36 | 37 | * [ecctl deployment resource](/reference/ecctl_deployment_resource.md) - Manages deployment resources 38 | 39 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_resource_upgrade.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_resource_upgrade.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment resource upgrade [ecctl_deployment_resource_upgrade] 11 | 12 | Upgrades a deployment resource. 13 | 14 | 15 | ## Synopsis [_synopsis_4] 16 | 17 | Upgrades a stateless deployment resource so it matches the Elasticsearch deployment version. Only stateless resources are supported in the --kind flag 18 | 19 | ``` 20 | ecctl deployment resource upgrade --kind --ref-id [flags] 21 | ``` 22 | 23 | 24 | ## Options [_options_38] 25 | 26 | ``` 27 | -h, --help help for upgrade 28 | --kind string Required deployment resource kind (apm, appsearch, kibana, elasticsearch) 29 | --ref-id string Optional deployment RefId, if not set, the RefId will be auto-discovered 30 | -t, --track Tracks the progress of the performed task 31 | ``` 32 | 33 | 34 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_37] 35 | 36 | :::{include} _snippets/inherited-options.md 37 | ::: 38 | 39 | 40 | ## See also [_see_also_38] 41 | 42 | * [ecctl deployment resource](/reference/ecctl_deployment_resource.md) - Manages deployment resources 43 | 44 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_restore.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_restore.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment restore [ecctl_deployment_restore] 11 | 12 | Restores a previously shut down deployment and all of its associated sub-resources. 13 | 14 | 15 | ## Synopsis [_synopsis_5] 16 | 17 | Use --restore-snapshot to automatically restore the latest available Elasticsearch snapshot (if applicable) 18 | 19 | ``` 20 | ecctl deployment restore [flags] 21 | ``` 22 | 23 | 24 | ## Examples [_examples_4] 25 | 26 | ``` 27 | $ ecctl deployment restore 5c17ad7c8df73206baa54b6e2829d9bc 28 | { 29 | "id": "5c17ad7c8df73206baa54b6e2829d9bc" 30 | } 31 | ``` 32 | 33 | ## Options [_options_39] 34 | 35 | ``` 36 | -h, --help help for restore 37 | --restore-snapshot Restores snapshots for those resources that allow it (Elasticsearch) 38 | ``` 39 | 40 | 41 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_38] 42 | 43 | :::{include} _snippets/inherited-options.md 44 | ::: 45 | 46 | 47 | ## See also [_see_also_39] 48 | 49 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 50 | 51 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_resync.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_resync.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment resync [ecctl_deployment_resync] 11 | 12 | Resynchronizes the search index and cache for the selected deployment or all. 13 | 14 | ``` 15 | ecctl deployment resync { | --all} [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_40] 20 | 21 | ``` 22 | --all Resynchronizes the search index for all deployments 23 | -h, --help help for resync 24 | ``` 25 | 26 | 27 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_39] 28 | 29 | :::{include} _snippets/inherited-options.md 30 | ::: 31 | 32 | 33 | ## See also [_see_also_40] 34 | 35 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 36 | 37 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_shutdown.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_shutdown.html 4 | applies_to: 5 | deployment: 6 | ess: all 7 | ece: all 8 | --- 9 | 10 | # ecctl deployment shutdown [ecctl_deployment_shutdown] 11 | 12 | Shuts down a deployment and all of its associated sub-resources. 13 | 14 | ``` 15 | ecctl deployment shutdown [flags] 16 | ``` 17 | 18 | 19 | ## Options [_options_43] 20 | 21 | ``` 22 | -h, --help help for shutdown 23 | --skip-snapshot Skips taking an Elasticsearch snapshot prior to shutting down the deployment 24 | -t, --track Tracks the progress of the performed task 25 | ``` 26 | 27 | 28 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_42] 29 | 30 | :::{include} _snippets/inherited-options.md 31 | ::: 32 | 33 | 34 | ## See also [_see_also_43] 35 | 36 | * [ecctl deployment](/reference/ecctl_deployment.md) - Manages deployments 37 | 38 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_template_create.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_template_create.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl deployment template create [ecctl_deployment_template_create] 10 | 11 | Creates a new deployment template. 12 | 13 | ``` 14 | ecctl deployment template create --file [flags] 15 | ``` 16 | 17 | 18 | ## Options [_options_45] 19 | 20 | ``` 21 | -f, --file string Deployment template definition. 22 | -h, --help help for create 23 | --hide-instance-configurations Hides instance configurations - only visible when using the JSON output. 24 | --template-id string Optional deployment template ID. Otherwise the deployment template will be created with an auto-generated ID. 25 | ``` 26 | 27 | 28 | ## Options inherited from parent commands [_options_inherited_from_parent_commands_44] 29 | 30 | :::{include} _snippets/inherited-options.md 31 | ::: 32 | 33 | 34 | ## See also [_see_also_45] 35 | 36 | * [ecctl deployment template](/reference/ecctl_deployment_template.md) - Interacts with deployment template APIs 37 | 38 | -------------------------------------------------------------------------------- /docs/reference/ecctl_deployment_template_delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | mapped_pages: 3 | - https://www.elastic.co/guide/en/ecctl/current/ecctl_deployment_template_delete.html 4 | applies_to: 5 | deployment: 6 | ece: all 7 | --- 8 | 9 | # ecctl deployment template delete [ecctl_deployment_template_delete] 10 | 11 | Deletes an existing deployment template. 12 | 13 | ``` 14 | ecctl deployment template delete --template-id