MCPcopy Create free account
hub / github.com/apache/openwhisk-cli / parseAction

Function parseAction

commands/action.go:399–490  ·  view source on GitHub ↗
(cmd *cobra.Command, args []string, update bool)

Source from the content-addressed store, hash-verified

397}
398
399func parseAction(cmd *cobra.Command, args []string, update bool) (*whisk.Action, error) {
400 var err error
401 var existingAction *whisk.Action
402 var paramArgs []string
403 var annotArgs []string
404 var parameters interface{}
405 var annotations interface{}
406
407 var qualifiedName = new(QualifiedName)
408
409 if qualifiedName, err = NewQualifiedName(args[0]); err != nil {
410 return nil, NewQualifiedNameError(args[0], err)
411 }
412
413 Client.Namespace = qualifiedName.GetNamespace()
414 action := new(whisk.Action)
415 action.Name = qualifiedName.GetEntityName()
416 action.Namespace = qualifiedName.GetNamespace()
417 action.Limits = getLimits(
418 cmd.LocalFlags().Changed(MEMORY_FLAG),
419 cmd.LocalFlags().Changed(LOG_SIZE_FLAG),
420 cmd.LocalFlags().Changed(TIMEOUT_FLAG),
421 cmd.LocalFlags().Changed(CONCURRENCY_FLAG),
422 Flags.action.memory,
423 Flags.action.logsize,
424 Flags.action.timeout,
425 Flags.action.concurrency)
426
427 paramArgs = Flags.common.param
428 annotArgs = Flags.common.annotation
429
430 if len(paramArgs) > 0 {
431 if parameters, err = getJSONFromStrings(paramArgs, true); err != nil {
432 return nil, getJSONFromStringsParamError(paramArgs, true, err)
433 }
434
435 action.Parameters = parameters.(whisk.KeyValueArr)
436 }
437
438 if len(annotArgs) > 0 {
439 if annotations, err = getJSONFromStrings(annotArgs, true); err != nil {
440 return nil, getJSONFromStringsAnnotError(annotArgs, true, err)
441 }
442
443 action.Annotations = annotations.(whisk.KeyValueArr)
444 }
445
446 if len(Flags.action.kind) > 0 && len(Flags.action.docker) > 0 {
447 errStr := wski18n.T("Cannot specify both --kind and --docker at the same time.")
448 return nil, whisk.MakeWskError(errors.New(errStr), whisk.NOT_ALLOWED, whisk.DISPLAY_MSG, whisk.NO_DISPLAY_USAGE)
449 }
450
451 if Flags.action.copy {
452 var copiedQualifiedName = new(QualifiedName)
453
454 if copiedQualifiedName, err = NewQualifiedName(args[1]); err != nil {
455 return nil, NewQualifiedNameError(args[1], err)
456 }

Callers 1

action.goFile · 0.85

Calls 13

NewQualifiedNameFunction · 0.85
NewQualifiedNameErrorFunction · 0.85
getLimitsFunction · 0.85
getJSONFromStringsFunction · 0.85
actionGetErrorFunction · 0.85
csvToQualifiedActionsFunction · 0.85
noArtifactErrorFunction · 0.85
getExecFunction · 0.85
GetNamespaceMethod · 0.80
GetEntityNameMethod · 0.80

Tested by

no test coverage detected