So I kinda get around it. What I did is:I Created this custom Python Tool...
import arcpy
mapDoc = arcpy.GetParameterAsText(0)
service = arcpy.GetParameterAsText(1)
sddraft = 'C:\\GISData\\NIEA\\{}.sddraft'.format(service)
# create service definition draft
analysis = arcpy.mapping.CreateMapSDDraft(mapDoc, sddraft, service, 'MY_HOSTED_SERVICES')
# stage and upload the service if the sddraft analysis did not contain errors
if analysis['errors'] == {}:
arcpy.SetParameterAsText(0, sddraft)
else:
arcpy.SetParameterAsText(0, sddraft)
... and the Service Definition Draft is created without a hitch. Now I'm trying to pass the output SD draft to the Stage Service (Server) tool, inside the model, but I haven't yet been able to pass the output of the custom tool to the Stage Service tool. The stage tool is expecting a file type input parameter, but even though I set the output of the custom tool to be a file, it's still not working... There's a way around it, but it's not very "elegant". Use a preexisting SD Draft as the input of Stage Service tool, and have the custom tool just replace that sddraft file... any other ideas?