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 armmonitor 9 10import "encoding/json" 11 12func unmarshalActionClassification(rawMsg json.RawMessage) (ActionClassification, 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 ActionClassification 21 switch m["odata.type"] { 22 case "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.AlertingAction": 23 b = &AlertingAction{} 24 case "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.LogToMetricAction": 25 b = &LogToMetricAction{} 26 default: 27 b = &Action{} 28 } 29 return b, json.Unmarshal(rawMsg, b) 30} 31 32func unmarshalActionClassificationArray(rawMsg json.RawMessage) ([]ActionClassification, error) { 33 if rawMsg == nil { 34 return nil, nil 35 } 36 var rawMessages []json.RawMessage 37 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 38 return nil, err 39 } 40 fArray := make([]ActionClassification, len(rawMessages)) 41 for index, rawMessage := range rawMessages { 42 f, err := unmarshalActionClassification(rawMessage) 43 if err != nil { 44 return nil, err 45 } 46 fArray[index] = f 47 } 48 return fArray, nil 49} 50 51func unmarshalMetricAlertCriteriaClassification(rawMsg json.RawMessage) (MetricAlertCriteriaClassification, error) { 52 if rawMsg == nil { 53 return nil, nil 54 } 55 var m map[string]interface{} 56 if err := json.Unmarshal(rawMsg, &m); err != nil { 57 return nil, err 58 } 59 var b MetricAlertCriteriaClassification 60 switch m["odata.type"] { 61 case string(OdatatypeMicrosoftAzureMonitorMultipleResourceMultipleMetricCriteria): 62 b = &MetricAlertMultipleResourceMultipleMetricCriteria{} 63 case string(OdatatypeMicrosoftAzureMonitorSingleResourceMultipleMetricCriteria): 64 b = &MetricAlertSingleResourceMultipleMetricCriteria{} 65 case string(OdatatypeMicrosoftAzureMonitorWebtestLocationAvailabilityCriteria): 66 b = &WebtestLocationAvailabilityCriteria{} 67 default: 68 b = &MetricAlertCriteria{} 69 } 70 return b, json.Unmarshal(rawMsg, b) 71} 72 73func unmarshalMetricAlertCriteriaClassificationArray(rawMsg json.RawMessage) ([]MetricAlertCriteriaClassification, error) { 74 if rawMsg == nil { 75 return nil, nil 76 } 77 var rawMessages []json.RawMessage 78 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 79 return nil, err 80 } 81 fArray := make([]MetricAlertCriteriaClassification, len(rawMessages)) 82 for index, rawMessage := range rawMessages { 83 f, err := unmarshalMetricAlertCriteriaClassification(rawMessage) 84 if err != nil { 85 return nil, err 86 } 87 fArray[index] = f 88 } 89 return fArray, nil 90} 91 92func unmarshalMultiMetricCriteriaClassification(rawMsg json.RawMessage) (MultiMetricCriteriaClassification, error) { 93 if rawMsg == nil { 94 return nil, nil 95 } 96 var m map[string]interface{} 97 if err := json.Unmarshal(rawMsg, &m); err != nil { 98 return nil, err 99 } 100 var b MultiMetricCriteriaClassification 101 switch m["criterionType"] { 102 case string(CriterionTypeDynamicThresholdCriterion): 103 b = &DynamicMetricCriteria{} 104 case string(CriterionTypeStaticThresholdCriterion): 105 b = &MetricCriteria{} 106 default: 107 b = &MultiMetricCriteria{} 108 } 109 return b, json.Unmarshal(rawMsg, b) 110} 111 112func unmarshalMultiMetricCriteriaClassificationArray(rawMsg json.RawMessage) ([]MultiMetricCriteriaClassification, error) { 113 if rawMsg == nil { 114 return nil, nil 115 } 116 var rawMessages []json.RawMessage 117 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 118 return nil, err 119 } 120 fArray := make([]MultiMetricCriteriaClassification, len(rawMessages)) 121 for index, rawMessage := range rawMessages { 122 f, err := unmarshalMultiMetricCriteriaClassification(rawMessage) 123 if err != nil { 124 return nil, err 125 } 126 fArray[index] = f 127 } 128 return fArray, nil 129} 130 131func unmarshalRuleActionClassification(rawMsg json.RawMessage) (RuleActionClassification, error) { 132 if rawMsg == nil { 133 return nil, nil 134 } 135 var m map[string]interface{} 136 if err := json.Unmarshal(rawMsg, &m); err != nil { 137 return nil, err 138 } 139 var b RuleActionClassification 140 switch m["odata.type"] { 141 case "Microsoft.Azure.Management.Insights.Models.RuleEmailAction": 142 b = &RuleEmailAction{} 143 case "Microsoft.Azure.Management.Insights.Models.RuleWebhookAction": 144 b = &RuleWebhookAction{} 145 default: 146 b = &RuleAction{} 147 } 148 return b, json.Unmarshal(rawMsg, b) 149} 150 151func unmarshalRuleActionClassificationArray(rawMsg json.RawMessage) ([]RuleActionClassification, error) { 152 if rawMsg == nil { 153 return nil, nil 154 } 155 var rawMessages []json.RawMessage 156 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 157 return nil, err 158 } 159 fArray := make([]RuleActionClassification, len(rawMessages)) 160 for index, rawMessage := range rawMessages { 161 f, err := unmarshalRuleActionClassification(rawMessage) 162 if err != nil { 163 return nil, err 164 } 165 fArray[index] = f 166 } 167 return fArray, nil 168} 169 170func unmarshalRuleConditionClassification(rawMsg json.RawMessage) (RuleConditionClassification, error) { 171 if rawMsg == nil { 172 return nil, nil 173 } 174 var m map[string]interface{} 175 if err := json.Unmarshal(rawMsg, &m); err != nil { 176 return nil, err 177 } 178 var b RuleConditionClassification 179 switch m["odata.type"] { 180 case "Microsoft.Azure.Management.Insights.Models.LocationThresholdRuleCondition": 181 b = &LocationThresholdRuleCondition{} 182 case "Microsoft.Azure.Management.Insights.Models.ManagementEventRuleCondition": 183 b = &ManagementEventRuleCondition{} 184 case "Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition": 185 b = &ThresholdRuleCondition{} 186 default: 187 b = &RuleCondition{} 188 } 189 return b, json.Unmarshal(rawMsg, b) 190} 191 192func unmarshalRuleConditionClassificationArray(rawMsg json.RawMessage) ([]RuleConditionClassification, error) { 193 if rawMsg == nil { 194 return nil, nil 195 } 196 var rawMessages []json.RawMessage 197 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 198 return nil, err 199 } 200 fArray := make([]RuleConditionClassification, len(rawMessages)) 201 for index, rawMessage := range rawMessages { 202 f, err := unmarshalRuleConditionClassification(rawMessage) 203 if err != nil { 204 return nil, err 205 } 206 fArray[index] = f 207 } 208 return fArray, nil 209} 210 211func unmarshalRuleDataSourceClassification(rawMsg json.RawMessage) (RuleDataSourceClassification, error) { 212 if rawMsg == nil { 213 return nil, nil 214 } 215 var m map[string]interface{} 216 if err := json.Unmarshal(rawMsg, &m); err != nil { 217 return nil, err 218 } 219 var b RuleDataSourceClassification 220 switch m["odata.type"] { 221 case "Microsoft.Azure.Management.Insights.Models.RuleManagementEventDataSource": 222 b = &RuleManagementEventDataSource{} 223 case "Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource": 224 b = &RuleMetricDataSource{} 225 default: 226 b = &RuleDataSource{} 227 } 228 return b, json.Unmarshal(rawMsg, b) 229} 230 231func unmarshalRuleDataSourceClassificationArray(rawMsg json.RawMessage) ([]RuleDataSourceClassification, error) { 232 if rawMsg == nil { 233 return nil, nil 234 } 235 var rawMessages []json.RawMessage 236 if err := json.Unmarshal(rawMsg, &rawMessages); err != nil { 237 return nil, err 238 } 239 fArray := make([]RuleDataSourceClassification, len(rawMessages)) 240 for index, rawMessage := range rawMessages { 241 f, err := unmarshalRuleDataSourceClassification(rawMessage) 242 if err != nil { 243 return nil, err 244 } 245 fArray[index] = f 246 } 247 return fArray, nil 248} 249