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 armeventgrid 9 10import "encoding/json" 11 12func unmarshalAdvancedFilterClassification(rawMsg json.RawMessage) (AdvancedFilterClassification, 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 AdvancedFilterClassification 21 switch m["operatorType"] { 22 case string(AdvancedFilterOperatorTypeBoolEquals): 23 b = &BoolEqualsAdvancedFilter{} 24 case string(AdvancedFilterOperatorTypeIsNotNull): 25 b = &IsNotNullAdvancedFilter{} 26 case string(AdvancedFilterOperatorTypeIsNullOrUndefined): 27 b = &IsNullOrUndefinedAdvancedFilter{} 28 case string(AdvancedFilterOperatorTypeNumberGreaterThan): 29 b = &NumberGreaterThanAdvancedFilter{} 30 case string(AdvancedFilterOperatorTypeNumberGreaterThanOrEquals): 31 b = &NumberGreaterThanOrEqualsAdvancedFilter{} 32 case string(AdvancedFilterOperatorTypeNumberIn): 33 b = &NumberInAdvancedFilter{} 34 case string(AdvancedFilterOperatorTypeNumberInRange): 35 b = &NumberInRangeAdvancedFilter{} 36 case string(AdvancedFilterOperatorTypeNumberLessThan): 37 b = &NumberLessThanAdvancedFilter{} 38 case string(AdvancedFilterOperatorTypeNumberLessThanOrEquals): 39 b = &NumberLessThanOrEqualsAdvancedFilter{} 40 case string(AdvancedFilterOperatorTypeNumberNotIn): 41 b = &NumberNotInAdvancedFilter{} 42 case string(AdvancedFilterOperatorTypeNumberNotInRange): 43 b = &NumberNotInRangeAdvancedFilter{} 44 case string(AdvancedFilterOperatorTypeStringBeginsWith): 45 b = &StringBeginsWithAdvancedFilter{} 46 case string(AdvancedFilterOperatorTypeStringContains): 47 b = &StringContainsAdvancedFilter{} 48 case string(AdvancedFilterOperatorTypeStringEndsWith): 49 b = &StringEndsWithAdvancedFilter{} 50 case string(AdvancedFilterOperatorTypeStringIn): 51 b = &StringInAdvancedFilter{} 52 case string(AdvancedFilterOperatorTypeStringNotBeginsWith): 53 b = &StringNotBeginsWithAdvancedFilter{} 54 case string(AdvancedFilterOperatorTypeStringNotContains): 55 b = &StringNotContainsAdvancedFilter{} 56 case string(AdvancedFilterOperatorTypeStringNotEndsWith): 57 b = &StringNotEndsWithAdvancedFilter{} 58 case string(AdvancedFilterOperatorTypeStringNotIn): 59 b = &StringNotInAdvancedFilter{} 60 default: 61 b = &AdvancedFilter{} 62 } 63 return b, json.Unmarshal(rawMsg, b) 64} 65 66func unmarshalAdvancedFilterClassificationArray(rawMsg json.RawMessage) ([]AdvancedFilterClassification, error) { 67 if rawMsg == nil { 68 return nil, nil 69 } 70 var rawMessages []json.RawMessage 71 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 72 return nil, err 73 } 74 fArray := make([]AdvancedFilterClassification, len(rawMessages)) 75 for index, rawMessage := range rawMessages { 76 f, err := unmarshalAdvancedFilterClassification(rawMessage) 77 if err != nil { 78 return nil, err 79 } 80 fArray[index] = f 81 } 82 return fArray, nil 83} 84 85func unmarshalDeadLetterDestinationClassification(rawMsg json.RawMessage) (DeadLetterDestinationClassification, error) { 86 if rawMsg == nil { 87 return nil, nil 88 } 89 var m map[string]interface{} 90 if err := json.Unmarshal(rawMsg, &m); err != nil { 91 return nil, err 92 } 93 var b DeadLetterDestinationClassification 94 switch m["endpointType"] { 95 case string(DeadLetterEndPointTypeStorageBlob): 96 b = &StorageBlobDeadLetterDestination{} 97 default: 98 b = &DeadLetterDestination{} 99 } 100 return b, json.Unmarshal(rawMsg, b) 101} 102 103func unmarshalDeadLetterDestinationClassificationArray(rawMsg json.RawMessage) ([]DeadLetterDestinationClassification, error) { 104 if rawMsg == nil { 105 return nil, nil 106 } 107 var rawMessages []json.RawMessage 108 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 109 return nil, err 110 } 111 fArray := make([]DeadLetterDestinationClassification, len(rawMessages)) 112 for index, rawMessage := range rawMessages { 113 f, err := unmarshalDeadLetterDestinationClassification(rawMessage) 114 if err != nil { 115 return nil, err 116 } 117 fArray[index] = f 118 } 119 return fArray, nil 120} 121 122func unmarshalDeliveryAttributeMappingClassification(rawMsg json.RawMessage) (DeliveryAttributeMappingClassification, error) { 123 if rawMsg == nil { 124 return nil, nil 125 } 126 var m map[string]interface{} 127 if err := json.Unmarshal(rawMsg, &m); err != nil { 128 return nil, err 129 } 130 var b DeliveryAttributeMappingClassification 131 switch m["type"] { 132 case string(DeliveryAttributeMappingTypeDynamic): 133 b = &DynamicDeliveryAttributeMapping{} 134 case string(DeliveryAttributeMappingTypeStatic): 135 b = &StaticDeliveryAttributeMapping{} 136 default: 137 b = &DeliveryAttributeMapping{} 138 } 139 return b, json.Unmarshal(rawMsg, b) 140} 141 142func unmarshalDeliveryAttributeMappingClassificationArray(rawMsg json.RawMessage) ([]DeliveryAttributeMappingClassification, error) { 143 if rawMsg == nil { 144 return nil, nil 145 } 146 var rawMessages []json.RawMessage 147 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 148 return nil, err 149 } 150 fArray := make([]DeliveryAttributeMappingClassification, len(rawMessages)) 151 for index, rawMessage := range rawMessages { 152 f, err := unmarshalDeliveryAttributeMappingClassification(rawMessage) 153 if err != nil { 154 return nil, err 155 } 156 fArray[index] = f 157 } 158 return fArray, nil 159} 160 161func unmarshalEventSubscriptionDestinationClassification(rawMsg json.RawMessage) (EventSubscriptionDestinationClassification, error) { 162 if rawMsg == nil { 163 return nil, nil 164 } 165 var m map[string]interface{} 166 if err := json.Unmarshal(rawMsg, &m); err != nil { 167 return nil, err 168 } 169 var b EventSubscriptionDestinationClassification 170 switch m["endpointType"] { 171 case string(EndpointTypeAzureFunction): 172 b = &AzureFunctionEventSubscriptionDestination{} 173 case string(EndpointTypeEventHub): 174 b = &EventHubEventSubscriptionDestination{} 175 case string(EndpointTypeHybridConnection): 176 b = &HybridConnectionEventSubscriptionDestination{} 177 case string(EndpointTypeServiceBusQueue): 178 b = &ServiceBusQueueEventSubscriptionDestination{} 179 case string(EndpointTypeServiceBusTopic): 180 b = &ServiceBusTopicEventSubscriptionDestination{} 181 case string(EndpointTypeStorageQueue): 182 b = &StorageQueueEventSubscriptionDestination{} 183 case string(EndpointTypeWebHook): 184 b = &WebHookEventSubscriptionDestination{} 185 default: 186 b = &EventSubscriptionDestination{} 187 } 188 return b, json.Unmarshal(rawMsg, b) 189} 190 191func unmarshalEventSubscriptionDestinationClassificationArray(rawMsg json.RawMessage) ([]EventSubscriptionDestinationClassification, error) { 192 if rawMsg == nil { 193 return nil, nil 194 } 195 var rawMessages []json.RawMessage 196 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 197 return nil, err 198 } 199 fArray := make([]EventSubscriptionDestinationClassification, len(rawMessages)) 200 for index, rawMessage := range rawMessages { 201 f, err := unmarshalEventSubscriptionDestinationClassification(rawMessage) 202 if err != nil { 203 return nil, err 204 } 205 fArray[index] = f 206 } 207 return fArray, nil 208} 209 210func unmarshalInputSchemaMappingClassification(rawMsg json.RawMessage) (InputSchemaMappingClassification, error) { 211 if rawMsg == nil { 212 return nil, nil 213 } 214 var m map[string]interface{} 215 if err := json.Unmarshal(rawMsg, &m); err != nil { 216 return nil, err 217 } 218 var b InputSchemaMappingClassification 219 switch m["inputSchemaMappingType"] { 220 case string(InputSchemaMappingTypeJSON): 221 b = &JSONInputSchemaMapping{} 222 default: 223 b = &InputSchemaMapping{} 224 } 225 return b, json.Unmarshal(rawMsg, b) 226} 227 228func unmarshalInputSchemaMappingClassificationArray(rawMsg json.RawMessage) ([]InputSchemaMappingClassification, error) { 229 if rawMsg == nil { 230 return nil, nil 231 } 232 var rawMessages []json.RawMessage 233 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 234 return nil, err 235 } 236 fArray := make([]InputSchemaMappingClassification, len(rawMessages)) 237 for index, rawMessage := range rawMessages { 238 f, err := unmarshalInputSchemaMappingClassification(rawMessage) 239 if err != nil { 240 return nil, err 241 } 242 fArray[index] = f 243 } 244 return fArray, nil 245} 246