package cli

import (
	"github.com/spf13/cobra"
)

// newTenantsCmd returns the tenants parent command.
//
// Subcommands: dedicated (k8s/S3 discovery), essential (staged mgmt/rds/s3
// collection), merge (combine lists into a flat array).
func newTenantsCmd() *cobra.Command {
	cmd := &cobra.Command{
		Use:   "tenants",
		Short: "Build tenant lists (dedicated, essential, merge)",
		Long: `Produce tenant list JSONs that feed plan compile / manifest:
  dedicated  discover dedicated tenants (k8s, s3)
  essential  collect Essential-tier tenants in stages (mgmt, rds, s3)
  merge      combine tenant list files into a flat tenant list`,
		SilenceUsage: true,
	}
	cmd.AddCommand(
		newTenantsDedicatedCmd(),
		newTenantsEssentialCmd(),
		newTenantsMergeCmd(),
	)
	return cmd
}
