These were exported inf60369dfe6to be used in docker enterprise, but this never happened, and there's no known consumers of these, so we should deprecate these. External consumers can still call the API-client directly, which should've been the correct thing to do in the first place. This deprecates: - `RunConfigCreate` and `CreateOptions` - `RunConfigInspect` and `InspectOptions` - `RunConfigList` and `ListOptions` - `RunConfigRemove` and `RemoveOptions` Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commita5f4ba08d9) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
57 lines
1.5 KiB
Go
57 lines
1.5 KiB
Go
package config
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"fmt"
|
|
|
|
"github.com/docker/cli/cli"
|
|
"github.com/docker/cli/cli/command"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
// RemoveOptions contains options for the docker config rm command.
|
|
//
|
|
// Deprecated: this type was for internal use and will be removed in the next release.
|
|
type RemoveOptions struct {
|
|
Names []string
|
|
}
|
|
|
|
func newConfigRemoveCommand(dockerCLI command.Cli) *cobra.Command {
|
|
return &cobra.Command{
|
|
Use: "rm CONFIG [CONFIG...]",
|
|
Aliases: []string{"remove"},
|
|
Short: "Remove one or more configs",
|
|
Args: cli.RequiresMinArgs(1),
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
return runRemove(cmd.Context(), dockerCLI, args)
|
|
},
|
|
ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
|
|
return completeNames(dockerCLI)(cmd, args, toComplete)
|
|
},
|
|
}
|
|
}
|
|
|
|
// RunConfigRemove removes the given Swarm configs.
|
|
//
|
|
// Deprecated: this function was for internal use and will be removed in the next release.
|
|
func RunConfigRemove(ctx context.Context, dockerCLI command.Cli, opts RemoveOptions) error {
|
|
return runRemove(ctx, dockerCLI, opts.Names)
|
|
}
|
|
|
|
// runRemove removes the given Swarm configs.
|
|
func runRemove(ctx context.Context, dockerCLI command.Cli, names []string) error {
|
|
apiClient := dockerCLI.Client()
|
|
|
|
var errs []error
|
|
for _, name := range names {
|
|
if err := apiClient.ConfigRemove(ctx, name); err != nil {
|
|
errs = append(errs, err)
|
|
continue
|
|
}
|
|
_, _ = fmt.Fprintln(dockerCLI.Out(), name)
|
|
}
|
|
|
|
return errors.Join(errs...)
|
|
}
|