in service/migrationhuborchestrator/deserializers.go [2612:2843]
func awsRestjson1_deserializeOpDocumentGetWorkflowStepOutput(v **GetWorkflowStepOutput, value interface{}) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
if value == nil {
return nil
}
shape, ok := value.(map[string]interface{})
if !ok {
return fmt.Errorf("unexpected JSON type %v", value)
}
var sv *GetWorkflowStepOutput
if *v == nil {
sv = &GetWorkflowStepOutput{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "creationTime":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.CreationTime = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value)
}
}
case "description":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.Description = ptr.String(jtv)
}
case "endTime":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.EndTime = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value)
}
}
case "lastStartTime":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.LastStartTime = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value)
}
}
case "name":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.Name = ptr.String(jtv)
}
case "next":
if err := awsRestjson1_deserializeDocumentStringList(&sv.Next, value); err != nil {
return err
}
case "noOfSrvCompleted":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected Integer to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.NoOfSrvCompleted = ptr.Int32(int32(i64))
}
case "noOfSrvFailed":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected Integer to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.NoOfSrvFailed = ptr.Int32(int32(i64))
}
case "outputs":
if err := awsRestjson1_deserializeDocumentWorkflowStepOutputList(&sv.Outputs, value); err != nil {
return err
}
case "owner":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Owner to be of type string, got %T instead", value)
}
sv.Owner = types.Owner(jtv)
}
case "previous":
if err := awsRestjson1_deserializeDocumentStringList(&sv.Previous, value); err != nil {
return err
}
case "scriptOutputLocation":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.ScriptOutputLocation = ptr.String(jtv)
}
case "status":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected StepStatus to be of type string, got %T instead", value)
}
sv.Status = types.StepStatus(jtv)
}
case "statusMessage":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.StatusMessage = ptr.String(jtv)
}
case "stepActionType":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected StepActionType to be of type string, got %T instead", value)
}
sv.StepActionType = types.StepActionType(jtv)
}
case "stepGroupId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.StepGroupId = ptr.String(jtv)
}
case "stepId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.StepId = ptr.String(jtv)
}
case "stepTarget":
if err := awsRestjson1_deserializeDocumentStringList(&sv.StepTarget, value); err != nil {
return err
}
case "totalNoOfSrv":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected Integer to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.TotalNoOfSrv = ptr.Int32(int32(i64))
}
case "workflowId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected String to be of type string, got %T instead", value)
}
sv.WorkflowId = ptr.String(jtv)
}
case "workflowStepAutomationConfiguration":
if err := awsRestjson1_deserializeDocumentWorkflowStepAutomationConfiguration(&sv.WorkflowStepAutomationConfiguration, value); err != nil {
return err
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}