// +build go1.13 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. See License.txt in the project root for license information. // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. package armcontainerregistry import "encoding/json" func unmarshalRunRequestClassification(rawMsg json.RawMessage) (RunRequestClassification, error) { if rawMsg == nil { return nil, nil } var m map[string]interface{} if err := json.Unmarshal(rawMsg, &m); err != nil { return nil, err } var b RunRequestClassification switch m["type"] { case "DockerBuildRequest": b = &DockerBuildRequest{} case "EncodedTaskRunRequest": b = &EncodedTaskRunRequest{} case "FileTaskRunRequest": b = &FileTaskRunRequest{} case "TaskRunRequest": b = &TaskRunRequest{} default: b = &RunRequest{} } return b, json.Unmarshal(rawMsg, b) } func unmarshalRunRequestClassificationArray(rawMsg json.RawMessage) ([]RunRequestClassification, error) { if rawMsg == nil { return nil, nil } var rawMessages []json.RawMessage if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { return nil, err } fArray := make([]RunRequestClassification, len(rawMessages)) for index, rawMessage := range rawMessages { f, err := unmarshalRunRequestClassification(rawMessage) if err != nil { return nil, err } fArray[index] = f } return fArray, nil } func unmarshalTaskStepPropertiesClassification(rawMsg json.RawMessage) (TaskStepPropertiesClassification, error) { if rawMsg == nil { return nil, nil } var m map[string]interface{} if err := json.Unmarshal(rawMsg, &m); err != nil { return nil, err } var b TaskStepPropertiesClassification switch m["type"] { case string(StepTypeDocker): b = &DockerBuildStep{} case string(StepTypeEncodedTask): b = &EncodedTaskStep{} case string(StepTypeFileTask): b = &FileTaskStep{} default: b = &TaskStepProperties{} } return b, json.Unmarshal(rawMsg, b) } func unmarshalTaskStepPropertiesClassificationArray(rawMsg json.RawMessage) ([]TaskStepPropertiesClassification, error) { if rawMsg == nil { return nil, nil } var rawMessages []json.RawMessage if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { return nil, err } fArray := make([]TaskStepPropertiesClassification, len(rawMessages)) for index, rawMessage := range rawMessages { f, err := unmarshalTaskStepPropertiesClassification(rawMessage) if err != nil { return nil, err } fArray[index] = f } return fArray, nil } func unmarshalTaskStepUpdateParametersClassification(rawMsg json.RawMessage) (TaskStepUpdateParametersClassification, error) { if rawMsg == nil { return nil, nil } var m map[string]interface{} if err := json.Unmarshal(rawMsg, &m); err != nil { return nil, err } var b TaskStepUpdateParametersClassification switch m["type"] { case string(StepTypeDocker): b = &DockerBuildStepUpdateParameters{} case string(StepTypeEncodedTask): b = &EncodedTaskStepUpdateParameters{} case string(StepTypeFileTask): b = &FileTaskStepUpdateParameters{} default: b = &TaskStepUpdateParameters{} } return b, json.Unmarshal(rawMsg, b) } func unmarshalTaskStepUpdateParametersClassificationArray(rawMsg json.RawMessage) ([]TaskStepUpdateParametersClassification, error) { if rawMsg == nil { return nil, nil } var rawMessages []json.RawMessage if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { return nil, err } fArray := make([]TaskStepUpdateParametersClassification, len(rawMessages)) for index, rawMessage := range rawMessages { f, err := unmarshalTaskStepUpdateParametersClassification(rawMessage) if err != nil { return nil, err } fArray[index] = f } return fArray, nil }