in emrstudio-20240430/client/client.go [7069:7194]
func (client *Client) UpdateWorkflowWithOptions(projectId *string, workflowId *string, request *UpdateWorkflowRequest, headers map[string]*string, runtime *util.RuntimeOptions) (_result *UpdateWorkflowResponse, _err error) {
_err = util.ValidateModel(request)
if _err != nil {
return _result, _err
}
query := map[string]interface{}{}
if !tea.BoolValue(util.IsUnset(request.AlertGroupId)) {
query["alertGroupId"] = request.AlertGroupId
}
if !tea.BoolValue(util.IsUnset(request.AlertStrategy)) {
query["alertStrategy"] = request.AlertStrategy
}
if !tea.BoolValue(util.IsUnset(request.CronExpr)) {
query["cronExpr"] = request.CronExpr
}
if !tea.BoolValue(util.IsUnset(request.Description)) {
query["description"] = request.Description
}
if !tea.BoolValue(util.IsUnset(request.ExecutionType)) {
query["executionType"] = request.ExecutionType
}
if !tea.BoolValue(util.IsUnset(request.FailureStrategy)) {
query["failureStrategy"] = request.FailureStrategy
}
if !tea.BoolValue(util.IsUnset(request.Name)) {
query["name"] = request.Name
}
if !tea.BoolValue(util.IsUnset(request.ParentDirectoryId)) {
query["parentDirectoryId"] = request.ParentDirectoryId
}
if !tea.BoolValue(util.IsUnset(request.ResourceGroupId)) {
query["resourceGroupId"] = request.ResourceGroupId
}
if !tea.BoolValue(util.IsUnset(request.ScheduleEndTime)) {
query["scheduleEndTime"] = request.ScheduleEndTime
}
if !tea.BoolValue(util.IsUnset(request.ScheduleStartTime)) {
query["scheduleStartTime"] = request.ScheduleStartTime
}
if !tea.BoolValue(util.IsUnset(request.ScheduleState)) {
query["scheduleState"] = request.ScheduleState
}
if !tea.BoolValue(util.IsUnset(request.TaskDefinitionJson)) {
query["taskDefinitionJson"] = request.TaskDefinitionJson
}
if !tea.BoolValue(util.IsUnset(request.TaskRelationJson)) {
query["taskRelationJson"] = request.TaskRelationJson
}
if !tea.BoolValue(util.IsUnset(request.TimeZone)) {
query["timeZone"] = request.TimeZone
}
if !tea.BoolValue(util.IsUnset(request.Timeout)) {
query["timeout"] = request.Timeout
}
if !tea.BoolValue(util.IsUnset(request.WorkflowInstancePriority)) {
query["workflowInstancePriority"] = request.WorkflowInstancePriority
}
if !tea.BoolValue(util.IsUnset(request.WorkflowParams)) {
query["workflowParams"] = request.WorkflowParams
}
if !tea.BoolValue(util.IsUnset(request.WorkspaceId)) {
query["workspaceId"] = request.WorkspaceId
}
body := map[string]interface{}{}
if !tea.BoolValue(util.IsUnset(request.TaskDefinitionJsonValue)) {
body["taskDefinitionJsonValue"] = request.TaskDefinitionJsonValue
}
if !tea.BoolValue(util.IsUnset(request.TaskRelationJsonValue)) {
body["taskRelationJsonValue"] = request.TaskRelationJsonValue
}
req := &openapi.OpenApiRequest{
Headers: headers,
Query: openapiutil.Query(query),
Body: openapiutil.ParseToMap(body),
}
params := &openapi.Params{
Action: tea.String("UpdateWorkflow"),
Version: tea.String("2024-04-30"),
Protocol: tea.String("HTTPS"),
Pathname: tea.String("/dolphinscheduler/v3/projects/" + tea.StringValue(openapiutil.GetEncodeParam(projectId)) + "/workflows/" + tea.StringValue(openapiutil.GetEncodeParam(workflowId))),
Method: tea.String("PUT"),
AuthType: tea.String("AK"),
Style: tea.String("ROA"),
ReqBodyType: tea.String("json"),
BodyType: tea.String("json"),
}
if tea.BoolValue(util.IsUnset(client.SignatureVersion)) || !tea.BoolValue(util.EqualString(client.SignatureVersion, tea.String("v4"))) {
_result = &UpdateWorkflowResponse{}
_body, _err := client.CallApi(params, req, runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
} else {
_result = &UpdateWorkflowResponse{}
_body, _err := client.Execute(params, req, runtime)
if _err != nil {
return _result, _err
}
_err = tea.Convert(_body, &_result)
return _result, _err
}
}