code: func NewCmdCreateServiceNodePort(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
  	options := &ServiceNodePortOpts{
  		CreateSubcommandOptions: NewCreateSubcommandOptions(ioStreams),
  	}
  
  	cmd := &cobra.Command{
  		Use:                   "nodeport NAME [--tcp=port:targetPort] [--dry-run]",
  		DisableFlagsInUseLine: true,
  		Short:                 i18n.T("Create a NodePort service."),
  		Long:                  serviceNodePortLong,
  		Example:               serviceNodePortExample,
  		Run: func(cmd *cobra.Command, args []string) {
  			cmdutil.CheckErr(options.Complete(f, cmd, args))
  			cmdutil.CheckErr(options.Run())
  		},
  	}
  
  	options.CreateSubcommandOptions.PrintFlags.AddFlags(cmd)
  
  	cmdutil.AddApplyAnnotationFlags(cmd)
  	cmdutil.AddValidateFlags(cmd)
  	cmdutil.AddGeneratorFlags(cmd, generateversioned.ServiceNodePortGeneratorV1Name)
  	cmd.Flags().Int("node-port", 0, "Port used to expose the service on each node in a cluster.")
  	addPortFlags(cmd)
  	return cmd
  }
docs: // NewCmdCreateServiceNodePort is a macro command for creating a NodePort service