github.com/vmware/govmomi@v0.51.0/cli/disk/rm.go (about)

     1  // © Broadcom. All Rights Reserved.
     2  // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
     3  // SPDX-License-Identifier: Apache-2.0
     4  
     5  package disk
     6  
     7  import (
     8  	"context"
     9  	"flag"
    10  
    11  	"github.com/vmware/govmomi/cli"
    12  	"github.com/vmware/govmomi/cli/flags"
    13  )
    14  
    15  type rm struct {
    16  	*flags.DatastoreFlag
    17  }
    18  
    19  func init() {
    20  	cli.Register("disk.rm", &rm{})
    21  }
    22  
    23  func (cmd *rm) Register(ctx context.Context, f *flag.FlagSet) {
    24  	cmd.DatastoreFlag, ctx = flags.NewDatastoreFlag(ctx)
    25  	cmd.DatastoreFlag.Register(ctx, f)
    26  }
    27  
    28  func (cmd *rm) Usage() string {
    29  	return "ID"
    30  }
    31  
    32  func (cmd *rm) Description() string {
    33  	return `Remove disk ID on DS.
    34  
    35  Examples:
    36    govc disk.rm ID`
    37  }
    38  
    39  func (cmd *rm) Run(ctx context.Context, f *flag.FlagSet) error {
    40  	if f.NArg() != 1 {
    41  		return flag.ErrHelp
    42  	}
    43  
    44  	m, err := NewManagerFromFlag(ctx, cmd.DatastoreFlag)
    45  	if err != nil {
    46  		return err
    47  	}
    48  
    49  	return m.Delete(ctx, f.Arg(0))
    50  }