本文整理汇总了Golang中github.com/bryanl/doit.NewMissingArgsErr函数的典型用法代码示例。如果您正苦于以下问题:Golang NewMissingArgsErr函数的具体用法?Golang NewMissingArgsErr怎么用?Golang NewMissingArgsErr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewMissingArgsErr函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: RunKeyUpdate
// RunKeyUpdate updates a key.
func RunKeyUpdate(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
rawKey := args[0]
name, err := config.GetString(ns, doit.ArgKeyName)
if err != nil {
return err
}
req := &godo.KeyUpdateRequest{
Name: name,
}
var key *godo.Key
if i, aerr := strconv.Atoi(rawKey); aerr == nil {
key, _, err = client.Keys.UpdateByID(i, req)
} else {
key, _, err = client.Keys.UpdateByFingerprint(rawKey, req)
}
if err != nil {
return err
}
return doit.DisplayOutput(key, out)
}
示例2: RunKeyGet
// RunKeyGet retrieves a key.
func RunKeyGet(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
rawKey := args[0]
var err error
var key *godo.Key
if i, aerr := strconv.Atoi(rawKey); aerr == nil {
key, _, err = client.Keys.GetByID(i)
} else {
if len(rawKey) > 0 {
key, _, err = client.Keys.GetByFingerprint(rawKey)
} else {
err = fmt.Errorf("missing key id or fingerprint")
}
}
if err != nil {
return err
}
return doit.DisplayOutput(key, out)
}
示例3: RunDropletActionResize
// RunDropletActionResize resizesx a droplet giving a size slug and
// optionally expands the disk.
func RunDropletActionResize(ns string, config doit.Config, out io.Writer, args []string) error {
fn := func(client *godo.Client) (*godo.Action, error) {
if len(args) != 1 {
return nil, doit.NewMissingArgsErr(ns)
}
id, err := strconv.Atoi(args[0])
if err != nil {
return nil, err
}
size, err := config.GetString(ns, doit.ArgImageSlug)
if err != nil {
return nil, err
}
disk, err := config.GetBool(ns, doit.ArgResizeDisk)
if err != nil {
return nil, err
}
a, _, err := client.DropletActions.Resize(id, size, disk)
return a, err
}
return performAction(out, config, fn)
}
示例4: RunImagesGet
// RunImagesGet retrieves an image by id or slug.
func RunImagesGet(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
rawID := args[0]
var image *godo.Image
var err error
if id, cerr := strconv.Atoi(rawID); cerr == nil {
image, _, err = client.Images.GetByID(id)
} else {
if len(rawID) > 0 {
image, _, err = client.Images.GetBySlug(rawID)
} else {
err = fmt.Errorf("image identifier is required")
}
}
if err != nil {
return err
}
return doit.DisplayOutput(image, out)
}
示例5: RunKeyCreate
// RunKeyCreate uploads a SSH key.
func RunKeyCreate(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
name := args[0]
publicKey, err := config.GetString(ns, doit.ArgKeyPublicKey)
if err != nil {
return err
}
kcr := &godo.KeyCreateRequest{
Name: name,
PublicKey: publicKey,
}
r, _, err := client.Keys.Create(kcr)
if err != nil {
logrus.WithField("err", err).Fatal("could not create key")
}
return doit.DisplayOutput(r, out)
}
示例6: RunDropletActionRebuild
// RunDropletActionRebuild rebuilds a droplet using an image id or slug.
func RunDropletActionRebuild(ns string, config doit.Config, out io.Writer, args []string) error {
fn := func(client *godo.Client) (*godo.Action, error) {
if len(args) != 1 {
return nil, doit.NewMissingArgsErr(ns)
}
id, err := strconv.Atoi(args[0])
if err != nil {
return nil, err
}
image, err := config.GetString(ns, doit.ArgImage)
if err != nil {
return nil, err
}
var a *godo.Action
if i, aerr := strconv.Atoi(image); aerr == nil {
a, _, err = client.DropletActions.RebuildByImageID(id, i)
} else {
a, _, err = client.DropletActions.RebuildByImageSlug(id, image)
}
return a, err
}
return performAction(out, config, fn)
}
示例7: RunImageActionsTransfer
// RunImageActionsTransfer an image.
func RunImageActionsTransfer(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
id, err := strconv.Atoi(args[0])
if err != nil {
return err
}
region, err := config.GetString(ns, doit.ArgRegionSlug)
if err != nil {
return err
}
req := &godo.ActionRequest{
"region": region,
}
action, _, err := client.ImageActions.Transfer(id, req)
if err != nil {
logrus.WithField("err", err).Fatal("could not transfer image")
}
return doit.DisplayOutput(action, out)
}
示例8: RunDomainCreate
// RunDomainCreate runs domain create.
func RunDomainCreate(ns string, config doit.Config, out io.Writer, args []string) error {
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
domainName := args[0]
client := config.GetGodoClient()
ipAddress, err := config.GetString(ns, "ip-address")
if err != nil {
return err
}
req := &godo.DomainCreateRequest{
Name: domainName,
IPAddress: ipAddress,
}
d, _, err := client.Domains.Create(req)
if err != nil {
return err
}
return doit.DisplayOutput(d, out)
}
示例9: RunImagesUpdate
// RunImagesUpdate updates an image.
func RunImagesUpdate(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
id, err := strconv.Atoi(args[0])
if err != nil {
return err
}
name, err := config.GetString(ns, doit.ArgImageName)
req := &godo.ImageUpdateRequest{
Name: name,
}
image, _, err := client.Images.Update(id, req)
if err != nil {
return err
}
return doit.DisplayOutput(image, out)
}
示例10: RunRecordUpdate
// RunRecordUpdate updates a domain record.
func RunRecordUpdate(ns string, config doit.Config, out io.Writer, args []string) error {
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
domainName := args[0]
client := config.GetGodoClient()
recordID, err := config.GetInt(ns, doit.ArgRecordID)
if err != nil {
return err
}
rType, err := config.GetString(ns, doit.ArgRecordType)
if err != nil {
return err
}
rName, err := config.GetString(ns, doit.ArgRecordName)
if err != nil {
return err
}
rData, err := config.GetString(ns, doit.ArgRecordData)
if err != nil {
return err
}
rPriority, err := config.GetInt(ns, doit.ArgRecordPriority)
if err != nil {
return err
}
rPort, err := config.GetInt(ns, doit.ArgRecordPort)
if err != nil {
return err
}
rWeight, err := config.GetInt(ns, doit.ArgRecordWeight)
if err != nil {
return err
}
drcr := &godo.DomainRecordEditRequest{
Type: rType,
Name: rName,
Data: rData,
Priority: rPriority,
Port: rPort,
Weight: rWeight,
}
r, _, err := client.Domains.EditRecord(domainName, recordID, drcr)
if err != nil {
return err
}
return doit.DisplayOutput(r, out)
}
示例11: RunDropletActionShutdown
// RunDropletActionShutdown shuts a droplet down.
func RunDropletActionShutdown(ns string, config doit.Config, out io.Writer, args []string) error {
fn := func(client *godo.Client) (*godo.Action, error) {
if len(args) != 1 {
return nil, doit.NewMissingArgsErr(ns)
}
id, err := strconv.Atoi(args[0])
a, _, err := client.DropletActions.Shutdown(id)
return a, err
}
return performAction(out, config, fn)
}
示例12: RunFloatingIPActionsUnassign
// RunFloatingIPActionsUnassign unassigns a floating IP to a droplet.
func RunFloatingIPActionsUnassign(ns string, config doit.Config, out io.Writer, args []string) error {
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
ip := args[0]
client := config.GetGodoClient()
action, _, err := client.FloatingIPActions.Unassign(ip)
if err != nil {
logrus.WithField("err", err).Fatal("could not unsassign IP to droplet")
}
return doit.DisplayOutput(action, out)
}
示例13: RunImagesDelete
// RunImagesDelete deletes an image.
func RunImagesDelete(ns string, config doit.Config, out io.Writer, args []string) error {
client := config.GetGodoClient()
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
id, err := strconv.Atoi(args[0])
if err != nil {
return err
}
_, err = client.Images.Delete(id)
return err
}
示例14: RunDomainDelete
// RunDomainDelete deletes a domain by name.
func RunDomainDelete(ns string, config doit.Config, out io.Writer, args []string) error {
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
name := args[0]
client := config.GetGodoClient()
if len(name) < 1 {
return errors.New("invalid domain name")
}
_, err := client.Domains.Delete(name)
return err
}
示例15: RunRecordDelete
// RunRecordDelete deletes a domain record.
func RunRecordDelete(ns string, config doit.Config, out io.Writer, args []string) error {
if len(args) != 1 {
return doit.NewMissingArgsErr(ns)
}
domainName := args[0]
client := config.GetGodoClient()
recordID, err := config.GetInt(ns, doit.ArgRecordID)
if err != nil {
return err
}
_, err = client.Domains.DeleteRecord(domainName, recordID)
return err
}