github.com/jrxfive/nomad@v0.6.1-0.20170802162750-1fef470e89bf/commands.go (about)

     1  package main
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/hashicorp/nomad/command"
     7  	"github.com/hashicorp/nomad/command/agent"
     8  	"github.com/mitchellh/cli"
     9  )
    10  
    11  // Commands returns the mapping of CLI commands for Nomad. The meta
    12  // parameter lets you set meta options for all commands.
    13  func Commands(metaPtr *command.Meta) map[string]cli.CommandFactory {
    14  	if metaPtr == nil {
    15  		metaPtr = new(command.Meta)
    16  	}
    17  
    18  	meta := *metaPtr
    19  	if meta.Ui == nil {
    20  		meta.Ui = &cli.BasicUi{
    21  			Reader:      os.Stdin,
    22  			Writer:      os.Stdout,
    23  			ErrorWriter: os.Stderr,
    24  		}
    25  	}
    26  
    27  	return map[string]cli.CommandFactory{
    28  		"alloc-status": func() (cli.Command, error) {
    29  			return &command.AllocStatusCommand{
    30  				Meta: meta,
    31  			}, nil
    32  		},
    33  		"agent": func() (cli.Command, error) {
    34  			return &agent.Command{
    35  				Revision:          GitCommit,
    36  				Version:           Version,
    37  				VersionPrerelease: VersionPrerelease,
    38  				Ui:                meta.Ui,
    39  				ShutdownCh:        make(chan struct{}),
    40  			}, nil
    41  		},
    42  		"agent-info": func() (cli.Command, error) {
    43  			return &command.AgentInfoCommand{
    44  				Meta: meta,
    45  			}, nil
    46  		},
    47  		"check": func() (cli.Command, error) {
    48  			return &command.AgentCheckCommand{
    49  				Meta: meta,
    50  			}, nil
    51  		},
    52  		"client-config": func() (cli.Command, error) {
    53  			return &command.ClientConfigCommand{
    54  				Meta: meta,
    55  			}, nil
    56  		},
    57  		"deployment": func() (cli.Command, error) {
    58  			return &command.DeploymentCommand{
    59  				Meta: meta,
    60  			}, nil
    61  		},
    62  		"deployment fail": func() (cli.Command, error) {
    63  			return &command.DeploymentFailCommand{
    64  				Meta: meta,
    65  			}, nil
    66  		},
    67  		"deployment list": func() (cli.Command, error) {
    68  			return &command.DeploymentListCommand{
    69  				Meta: meta,
    70  			}, nil
    71  		},
    72  		"deployment pause": func() (cli.Command, error) {
    73  			return &command.DeploymentPauseCommand{
    74  				Meta: meta,
    75  			}, nil
    76  		},
    77  		"deployment promote": func() (cli.Command, error) {
    78  			return &command.DeploymentPromoteCommand{
    79  				Meta: meta,
    80  			}, nil
    81  		},
    82  		"deployment resume": func() (cli.Command, error) {
    83  			return &command.DeploymentResumeCommand{
    84  				Meta: meta,
    85  			}, nil
    86  		},
    87  		"deployment status": func() (cli.Command, error) {
    88  			return &command.DeploymentStatusCommand{
    89  				Meta: meta,
    90  			}, nil
    91  		},
    92  		"eval-status": func() (cli.Command, error) {
    93  			return &command.EvalStatusCommand{
    94  				Meta: meta,
    95  			}, nil
    96  		},
    97  		"executor": func() (cli.Command, error) {
    98  			return &command.ExecutorPluginCommand{
    99  				Meta: meta,
   100  			}, nil
   101  		},
   102  		"fs": func() (cli.Command, error) {
   103  			return &command.FSCommand{
   104  				Meta: meta,
   105  			}, nil
   106  		},
   107  		"init": func() (cli.Command, error) {
   108  			return &command.InitCommand{
   109  				Meta: meta,
   110  			}, nil
   111  		},
   112  		"inspect": func() (cli.Command, error) {
   113  			return &command.InspectCommand{
   114  				Meta: meta,
   115  			}, nil
   116  		},
   117  		"keygen": func() (cli.Command, error) {
   118  			return &command.KeygenCommand{
   119  				Meta: meta,
   120  			}, nil
   121  		},
   122  		"keyring": func() (cli.Command, error) {
   123  			return &command.KeyringCommand{
   124  				Meta: meta,
   125  			}, nil
   126  		},
   127  		"job": func() (cli.Command, error) {
   128  			return &command.JobCommand{
   129  				Meta: meta,
   130  			}, nil
   131  		},
   132  		"job deployments": func() (cli.Command, error) {
   133  			return &command.JobDeploymentsCommand{
   134  				Meta: meta,
   135  			}, nil
   136  		},
   137  		"job dispatch": func() (cli.Command, error) {
   138  			return &command.JobDispatchCommand{
   139  				Meta: meta,
   140  			}, nil
   141  		},
   142  		"job history": func() (cli.Command, error) {
   143  			return &command.JobHistoryCommand{
   144  				Meta: meta,
   145  			}, nil
   146  		},
   147  		"job promote": func() (cli.Command, error) {
   148  			return &command.JobPromoteCommand{
   149  				Meta: meta,
   150  			}, nil
   151  		},
   152  		"job revert": func() (cli.Command, error) {
   153  			return &command.JobRevertCommand{
   154  				Meta: meta,
   155  			}, nil
   156  		},
   157  		"logs": func() (cli.Command, error) {
   158  			return &command.LogsCommand{
   159  				Meta: meta,
   160  			}, nil
   161  		},
   162  		"node-drain": func() (cli.Command, error) {
   163  			return &command.NodeDrainCommand{
   164  				Meta: meta,
   165  			}, nil
   166  		},
   167  		"node-status": func() (cli.Command, error) {
   168  			return &command.NodeStatusCommand{
   169  				Meta: meta,
   170  			}, nil
   171  		},
   172  
   173  		"operator": func() (cli.Command, error) {
   174  			return &command.OperatorCommand{
   175  				Meta: meta,
   176  			}, nil
   177  		},
   178  
   179  		"operator raft": func() (cli.Command, error) {
   180  			return &command.OperatorRaftCommand{
   181  				Meta: meta,
   182  			}, nil
   183  		},
   184  
   185  		"operator raft list-peers": func() (cli.Command, error) {
   186  			return &command.OperatorRaftListCommand{
   187  				Meta: meta,
   188  			}, nil
   189  		},
   190  
   191  		"operator raft remove-peer": func() (cli.Command, error) {
   192  			return &command.OperatorRaftRemoveCommand{
   193  				Meta: meta,
   194  			}, nil
   195  		},
   196  
   197  		"plan": func() (cli.Command, error) {
   198  			return &command.PlanCommand{
   199  				Meta: meta,
   200  			}, nil
   201  		},
   202  
   203  		"run": func() (cli.Command, error) {
   204  			return &command.RunCommand{
   205  				Meta: meta,
   206  			}, nil
   207  		},
   208  		"server-force-leave": func() (cli.Command, error) {
   209  			return &command.ServerForceLeaveCommand{
   210  				Meta: meta,
   211  			}, nil
   212  		},
   213  		"server-join": func() (cli.Command, error) {
   214  			return &command.ServerJoinCommand{
   215  				Meta: meta,
   216  			}, nil
   217  		},
   218  		"server-members": func() (cli.Command, error) {
   219  			return &command.ServerMembersCommand{
   220  				Meta: meta,
   221  			}, nil
   222  		},
   223  		"status": func() (cli.Command, error) {
   224  			return &command.StatusCommand{
   225  				Meta: meta,
   226  			}, nil
   227  		},
   228  		"stop": func() (cli.Command, error) {
   229  			return &command.StopCommand{
   230  				Meta: meta,
   231  			}, nil
   232  		},
   233  		"validate": func() (cli.Command, error) {
   234  			return &command.ValidateCommand{
   235  				Meta: meta,
   236  			}, nil
   237  		},
   238  		"version": func() (cli.Command, error) {
   239  			return &command.VersionCommand{
   240  				Version: PrettyVersion(GetVersionParts()),
   241  				Ui:      meta.Ui,
   242  			}, nil
   243  		},
   244  	}
   245  }