1// +build go1.13 2 3// Copyright (c) Microsoft Corporation. All rights reserved. 4// Licensed under the MIT License. See License.txt in the project root for license information. 5// Code generated by Microsoft (R) AutoRest Code Generator. 6// Changes may cause incorrect behavior and will be lost if the code is regenerated. 7 8package armcontainerregistry 9 10import "encoding/json" 11 12func unmarshalRunRequestClassification(rawMsg json.RawMessage) (RunRequestClassification, error) { 13 if rawMsg == nil { 14 return nil, nil 15 } 16 var m map[string]interface{} 17 if err := json.Unmarshal(rawMsg, &m); err != nil { 18 return nil, err 19 } 20 var b RunRequestClassification 21 switch m["type"] { 22 case "DockerBuildRequest": 23 b = &DockerBuildRequest{} 24 case "EncodedTaskRunRequest": 25 b = &EncodedTaskRunRequest{} 26 case "FileTaskRunRequest": 27 b = &FileTaskRunRequest{} 28 case "TaskRunRequest": 29 b = &TaskRunRequest{} 30 default: 31 b = &RunRequest{} 32 } 33 return b, json.Unmarshal(rawMsg, b) 34} 35 36func unmarshalRunRequestClassificationArray(rawMsg json.RawMessage) ([]RunRequestClassification, error) { 37 if rawMsg == nil { 38 return nil, nil 39 } 40 var rawMessages []json.RawMessage 41 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 42 return nil, err 43 } 44 fArray := make([]RunRequestClassification, len(rawMessages)) 45 for index, rawMessage := range rawMessages { 46 f, err := unmarshalRunRequestClassification(rawMessage) 47 if err != nil { 48 return nil, err 49 } 50 fArray[index] = f 51 } 52 return fArray, nil 53} 54 55func unmarshalTaskStepPropertiesClassification(rawMsg json.RawMessage) (TaskStepPropertiesClassification, error) { 56 if rawMsg == nil { 57 return nil, nil 58 } 59 var m map[string]interface{} 60 if err := json.Unmarshal(rawMsg, &m); err != nil { 61 return nil, err 62 } 63 var b TaskStepPropertiesClassification 64 switch m["type"] { 65 case string(StepTypeDocker): 66 b = &DockerBuildStep{} 67 case string(StepTypeEncodedTask): 68 b = &EncodedTaskStep{} 69 case string(StepTypeFileTask): 70 b = &FileTaskStep{} 71 default: 72 b = &TaskStepProperties{} 73 } 74 return b, json.Unmarshal(rawMsg, b) 75} 76 77func unmarshalTaskStepPropertiesClassificationArray(rawMsg json.RawMessage) ([]TaskStepPropertiesClassification, error) { 78 if rawMsg == nil { 79 return nil, nil 80 } 81 var rawMessages []json.RawMessage 82 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 83 return nil, err 84 } 85 fArray := make([]TaskStepPropertiesClassification, len(rawMessages)) 86 for index, rawMessage := range rawMessages { 87 f, err := unmarshalTaskStepPropertiesClassification(rawMessage) 88 if err != nil { 89 return nil, err 90 } 91 fArray[index] = f 92 } 93 return fArray, nil 94} 95 96func unmarshalTaskStepUpdateParametersClassification(rawMsg json.RawMessage) (TaskStepUpdateParametersClassification, error) { 97 if rawMsg == nil { 98 return nil, nil 99 } 100 var m map[string]interface{} 101 if err := json.Unmarshal(rawMsg, &m); err != nil { 102 return nil, err 103 } 104 var b TaskStepUpdateParametersClassification 105 switch m["type"] { 106 case string(StepTypeDocker): 107 b = &DockerBuildStepUpdateParameters{} 108 case string(StepTypeEncodedTask): 109 b = &EncodedTaskStepUpdateParameters{} 110 case string(StepTypeFileTask): 111 b = &FileTaskStepUpdateParameters{} 112 default: 113 b = &TaskStepUpdateParameters{} 114 } 115 return b, json.Unmarshal(rawMsg, b) 116} 117 118func unmarshalTaskStepUpdateParametersClassificationArray(rawMsg json.RawMessage) ([]TaskStepUpdateParametersClassification, error) { 119 if rawMsg == nil { 120 return nil, nil 121 } 122 var rawMessages []json.RawMessage 123 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 124 return nil, err 125 } 126 fArray := make([]TaskStepUpdateParametersClassification, len(rawMessages)) 127 for index, rawMessage := range rawMessages { 128 f, err := unmarshalTaskStepUpdateParametersClassification(rawMessage) 129 if err != nil { 130 return nil, err 131 } 132 fArray[index] = f 133 } 134 return fArray, nil 135} 136