code: func NewCmdReconcile(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command {
  	o := NewReconcileOptions(streams)
  
  	cmd := &cobra.Command{
  		Use:                   "reconcile -f FILENAME",
  		DisableFlagsInUseLine: true,
  		Short:                 "Reconciles rules for RBAC Role, RoleBinding, ClusterRole, and ClusterRole binding objects",
  		Long:                  reconcileLong,
  		Example:               reconcileExample,
  		Run: func(cmd *cobra.Command, args []string) {
  			cmdutil.CheckErr(o.Complete(cmd, f, args))
  			cmdutil.CheckErr(o.Validate())
  			cmdutil.CheckErr(o.RunReconcile())
  		},
  	}
  
  	o.PrintFlags.AddFlags(cmd)
  
  	cmdutil.AddFilenameOptionFlags(cmd, o.FilenameOptions, "identifying the resource to reconcile.")
  	cmd.Flags().BoolVar(&o.DryRun, "dry-run", o.DryRun, "If true, display results but do not submit changes")
  	cmd.Flags().BoolVar(&o.RemoveExtraPermissions, "remove-extra-permissions", o.RemoveExtraPermissions, "If true, removes extra permissions added to roles")
  	cmd.Flags().BoolVar(&o.RemoveExtraSubjects, "remove-extra-subjects", o.RemoveExtraSubjects, "If true, removes extra subjects added to rolebindings")
  
  	return cmd
  }
docs: // NewCmdReconcile holds the options for 'auth reconcile' sub command