code: func (o *RoleBindingOpts) Complete(f cmdutil.Factory, cmd *cobra.Command, args []string) error {
  	name, err := NameFromCommandArgs(cmd, args)
  	if err != nil {
  		return err
  	}
  
  	var generator generate.StructuredGenerator
  	switch generatorName := cmdutil.GetFlagString(cmd, "generator"); generatorName {
  	case generateversioned.RoleBindingV1GeneratorName:
  		generator = &generateversioned.RoleBindingGeneratorV1{
  			Name:            name,
  			ClusterRole:     cmdutil.GetFlagString(cmd, "clusterrole"),
  			Role:            cmdutil.GetFlagString(cmd, "role"),
  			Users:           cmdutil.GetFlagStringArray(cmd, "user"),
  			Groups:          cmdutil.GetFlagStringArray(cmd, "group"),
  			ServiceAccounts: cmdutil.GetFlagStringArray(cmd, "serviceaccount"),
  		}
  	default:
  		return errUnsupportedGenerator(cmd, generatorName)
  	}
  
  	return o.CreateSubcommandOptions.Complete(f, cmd, args, generator)
  }
docs: // Complete completes all the required options