901c1cc6cf
This adds scaffolding but no real functionality yet, as part of marapongo/mu#41. I am landing this now because I need to take a not-so-brief detour to gut and overhaul the core of the existing compiler (parsing, semantic analysis, binding, code-gen, etc), including merging the new pkg/pack contents back into the primary top-level namespaces (like pkg/ast and pkg/encoding). After that, I can begin driving the compiler to achieve the desired effects of mu compile, first and foremost, and then plan and apply later on.
31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
// Copyright 2016 Marapongo, Inc. All rights reserved.
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func newPlanCmd() *cobra.Command {
|
|
var cmd = &cobra.Command{
|
|
Use: "plan [blueprint] [-- [args]]",
|
|
Short: "Generate a deployment plan from a Mu blueprint",
|
|
Long: "Generate a deployment plan from a Mu blueprint.\n" +
|
|
"\n" +
|
|
"A plan describes the overall graph and set of operations that will be performed\n" +
|
|
"as part of a Mu deployment. No actual resource creations, updates, or deletions\n" +
|
|
"will take place. This plan is as complete as possible without actually performing\n" +
|
|
"the operations described in the plan (with the caveat that conditional execution\n" +
|
|
"may obscure certain details, something that will be evident in plan's output).\n" +
|
|
"\n" +
|
|
"By default, a blueprint package is loaded from the current directory. Optionally,\n" +
|
|
"a path to a blueprint elsewhere can be provided as the [blueprint] argument.",
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
},
|
|
}
|
|
|
|
// TODO: options; most importantly, what to compare the blueprint against.
|
|
|
|
return cmd
|
|
}
|