* feature (auth): required schema changes for auth ldap method (#2669) chore (auth/ldap): move schema changes to next avail migration number * feature (auth/ldap): define AuthMethod and all its value objects (#2703) * feature (auth/ldap): storage protos * feature (auth/ldap): define AuthMethod and all its value objects * feature (auth/ldap): add repo and reading an auth method (#2718) * feature (auth/ldap): add Repository.CreateAuthMethod(...) and Repository.DeleteAuthMethod(...) (#2724) * feature (auth/ldap): add Repository.UpdateAuthMethod(...) (#2739) * feature (auth/ldap): add Account * feature (auth/ldap): add AuthMethod.EnableGroups * fix (auth/ldap): refactor AuthMethod.oplog to enforce proper constraints * feature (auth/ldap): add Account repo functions * refactor (auth/ldap): remove entry attributes from account Realized the entry attributes could have absolutely anything in them (including binary data) and since we absolutely don't have to have them there's just no reason to take on the risk. * feature (auth/ldap): add AuthMethod.UseTokenGroups * feature (auth/ldap): add Authenticate(...) * refactor (auth/ldap): ensure options take a context as the 1st parameter * feature (auth/ldap): add Account attribute maps * chore (auth/ldap): make fmt deltas * feature (auth/ldap): add managed groups (#2760) * tests (auth/ldap): add missing unit test to Repository.DeleteAccount(...) Add bits to test the delete operation when you're not able to generate oplog metadata * feature (auth/ldap): add managed groups fixup! feature (auth/ldap): add managed groups (#2760) * feature (auth/ldap): service proto definition (#2761) * feature (handlers/authmethods): add handlers for ldap auth method operations (#2794) * feature (auth/ldap): add Account attribute maps * chore (auth/ldap): update cap/ldap to latest version * feature (auth/ldap): add ldap api generation definitions * feature (authmethods): add ldap repo NewService(...) * feature (authmethods/ldap): add proper mask_mapping to protobufs * feature (authmethods): add support to get an ldap auth method * refactor (auth/ldap): export TestGenerateCA(...) * feature (authmethods): add support to create an ldap auth method * feature (authmethods): add support to delete an ldap auth method * feature (authmethods): add support to list ldap auth methods * refactor (auth/ldap): make urls optional for NewAuthMethod(...) * refactor (auth/ldap): export ldap.TestInvalidPem * chore: make fmt changes * fix (auth/ldap): properly handle group search config Add constraints and tests to ensure when an ldap AuthMethod.EnableGroups is true, and UseTokenGroups is false; that there's a GroupDn configured for finding a user's associated groups * feature (authmethods): add support to update an ldap auth methods * chore (db/ldap): tmp mv migrations so there's no conflict with ongoing work * feature (verifier): add ldap auth method to verifier bits * fix (controller): prevent panic when controller stops when there's no listener * feature (authmethods): add support to authenticate via ldap auth methods * chore (migrations): fix whitespace in stmt * chore: fmt fixup * tests (auth/ldap): invalid err msg * feature (cli/authmethods): add support for ldap auth-methods CRUD and authenticate (#2810) * feature (authmethods): add CLI support for ldap auth methods CRUD * tests (api/auth): ldap auth method classification tests * feature (authmethods): add CLI support for ldap auth authenticate * feature (auth/ldap): set request timeouts for ldap server connections * feature (handlers/authmethods): handle u_anon listing properly. * feature (account/handers): ldap account and managed group CRUDL APIs (#2852) * feature (auth/ldap) add repository Listing of ManagedGroupMemberAccount * feature (controller/handlers): add ldapRepoFn to accounts service * feature (auth/ldap) register ldap managed group subtype * feature (account/handlers): ldap account CRUDL APIs * feature (controller/handlers): add ldapRepo to managed groups service * feature (account/handlers): ldap managed group CRUDL APIs * docs (domain): add LDAP accounts, auth-methods and managed groups (#2857) * feature (ldap/cli) add ldap accounts and managed groups CRUDL commands (#2856) * fix (handlers/authmethods): fix ldap authorized actions (#2892) * feature (cli/ldap/authenticate): use primary auth method if none is provided (#2890) * fix (auth/ldap): support setting the state attribute * feature (cli/ldap/authenticate): use primary auth method if none is provided * feature (wh/ldap) add tests for new ldap auth method and accounts (#2919) * refactor (migrations/ldap): mv to correct directory * chore: add copyright headers * fix (api/authmethods/ldap): renumber new LdapAuthMethodAttributes field * fix (auth/ldap): allow the auth method state to be updated (#2951) * chore: update sdk and api versions for llb - this is tmp until merging * tests (managed groups): add required errContains for new test
1274 lines
34 KiB
Go
1274 lines
34 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"github.com/hashicorp/boundary/internal/cmd/base"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/accountscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/authenticate"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/authmethodscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/authtokenscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/config"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/connect"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/credentiallibrariescmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/credentialscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/credentialstorescmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/database"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/dev"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/groupscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/hostcatalogscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/hostscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/hostsetscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/logout"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/managedgroupscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/rolescmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/scopescmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/server"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/sessionscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/targetscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/userscmd"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/version"
|
|
"github.com/hashicorp/boundary/internal/cmd/commands/workerscmd"
|
|
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
// Commands is the mapping of all the available commands.
|
|
var Commands map[string]cli.CommandFactory
|
|
|
|
func initCommands(ui, serverCmdUi cli.Ui, runOpts *RunOptions) {
|
|
Commands = map[string]cli.CommandFactory{
|
|
"server": func() (cli.Command, error) {
|
|
return &server.Command{
|
|
Server: base.NewServer(base.NewServerCommand(serverCmdUi)),
|
|
SighupCh: base.MakeSighupCh(),
|
|
SigUSR2Ch: MakeSigUSR2Ch(),
|
|
}, nil
|
|
},
|
|
"dev": func() (cli.Command, error) {
|
|
return &dev.Command{
|
|
Server: base.NewServer(base.NewServerCommand(serverCmdUi)),
|
|
SighupCh: base.MakeSighupCh(),
|
|
SigUSR2Ch: MakeSigUSR2Ch(),
|
|
}, nil
|
|
},
|
|
"version": func() (cli.Command, error) {
|
|
return &version.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
|
|
"authenticate": func() (cli.Command, error) {
|
|
return &authenticate.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"authenticate password": func() (cli.Command, error) {
|
|
return &authenticate.PasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"authenticate oidc": func() (cli.Command, error) {
|
|
return &authenticate.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"authenticate ldap": func() (cli.Command, error) {
|
|
return &authenticate.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
|
|
"accounts": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"accounts read": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"accounts delete": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"accounts list": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"accounts set-password": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-password",
|
|
}, nil
|
|
},
|
|
"accounts change-password": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "change-password",
|
|
}, nil
|
|
},
|
|
"accounts create": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"accounts create password": func() (cli.Command, error) {
|
|
return &accountscmd.PasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"accounts create oidc": func() (cli.Command, error) {
|
|
return &accountscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"accounts create ldap": func() (cli.Command, error) {
|
|
return &accountscmd.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"accounts update": func() (cli.Command, error) {
|
|
return &accountscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"accounts update password": func() (cli.Command, error) {
|
|
return &accountscmd.PasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"accounts update oidc": func() (cli.Command, error) {
|
|
return &accountscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"accounts update ldap": func() (cli.Command, error) {
|
|
return &accountscmd.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"auth-methods": func() (cli.Command, error) {
|
|
return &authmethodscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"auth-methods read": func() (cli.Command, error) {
|
|
return &authmethodscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"auth-methods delete": func() (cli.Command, error) {
|
|
return &authmethodscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"auth-methods list": func() (cli.Command, error) {
|
|
return &authmethodscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"auth-methods create": func() (cli.Command, error) {
|
|
return &authmethodscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"auth-methods create password": func() (cli.Command, error) {
|
|
return &authmethodscmd.PasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"auth-methods create oidc": func() (cli.Command, error) {
|
|
return &authmethodscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"auth-methods create ldap": func() (cli.Command, error) {
|
|
return &authmethodscmd.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"auth-methods update": func() (cli.Command, error) {
|
|
return &authmethodscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"auth-methods update password": func() (cli.Command, error) {
|
|
return &authmethodscmd.PasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"auth-methods update oidc": func() (cli.Command, error) {
|
|
return &authmethodscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"auth-methods update ldap": func() (cli.Command, error) {
|
|
return &authmethodscmd.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"auth-methods change-state oidc": func() (cli.Command, error) {
|
|
return &authmethodscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "change-state",
|
|
}, nil
|
|
},
|
|
|
|
"auth-tokens": func() (cli.Command, error) {
|
|
return &authtokenscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"auth-tokens read": func() (cli.Command, error) {
|
|
return &authtokenscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"auth-tokens delete": func() (cli.Command, error) {
|
|
return &authtokenscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"auth-tokens list": func() (cli.Command, error) {
|
|
return &authtokenscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
|
|
"config": func() (cli.Command, error) {
|
|
return &config.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"config encrypt": func() (cli.Command, error) {
|
|
return &config.EncryptDecryptCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "encrypt",
|
|
}, nil
|
|
},
|
|
"config decrypt": func() (cli.Command, error) {
|
|
return &config.EncryptDecryptCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "decrypt",
|
|
}, nil
|
|
},
|
|
"config get-token": func() (cli.Command, error) {
|
|
return &config.TokenCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "get-token",
|
|
}, nil
|
|
},
|
|
"config autocomplete": func() (cli.Command, error) {
|
|
return &config.AutocompleteCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "base",
|
|
}, nil
|
|
},
|
|
"config autocomplete install": func() (cli.Command, error) {
|
|
return &config.AutocompleteCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "install",
|
|
}, nil
|
|
},
|
|
"config autocomplete uninstall": func() (cli.Command, error) {
|
|
return &config.AutocompleteCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "uninstall",
|
|
}, nil
|
|
},
|
|
|
|
"connect": func() (cli.Command, error) {
|
|
return &connect.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "connect",
|
|
}, nil
|
|
},
|
|
"connect http": func() (cli.Command, error) {
|
|
return &connect.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "http",
|
|
}, nil
|
|
},
|
|
"connect kube": func() (cli.Command, error) {
|
|
return &connect.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "kube",
|
|
}, nil
|
|
},
|
|
"connect postgres": func() (cli.Command, error) {
|
|
return &connect.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "postgres",
|
|
}, nil
|
|
},
|
|
"connect rdp": func() (cli.Command, error) {
|
|
return &connect.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "rdp",
|
|
}, nil
|
|
},
|
|
"connect ssh": func() (cli.Command, error) {
|
|
return &connect.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "ssh",
|
|
}, nil
|
|
},
|
|
|
|
"database": func() (cli.Command, error) {
|
|
return &database.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"database init": func() (cli.Command, error) {
|
|
return &database.InitCommand{
|
|
Server: base.NewServer(base.NewCommand(ui)),
|
|
}, nil
|
|
},
|
|
"database migrate": func() (cli.Command, error) {
|
|
return &database.MigrateCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
|
|
"credential-libraries": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"credential-libraries read": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"credential-libraries delete": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"credential-libraries list": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"credential-libraries create": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-libraries create vault": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.VaultCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-libraries create vault-generic": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.VaultGenericCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-libraries create vault-ssh-certificate": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.VaultSshCertificateCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-libraries update": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credential-libraries update vault": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.VaultGenericCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credential-libraries update vault-generic": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.VaultGenericCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credential-libraries update vault-ssh-certificate": func() (cli.Command, error) {
|
|
return &credentiallibrariescmd.VaultSshCertificateCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"credential-stores": func() (cli.Command, error) {
|
|
return &credentialstorescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"credential-stores read": func() (cli.Command, error) {
|
|
return &credentialstorescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"credential-stores delete": func() (cli.Command, error) {
|
|
return &credentialstorescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"credential-stores list": func() (cli.Command, error) {
|
|
return &credentialstorescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"credential-stores create": func() (cli.Command, error) {
|
|
return &credentialstorescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-stores create vault": func() (cli.Command, error) {
|
|
return &credentialstorescmd.VaultCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-stores create static": func() (cli.Command, error) {
|
|
return &credentialstorescmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credential-stores update": func() (cli.Command, error) {
|
|
return &credentialstorescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credential-stores update vault": func() (cli.Command, error) {
|
|
return &credentialstorescmd.VaultCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credential-stores update static": func() (cli.Command, error) {
|
|
return &credentialstorescmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"credentials": func() (cli.Command, error) {
|
|
return &credentialscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"credentials read": func() (cli.Command, error) {
|
|
return &credentialscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"credentials delete": func() (cli.Command, error) {
|
|
return &credentialscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"credentials list": func() (cli.Command, error) {
|
|
return &credentialscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"credentials create": func() (cli.Command, error) {
|
|
return &credentialscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credentials create username-password": func() (cli.Command, error) {
|
|
return &credentialscmd.UsernamePasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credentials create ssh-private-key": func() (cli.Command, error) {
|
|
return &credentialscmd.SshPrivateKeyCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credentials create json": func() (cli.Command, error) {
|
|
return &credentialscmd.JsonCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"credentials update": func() (cli.Command, error) {
|
|
return &credentialscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credentials update username-password": func() (cli.Command, error) {
|
|
return &credentialscmd.UsernamePasswordCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credentials update ssh-private-key": func() (cli.Command, error) {
|
|
return &credentialscmd.SshPrivateKeyCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"credentials update json": func() (cli.Command, error) {
|
|
return &credentialscmd.JsonCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"groups": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"groups create": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"groups update": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"groups read": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"groups delete": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"groups list": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"groups add-members": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-members",
|
|
}, nil
|
|
},
|
|
"groups set-members": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-members",
|
|
}, nil
|
|
},
|
|
"groups remove-members": func() (cli.Command, error) {
|
|
return &groupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-members",
|
|
}, nil
|
|
},
|
|
|
|
"host-catalogs": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"host-catalogs read": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"host-catalogs delete": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"host-catalogs list": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"host-catalogs create": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"host-catalogs create static": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"host-catalogs create plugin": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.PluginCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"host-catalogs update": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"host-catalogs update static": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"host-catalogs update plugin": func() (cli.Command, error) {
|
|
return &hostcatalogscmd.PluginCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"host-sets": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"host-sets read": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"host-sets delete": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"host-sets list": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"host-sets create": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"host-sets create static": func() (cli.Command, error) {
|
|
return &hostsetscmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"host-sets create plugin": func() (cli.Command, error) {
|
|
return &hostsetscmd.PluginCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"host-sets update": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"host-sets update static": func() (cli.Command, error) {
|
|
return &hostsetscmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"host-sets update plugin": func() (cli.Command, error) {
|
|
return &hostsetscmd.PluginCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"host-sets add-hosts": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-hosts",
|
|
}, nil
|
|
},
|
|
"host-sets remove-hosts": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-hosts",
|
|
}, nil
|
|
},
|
|
"host-sets set-hosts": func() (cli.Command, error) {
|
|
return &hostsetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-hosts",
|
|
}, nil
|
|
},
|
|
|
|
"hosts": func() (cli.Command, error) {
|
|
return &hostscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"hosts read": func() (cli.Command, error) {
|
|
return &hostscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"hosts delete": func() (cli.Command, error) {
|
|
return &hostscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"hosts list": func() (cli.Command, error) {
|
|
return &hostscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"hosts create": func() (cli.Command, error) {
|
|
return &hostscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"hosts create static": func() (cli.Command, error) {
|
|
return &hostscmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"hosts update": func() (cli.Command, error) {
|
|
return &hostscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"hosts update static": func() (cli.Command, error) {
|
|
return &hostscmd.StaticCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"logout": func() (cli.Command, error) {
|
|
return &logout.LogoutCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
|
|
"managed-groups": func() (cli.Command, error) {
|
|
return &managedgroupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"managed-groups read": func() (cli.Command, error) {
|
|
return &managedgroupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"managed-groups delete": func() (cli.Command, error) {
|
|
return &managedgroupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"managed-groups list": func() (cli.Command, error) {
|
|
return &managedgroupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"managed-groups create": func() (cli.Command, error) {
|
|
return &managedgroupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"managed-groups create oidc": func() (cli.Command, error) {
|
|
return &managedgroupscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"managed-groups create ldap": func() (cli.Command, error) {
|
|
return &managedgroupscmd.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"managed-groups update": func() (cli.Command, error) {
|
|
return &managedgroupscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"managed-groups update oidc": func() (cli.Command, error) {
|
|
return &managedgroupscmd.OidcCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"managed-groups update ldap": func() (cli.Command, error) {
|
|
return &managedgroupscmd.LdapCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
|
|
"roles": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"roles create": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"roles update": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"roles read": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"roles delete": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"roles list": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"roles add-principals": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-principals",
|
|
}, nil
|
|
},
|
|
"roles set-principals": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-principals",
|
|
}, nil
|
|
},
|
|
"roles remove-principals": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-principals",
|
|
}, nil
|
|
},
|
|
"roles add-grants": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-grants",
|
|
}, nil
|
|
},
|
|
"roles set-grants": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-grants",
|
|
}, nil
|
|
},
|
|
"roles remove-grants": func() (cli.Command, error) {
|
|
return &rolescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-grants",
|
|
}, nil
|
|
},
|
|
|
|
"scopes": func() (cli.Command, error) {
|
|
return &scopescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"scopes create": func() (cli.Command, error) {
|
|
return &scopescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"scopes read": func() (cli.Command, error) {
|
|
return &scopescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"scopes update": func() (cli.Command, error) {
|
|
return &scopescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"scopes delete": func() (cli.Command, error) {
|
|
return &scopescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"scopes list": func() (cli.Command, error) {
|
|
return &scopescmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"scopes list-keys": func() (cli.Command, error) {
|
|
return &scopescmd.ListKeysCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"scopes rotate-keys": func() (cli.Command, error) {
|
|
return &scopescmd.RotateKeysCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"scopes list-key-version-destruction-jobs": func() (cli.Command, error) {
|
|
return &scopescmd.ListKeyVersionDestructionJobsCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"scopes destroy-key-version": func() (cli.Command, error) {
|
|
return &scopescmd.DestroyKeyVersionCommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
|
|
"sessions": func() (cli.Command, error) {
|
|
return &sessionscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"sessions read": func() (cli.Command, error) {
|
|
return &sessionscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"sessions list": func() (cli.Command, error) {
|
|
return &sessionscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"sessions cancel": func() (cli.Command, error) {
|
|
return &sessionscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "cancel",
|
|
}, nil
|
|
},
|
|
|
|
"targets": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"targets authorize-session": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "authorize-session",
|
|
}, nil
|
|
},
|
|
"targets read": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"targets delete": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"targets list": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"targets create": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"targets create tcp": func() (cli.Command, error) {
|
|
return &targetscmd.TcpCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"targets create ssh": func() (cli.Command, error) {
|
|
return &targetscmd.SshCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"targets update": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"targets update tcp": func() (cli.Command, error) {
|
|
return &targetscmd.TcpCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"targets update ssh": func() (cli.Command, error) {
|
|
return &targetscmd.SshCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"targets add-host-sources": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-host-sources",
|
|
}, nil
|
|
},
|
|
"targets remove-host-sources": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-host-sources",
|
|
}, nil
|
|
},
|
|
"targets set-host-sources": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-host-sources",
|
|
}, nil
|
|
},
|
|
"targets add-credential-sources": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-credential-sources",
|
|
}, nil
|
|
},
|
|
"targets remove-credential-sources": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-credential-sources",
|
|
}, nil
|
|
},
|
|
"targets set-credential-sources": func() (cli.Command, error) {
|
|
return &targetscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-credential-sources",
|
|
}, nil
|
|
},
|
|
|
|
"users": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"users create": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"users read": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"users update": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"users delete": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"users list": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"users add-accounts": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-accounts",
|
|
}, nil
|
|
},
|
|
"users set-accounts": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-accounts",
|
|
}, nil
|
|
},
|
|
"users remove-accounts": func() (cli.Command, error) {
|
|
return &userscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-accounts",
|
|
}, nil
|
|
},
|
|
|
|
"workers": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"workers create": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"workers create worker-led": func() (cli.Command, error) {
|
|
return &workerscmd.WorkerLedCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"workers create controller-led": func() (cli.Command, error) {
|
|
return &workerscmd.ControllerLedCommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "create",
|
|
}, nil
|
|
},
|
|
"workers read": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"workers update": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "update",
|
|
}, nil
|
|
},
|
|
"workers delete": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "delete",
|
|
}, nil
|
|
},
|
|
"workers list": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "list",
|
|
}, nil
|
|
},
|
|
"workers add-worker-tags": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "add-worker-tags",
|
|
}, nil
|
|
},
|
|
"workers set-worker-tags": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "set-worker-tags",
|
|
}, nil
|
|
},
|
|
"workers remove-worker-tags": func() (cli.Command, error) {
|
|
return &workerscmd.Command{
|
|
Command: base.NewCommand(ui),
|
|
Func: "remove-worker-tags",
|
|
}, nil
|
|
},
|
|
"workers certificate-authority": func() (cli.Command, error) {
|
|
return &workerscmd.WorkerCACommand{
|
|
Command: base.NewCommand(ui),
|
|
}, nil
|
|
},
|
|
"workers certificate-authority read": func() (cli.Command, error) {
|
|
return &workerscmd.WorkerCACommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "read",
|
|
}, nil
|
|
},
|
|
"workers certificate-authority reinitialize": func() (cli.Command, error) {
|
|
return &workerscmd.WorkerCACommand{
|
|
Command: base.NewCommand(ui),
|
|
Func: "reinitialize",
|
|
}, nil
|
|
},
|
|
}
|
|
|
|
for _, fn := range extraCommandsFuncs {
|
|
if fn != nil {
|
|
fn()
|
|
}
|
|
}
|
|
}
|
|
|
|
var extraCommandsFuncs []func()
|