func Create()

in pkg/api/deploymentapi/deptemplateapi/create.go [67:97]


func Create(params CreateParams) (string, error) {
	if err := params.Validate(); err != nil {
		return "", err
	}

	var res idResponse
	var err error
	if params.TemplateID == "" {
		_, res, err = params.V1API.DeploymentTemplates.CreateDeploymentTemplateV2(
			deployment_templates.NewCreateDeploymentTemplateV2Params().
				WithRegion(params.Region).
				WithBody(params.Request),
			params.AuthWriter,
		)
	} else {
		_, res, err = params.V1API.DeploymentTemplates.SetDeploymentTemplateV2(
			deployment_templates.NewSetDeploymentTemplateV2Params().
				WithTemplateID(params.TemplateID).
				WithCreateOnly(ec.Bool(true)).
				WithRegion(params.Region).
				WithBody(params.Request),
			params.AuthWriter,
		)
	}

	if err != nil {
		return "", apierror.Wrap(err)
	}

	return *res.GetPayload().ID, nil
}