in service/machinelearning/deserializers.go [7166:7444]
func awsAwsjson11_deserializeOpDocumentGetMLModelOutput(v **GetMLModelOutput, 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 *GetMLModelOutput
if *v == nil {
sv = &GetMLModelOutput{}
} else {
sv = *v
}
for key, value := range shape {
switch key {
case "ComputeTime":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected LongType to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.ComputeTime = ptr.Int64(i64)
}
case "CreatedAt":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected EpochTime to be a JSON Number, got %T instead", value)
}
}
case "CreatedByIamUser":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected AwsUserArn to be of type string, got %T instead", value)
}
sv.CreatedByIamUser = ptr.String(jtv)
}
case "EndpointInfo":
if err := awsAwsjson11_deserializeDocumentRealtimeEndpointInfo(&sv.EndpointInfo, value); err != nil {
return err
}
case "FinishedAt":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.FinishedAt = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected EpochTime to be a JSON Number, got %T instead", value)
}
}
case "InputDataLocationS3":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected S3Url to be of type string, got %T instead", value)
}
sv.InputDataLocationS3 = ptr.String(jtv)
}
case "LastUpdatedAt":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.LastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected EpochTime to be a JSON Number, got %T instead", value)
}
}
case "LogUri":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected PresignedS3Url to be of type string, got %T instead", value)
}
sv.LogUri = ptr.String(jtv)
}
case "Message":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Message to be of type string, got %T instead", value)
}
sv.Message = ptr.String(jtv)
}
case "MLModelId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected EntityId to be of type string, got %T instead", value)
}
sv.MLModelId = ptr.String(jtv)
}
case "MLModelType":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected MLModelType to be of type string, got %T instead", value)
}
sv.MLModelType = types.MLModelType(jtv)
}
case "Name":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected MLModelName to be of type string, got %T instead", value)
}
sv.Name = ptr.String(jtv)
}
case "Recipe":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected Recipe to be of type string, got %T instead", value)
}
sv.Recipe = ptr.String(jtv)
}
case "Schema":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected DataSchema to be of type string, got %T instead", value)
}
sv.Schema = ptr.String(jtv)
}
case "ScoreThreshold":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.ScoreThreshold = ptr.Float32(float32(f64))
case string:
var f64 float64
switch {
case strings.EqualFold(jtv, "NaN"):
f64 = math.NaN()
case strings.EqualFold(jtv, "Infinity"):
f64 = math.Inf(1)
case strings.EqualFold(jtv, "-Infinity"):
f64 = math.Inf(-1)
default:
return fmt.Errorf("unknown JSON number value: %s", jtv)
}
sv.ScoreThreshold = ptr.Float32(float32(f64))
default:
return fmt.Errorf("expected ScoreThreshold to be a JSON Number, got %T instead", value)
}
}
case "ScoreThresholdLastUpdatedAt":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.ScoreThresholdLastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected EpochTime to be a JSON Number, got %T instead", value)
}
}
case "SizeInBytes":
if value != nil {
jtv, ok := value.(json.Number)
if !ok {
return fmt.Errorf("expected LongType to be json.Number, got %T instead", value)
}
i64, err := jtv.Int64()
if err != nil {
return err
}
sv.SizeInBytes = ptr.Int64(i64)
}
case "StartedAt":
if value != nil {
switch jtv := value.(type) {
case json.Number:
f64, err := jtv.Float64()
if err != nil {
return err
}
sv.StartedAt = ptr.Time(smithytime.ParseEpochSeconds(f64))
default:
return fmt.Errorf("expected EpochTime to be a JSON Number, got %T instead", value)
}
}
case "Status":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected EntityStatus to be of type string, got %T instead", value)
}
sv.Status = types.EntityStatus(jtv)
}
case "TrainingDataSourceId":
if value != nil {
jtv, ok := value.(string)
if !ok {
return fmt.Errorf("expected EntityId to be of type string, got %T instead", value)
}
sv.TrainingDataSourceId = ptr.String(jtv)
}
case "TrainingParameters":
if err := awsAwsjson11_deserializeDocumentTrainingParameters(&sv.TrainingParameters, value); err != nil {
return err
}
default:
_, _ = key, value
}
}
*v = sv
return nil
}