github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6@v6.2.0/models_serde.go (about) 1 //go:build go1.18 2 // +build go1.18 3 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // Licensed under the MIT License. See License.txt in the project root for license information. 6 // Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT. 7 // Changes may cause incorrect behavior and will be lost if the code is regenerated. 8 9 package armnetwork 10 11 import ( 12 "encoding/json" 13 "fmt" 14 "github.com/Azure/azure-sdk-for-go/sdk/azcore" 15 "reflect" 16 ) 17 18 // MarshalJSON implements the json.Marshaller interface for type AADAuthenticationParameters. 19 func (a AADAuthenticationParameters) MarshalJSON() ([]byte, error) { 20 objectMap := make(map[string]any) 21 populate(objectMap, "aadAudience", a.AADAudience) 22 populate(objectMap, "aadIssuer", a.AADIssuer) 23 populate(objectMap, "aadTenant", a.AADTenant) 24 return json.Marshal(objectMap) 25 } 26 27 // UnmarshalJSON implements the json.Unmarshaller interface for type AADAuthenticationParameters. 28 func (a *AADAuthenticationParameters) UnmarshalJSON(data []byte) error { 29 var rawMsg map[string]json.RawMessage 30 if err := json.Unmarshal(data, &rawMsg); err != nil { 31 return fmt.Errorf("unmarshalling type %T: %v", a, err) 32 } 33 for key, val := range rawMsg { 34 var err error 35 switch key { 36 case "aadAudience": 37 err = unpopulate(val, "AADAudience", &a.AADAudience) 38 delete(rawMsg, key) 39 case "aadIssuer": 40 err = unpopulate(val, "AADIssuer", &a.AADIssuer) 41 delete(rawMsg, key) 42 case "aadTenant": 43 err = unpopulate(val, "AADTenant", &a.AADTenant) 44 delete(rawMsg, key) 45 } 46 if err != nil { 47 return fmt.Errorf("unmarshalling type %T: %v", a, err) 48 } 49 } 50 return nil 51 } 52 53 // MarshalJSON implements the json.Marshaller interface for type Action. 54 func (a Action) MarshalJSON() ([]byte, error) { 55 objectMap := make(map[string]any) 56 populate(objectMap, "parameters", a.Parameters) 57 populate(objectMap, "type", a.Type) 58 return json.Marshal(objectMap) 59 } 60 61 // UnmarshalJSON implements the json.Unmarshaller interface for type Action. 62 func (a *Action) UnmarshalJSON(data []byte) error { 63 var rawMsg map[string]json.RawMessage 64 if err := json.Unmarshal(data, &rawMsg); err != nil { 65 return fmt.Errorf("unmarshalling type %T: %v", a, err) 66 } 67 for key, val := range rawMsg { 68 var err error 69 switch key { 70 case "parameters": 71 err = unpopulate(val, "Parameters", &a.Parameters) 72 delete(rawMsg, key) 73 case "type": 74 err = unpopulate(val, "Type", &a.Type) 75 delete(rawMsg, key) 76 } 77 if err != nil { 78 return fmt.Errorf("unmarshalling type %T: %v", a, err) 79 } 80 } 81 return nil 82 } 83 84 // MarshalJSON implements the json.Marshaller interface for type ActiveBaseSecurityAdminRule. 85 func (a ActiveBaseSecurityAdminRule) MarshalJSON() ([]byte, error) { 86 objectMap := make(map[string]any) 87 populateDateTimeRFC3339(objectMap, "commitTime", a.CommitTime) 88 populate(objectMap, "configurationDescription", a.ConfigurationDescription) 89 populate(objectMap, "id", a.ID) 90 objectMap["kind"] = a.Kind 91 populate(objectMap, "region", a.Region) 92 populate(objectMap, "ruleCollectionAppliesToGroups", a.RuleCollectionAppliesToGroups) 93 populate(objectMap, "ruleCollectionDescription", a.RuleCollectionDescription) 94 populate(objectMap, "ruleGroups", a.RuleGroups) 95 return json.Marshal(objectMap) 96 } 97 98 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveBaseSecurityAdminRule. 99 func (a *ActiveBaseSecurityAdminRule) UnmarshalJSON(data []byte) error { 100 var rawMsg map[string]json.RawMessage 101 if err := json.Unmarshal(data, &rawMsg); err != nil { 102 return fmt.Errorf("unmarshalling type %T: %v", a, err) 103 } 104 for key, val := range rawMsg { 105 var err error 106 switch key { 107 case "commitTime": 108 err = unpopulateDateTimeRFC3339(val, "CommitTime", &a.CommitTime) 109 delete(rawMsg, key) 110 case "configurationDescription": 111 err = unpopulate(val, "ConfigurationDescription", &a.ConfigurationDescription) 112 delete(rawMsg, key) 113 case "id": 114 err = unpopulate(val, "ID", &a.ID) 115 delete(rawMsg, key) 116 case "kind": 117 err = unpopulate(val, "Kind", &a.Kind) 118 delete(rawMsg, key) 119 case "region": 120 err = unpopulate(val, "Region", &a.Region) 121 delete(rawMsg, key) 122 case "ruleCollectionAppliesToGroups": 123 err = unpopulate(val, "RuleCollectionAppliesToGroups", &a.RuleCollectionAppliesToGroups) 124 delete(rawMsg, key) 125 case "ruleCollectionDescription": 126 err = unpopulate(val, "RuleCollectionDescription", &a.RuleCollectionDescription) 127 delete(rawMsg, key) 128 case "ruleGroups": 129 err = unpopulate(val, "RuleGroups", &a.RuleGroups) 130 delete(rawMsg, key) 131 } 132 if err != nil { 133 return fmt.Errorf("unmarshalling type %T: %v", a, err) 134 } 135 } 136 return nil 137 } 138 139 // MarshalJSON implements the json.Marshaller interface for type ActiveConfigurationParameter. 140 func (a ActiveConfigurationParameter) MarshalJSON() ([]byte, error) { 141 objectMap := make(map[string]any) 142 populate(objectMap, "regions", a.Regions) 143 populate(objectMap, "skipToken", a.SkipToken) 144 return json.Marshal(objectMap) 145 } 146 147 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveConfigurationParameter. 148 func (a *ActiveConfigurationParameter) UnmarshalJSON(data []byte) error { 149 var rawMsg map[string]json.RawMessage 150 if err := json.Unmarshal(data, &rawMsg); err != nil { 151 return fmt.Errorf("unmarshalling type %T: %v", a, err) 152 } 153 for key, val := range rawMsg { 154 var err error 155 switch key { 156 case "regions": 157 err = unpopulate(val, "Regions", &a.Regions) 158 delete(rawMsg, key) 159 case "skipToken": 160 err = unpopulate(val, "SkipToken", &a.SkipToken) 161 delete(rawMsg, key) 162 } 163 if err != nil { 164 return fmt.Errorf("unmarshalling type %T: %v", a, err) 165 } 166 } 167 return nil 168 } 169 170 // MarshalJSON implements the json.Marshaller interface for type ActiveConnectivityConfiguration. 171 func (a ActiveConnectivityConfiguration) MarshalJSON() ([]byte, error) { 172 objectMap := make(map[string]any) 173 populateDateTimeRFC3339(objectMap, "commitTime", a.CommitTime) 174 populate(objectMap, "configurationGroups", a.ConfigurationGroups) 175 populate(objectMap, "id", a.ID) 176 populate(objectMap, "properties", a.Properties) 177 populate(objectMap, "region", a.Region) 178 return json.Marshal(objectMap) 179 } 180 181 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveConnectivityConfiguration. 182 func (a *ActiveConnectivityConfiguration) UnmarshalJSON(data []byte) error { 183 var rawMsg map[string]json.RawMessage 184 if err := json.Unmarshal(data, &rawMsg); err != nil { 185 return fmt.Errorf("unmarshalling type %T: %v", a, err) 186 } 187 for key, val := range rawMsg { 188 var err error 189 switch key { 190 case "commitTime": 191 err = unpopulateDateTimeRFC3339(val, "CommitTime", &a.CommitTime) 192 delete(rawMsg, key) 193 case "configurationGroups": 194 err = unpopulate(val, "ConfigurationGroups", &a.ConfigurationGroups) 195 delete(rawMsg, key) 196 case "id": 197 err = unpopulate(val, "ID", &a.ID) 198 delete(rawMsg, key) 199 case "properties": 200 err = unpopulate(val, "Properties", &a.Properties) 201 delete(rawMsg, key) 202 case "region": 203 err = unpopulate(val, "Region", &a.Region) 204 delete(rawMsg, key) 205 } 206 if err != nil { 207 return fmt.Errorf("unmarshalling type %T: %v", a, err) 208 } 209 } 210 return nil 211 } 212 213 // MarshalJSON implements the json.Marshaller interface for type ActiveConnectivityConfigurationsListResult. 214 func (a ActiveConnectivityConfigurationsListResult) MarshalJSON() ([]byte, error) { 215 objectMap := make(map[string]any) 216 populate(objectMap, "skipToken", a.SkipToken) 217 populate(objectMap, "value", a.Value) 218 return json.Marshal(objectMap) 219 } 220 221 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveConnectivityConfigurationsListResult. 222 func (a *ActiveConnectivityConfigurationsListResult) UnmarshalJSON(data []byte) error { 223 var rawMsg map[string]json.RawMessage 224 if err := json.Unmarshal(data, &rawMsg); err != nil { 225 return fmt.Errorf("unmarshalling type %T: %v", a, err) 226 } 227 for key, val := range rawMsg { 228 var err error 229 switch key { 230 case "skipToken": 231 err = unpopulate(val, "SkipToken", &a.SkipToken) 232 delete(rawMsg, key) 233 case "value": 234 err = unpopulate(val, "Value", &a.Value) 235 delete(rawMsg, key) 236 } 237 if err != nil { 238 return fmt.Errorf("unmarshalling type %T: %v", a, err) 239 } 240 } 241 return nil 242 } 243 244 // MarshalJSON implements the json.Marshaller interface for type ActiveDefaultSecurityAdminRule. 245 func (a ActiveDefaultSecurityAdminRule) MarshalJSON() ([]byte, error) { 246 objectMap := make(map[string]any) 247 populateDateTimeRFC3339(objectMap, "commitTime", a.CommitTime) 248 populate(objectMap, "configurationDescription", a.ConfigurationDescription) 249 populate(objectMap, "id", a.ID) 250 objectMap["kind"] = EffectiveAdminRuleKindDefault 251 populate(objectMap, "properties", a.Properties) 252 populate(objectMap, "region", a.Region) 253 populate(objectMap, "ruleCollectionAppliesToGroups", a.RuleCollectionAppliesToGroups) 254 populate(objectMap, "ruleCollectionDescription", a.RuleCollectionDescription) 255 populate(objectMap, "ruleGroups", a.RuleGroups) 256 return json.Marshal(objectMap) 257 } 258 259 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveDefaultSecurityAdminRule. 260 func (a *ActiveDefaultSecurityAdminRule) UnmarshalJSON(data []byte) error { 261 var rawMsg map[string]json.RawMessage 262 if err := json.Unmarshal(data, &rawMsg); err != nil { 263 return fmt.Errorf("unmarshalling type %T: %v", a, err) 264 } 265 for key, val := range rawMsg { 266 var err error 267 switch key { 268 case "commitTime": 269 err = unpopulateDateTimeRFC3339(val, "CommitTime", &a.CommitTime) 270 delete(rawMsg, key) 271 case "configurationDescription": 272 err = unpopulate(val, "ConfigurationDescription", &a.ConfigurationDescription) 273 delete(rawMsg, key) 274 case "id": 275 err = unpopulate(val, "ID", &a.ID) 276 delete(rawMsg, key) 277 case "kind": 278 err = unpopulate(val, "Kind", &a.Kind) 279 delete(rawMsg, key) 280 case "properties": 281 err = unpopulate(val, "Properties", &a.Properties) 282 delete(rawMsg, key) 283 case "region": 284 err = unpopulate(val, "Region", &a.Region) 285 delete(rawMsg, key) 286 case "ruleCollectionAppliesToGroups": 287 err = unpopulate(val, "RuleCollectionAppliesToGroups", &a.RuleCollectionAppliesToGroups) 288 delete(rawMsg, key) 289 case "ruleCollectionDescription": 290 err = unpopulate(val, "RuleCollectionDescription", &a.RuleCollectionDescription) 291 delete(rawMsg, key) 292 case "ruleGroups": 293 err = unpopulate(val, "RuleGroups", &a.RuleGroups) 294 delete(rawMsg, key) 295 } 296 if err != nil { 297 return fmt.Errorf("unmarshalling type %T: %v", a, err) 298 } 299 } 300 return nil 301 } 302 303 // MarshalJSON implements the json.Marshaller interface for type ActiveSecurityAdminRule. 304 func (a ActiveSecurityAdminRule) MarshalJSON() ([]byte, error) { 305 objectMap := make(map[string]any) 306 populateDateTimeRFC3339(objectMap, "commitTime", a.CommitTime) 307 populate(objectMap, "configurationDescription", a.ConfigurationDescription) 308 populate(objectMap, "id", a.ID) 309 objectMap["kind"] = EffectiveAdminRuleKindCustom 310 populate(objectMap, "properties", a.Properties) 311 populate(objectMap, "region", a.Region) 312 populate(objectMap, "ruleCollectionAppliesToGroups", a.RuleCollectionAppliesToGroups) 313 populate(objectMap, "ruleCollectionDescription", a.RuleCollectionDescription) 314 populate(objectMap, "ruleGroups", a.RuleGroups) 315 return json.Marshal(objectMap) 316 } 317 318 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveSecurityAdminRule. 319 func (a *ActiveSecurityAdminRule) UnmarshalJSON(data []byte) error { 320 var rawMsg map[string]json.RawMessage 321 if err := json.Unmarshal(data, &rawMsg); err != nil { 322 return fmt.Errorf("unmarshalling type %T: %v", a, err) 323 } 324 for key, val := range rawMsg { 325 var err error 326 switch key { 327 case "commitTime": 328 err = unpopulateDateTimeRFC3339(val, "CommitTime", &a.CommitTime) 329 delete(rawMsg, key) 330 case "configurationDescription": 331 err = unpopulate(val, "ConfigurationDescription", &a.ConfigurationDescription) 332 delete(rawMsg, key) 333 case "id": 334 err = unpopulate(val, "ID", &a.ID) 335 delete(rawMsg, key) 336 case "kind": 337 err = unpopulate(val, "Kind", &a.Kind) 338 delete(rawMsg, key) 339 case "properties": 340 err = unpopulate(val, "Properties", &a.Properties) 341 delete(rawMsg, key) 342 case "region": 343 err = unpopulate(val, "Region", &a.Region) 344 delete(rawMsg, key) 345 case "ruleCollectionAppliesToGroups": 346 err = unpopulate(val, "RuleCollectionAppliesToGroups", &a.RuleCollectionAppliesToGroups) 347 delete(rawMsg, key) 348 case "ruleCollectionDescription": 349 err = unpopulate(val, "RuleCollectionDescription", &a.RuleCollectionDescription) 350 delete(rawMsg, key) 351 case "ruleGroups": 352 err = unpopulate(val, "RuleGroups", &a.RuleGroups) 353 delete(rawMsg, key) 354 } 355 if err != nil { 356 return fmt.Errorf("unmarshalling type %T: %v", a, err) 357 } 358 } 359 return nil 360 } 361 362 // MarshalJSON implements the json.Marshaller interface for type ActiveSecurityAdminRulesListResult. 363 func (a ActiveSecurityAdminRulesListResult) MarshalJSON() ([]byte, error) { 364 objectMap := make(map[string]any) 365 populate(objectMap, "skipToken", a.SkipToken) 366 populate(objectMap, "value", a.Value) 367 return json.Marshal(objectMap) 368 } 369 370 // UnmarshalJSON implements the json.Unmarshaller interface for type ActiveSecurityAdminRulesListResult. 371 func (a *ActiveSecurityAdminRulesListResult) UnmarshalJSON(data []byte) error { 372 var rawMsg map[string]json.RawMessage 373 if err := json.Unmarshal(data, &rawMsg); err != nil { 374 return fmt.Errorf("unmarshalling type %T: %v", a, err) 375 } 376 for key, val := range rawMsg { 377 var err error 378 switch key { 379 case "skipToken": 380 err = unpopulate(val, "SkipToken", &a.SkipToken) 381 delete(rawMsg, key) 382 case "value": 383 a.Value, err = unmarshalActiveBaseSecurityAdminRuleClassificationArray(val) 384 delete(rawMsg, key) 385 } 386 if err != nil { 387 return fmt.Errorf("unmarshalling type %T: %v", a, err) 388 } 389 } 390 return nil 391 } 392 393 // MarshalJSON implements the json.Marshaller interface for type AddressPrefixItem. 394 func (a AddressPrefixItem) MarshalJSON() ([]byte, error) { 395 objectMap := make(map[string]any) 396 populate(objectMap, "addressPrefix", a.AddressPrefix) 397 populate(objectMap, "addressPrefixType", a.AddressPrefixType) 398 return json.Marshal(objectMap) 399 } 400 401 // UnmarshalJSON implements the json.Unmarshaller interface for type AddressPrefixItem. 402 func (a *AddressPrefixItem) UnmarshalJSON(data []byte) error { 403 var rawMsg map[string]json.RawMessage 404 if err := json.Unmarshal(data, &rawMsg); err != nil { 405 return fmt.Errorf("unmarshalling type %T: %v", a, err) 406 } 407 for key, val := range rawMsg { 408 var err error 409 switch key { 410 case "addressPrefix": 411 err = unpopulate(val, "AddressPrefix", &a.AddressPrefix) 412 delete(rawMsg, key) 413 case "addressPrefixType": 414 err = unpopulate(val, "AddressPrefixType", &a.AddressPrefixType) 415 delete(rawMsg, key) 416 } 417 if err != nil { 418 return fmt.Errorf("unmarshalling type %T: %v", a, err) 419 } 420 } 421 return nil 422 } 423 424 // MarshalJSON implements the json.Marshaller interface for type AddressSpace. 425 func (a AddressSpace) MarshalJSON() ([]byte, error) { 426 objectMap := make(map[string]any) 427 populate(objectMap, "addressPrefixes", a.AddressPrefixes) 428 populate(objectMap, "ipamPoolPrefixAllocations", a.IpamPoolPrefixAllocations) 429 return json.Marshal(objectMap) 430 } 431 432 // UnmarshalJSON implements the json.Unmarshaller interface for type AddressSpace. 433 func (a *AddressSpace) UnmarshalJSON(data []byte) error { 434 var rawMsg map[string]json.RawMessage 435 if err := json.Unmarshal(data, &rawMsg); err != nil { 436 return fmt.Errorf("unmarshalling type %T: %v", a, err) 437 } 438 for key, val := range rawMsg { 439 var err error 440 switch key { 441 case "addressPrefixes": 442 err = unpopulate(val, "AddressPrefixes", &a.AddressPrefixes) 443 delete(rawMsg, key) 444 case "ipamPoolPrefixAllocations": 445 err = unpopulate(val, "IpamPoolPrefixAllocations", &a.IpamPoolPrefixAllocations) 446 delete(rawMsg, key) 447 } 448 if err != nil { 449 return fmt.Errorf("unmarshalling type %T: %v", a, err) 450 } 451 } 452 return nil 453 } 454 455 // MarshalJSON implements the json.Marshaller interface for type AdminPropertiesFormat. 456 func (a AdminPropertiesFormat) MarshalJSON() ([]byte, error) { 457 objectMap := make(map[string]any) 458 populate(objectMap, "access", a.Access) 459 populate(objectMap, "description", a.Description) 460 populate(objectMap, "destinationPortRanges", a.DestinationPortRanges) 461 populate(objectMap, "destinations", a.Destinations) 462 populate(objectMap, "direction", a.Direction) 463 populate(objectMap, "priority", a.Priority) 464 populate(objectMap, "protocol", a.Protocol) 465 populate(objectMap, "provisioningState", a.ProvisioningState) 466 populate(objectMap, "resourceGuid", a.ResourceGUID) 467 populate(objectMap, "sourcePortRanges", a.SourcePortRanges) 468 populate(objectMap, "sources", a.Sources) 469 return json.Marshal(objectMap) 470 } 471 472 // UnmarshalJSON implements the json.Unmarshaller interface for type AdminPropertiesFormat. 473 func (a *AdminPropertiesFormat) UnmarshalJSON(data []byte) error { 474 var rawMsg map[string]json.RawMessage 475 if err := json.Unmarshal(data, &rawMsg); err != nil { 476 return fmt.Errorf("unmarshalling type %T: %v", a, err) 477 } 478 for key, val := range rawMsg { 479 var err error 480 switch key { 481 case "access": 482 err = unpopulate(val, "Access", &a.Access) 483 delete(rawMsg, key) 484 case "description": 485 err = unpopulate(val, "Description", &a.Description) 486 delete(rawMsg, key) 487 case "destinationPortRanges": 488 err = unpopulate(val, "DestinationPortRanges", &a.DestinationPortRanges) 489 delete(rawMsg, key) 490 case "destinations": 491 err = unpopulate(val, "Destinations", &a.Destinations) 492 delete(rawMsg, key) 493 case "direction": 494 err = unpopulate(val, "Direction", &a.Direction) 495 delete(rawMsg, key) 496 case "priority": 497 err = unpopulate(val, "Priority", &a.Priority) 498 delete(rawMsg, key) 499 case "protocol": 500 err = unpopulate(val, "Protocol", &a.Protocol) 501 delete(rawMsg, key) 502 case "provisioningState": 503 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 504 delete(rawMsg, key) 505 case "resourceGuid": 506 err = unpopulate(val, "ResourceGUID", &a.ResourceGUID) 507 delete(rawMsg, key) 508 case "sourcePortRanges": 509 err = unpopulate(val, "SourcePortRanges", &a.SourcePortRanges) 510 delete(rawMsg, key) 511 case "sources": 512 err = unpopulate(val, "Sources", &a.Sources) 513 delete(rawMsg, key) 514 } 515 if err != nil { 516 return fmt.Errorf("unmarshalling type %T: %v", a, err) 517 } 518 } 519 return nil 520 } 521 522 // MarshalJSON implements the json.Marshaller interface for type AdminRule. 523 func (a AdminRule) MarshalJSON() ([]byte, error) { 524 objectMap := make(map[string]any) 525 populate(objectMap, "etag", a.Etag) 526 populate(objectMap, "id", a.ID) 527 objectMap["kind"] = AdminRuleKindCustom 528 populate(objectMap, "name", a.Name) 529 populate(objectMap, "properties", a.Properties) 530 populate(objectMap, "systemData", a.SystemData) 531 populate(objectMap, "type", a.Type) 532 return json.Marshal(objectMap) 533 } 534 535 // UnmarshalJSON implements the json.Unmarshaller interface for type AdminRule. 536 func (a *AdminRule) UnmarshalJSON(data []byte) error { 537 var rawMsg map[string]json.RawMessage 538 if err := json.Unmarshal(data, &rawMsg); err != nil { 539 return fmt.Errorf("unmarshalling type %T: %v", a, err) 540 } 541 for key, val := range rawMsg { 542 var err error 543 switch key { 544 case "etag": 545 err = unpopulate(val, "Etag", &a.Etag) 546 delete(rawMsg, key) 547 case "id": 548 err = unpopulate(val, "ID", &a.ID) 549 delete(rawMsg, key) 550 case "kind": 551 err = unpopulate(val, "Kind", &a.Kind) 552 delete(rawMsg, key) 553 case "name": 554 err = unpopulate(val, "Name", &a.Name) 555 delete(rawMsg, key) 556 case "properties": 557 err = unpopulate(val, "Properties", &a.Properties) 558 delete(rawMsg, key) 559 case "systemData": 560 err = unpopulate(val, "SystemData", &a.SystemData) 561 delete(rawMsg, key) 562 case "type": 563 err = unpopulate(val, "Type", &a.Type) 564 delete(rawMsg, key) 565 } 566 if err != nil { 567 return fmt.Errorf("unmarshalling type %T: %v", a, err) 568 } 569 } 570 return nil 571 } 572 573 // MarshalJSON implements the json.Marshaller interface for type AdminRuleCollection. 574 func (a AdminRuleCollection) MarshalJSON() ([]byte, error) { 575 objectMap := make(map[string]any) 576 populate(objectMap, "etag", a.Etag) 577 populate(objectMap, "id", a.ID) 578 populate(objectMap, "name", a.Name) 579 populate(objectMap, "properties", a.Properties) 580 populate(objectMap, "systemData", a.SystemData) 581 populate(objectMap, "type", a.Type) 582 return json.Marshal(objectMap) 583 } 584 585 // UnmarshalJSON implements the json.Unmarshaller interface for type AdminRuleCollection. 586 func (a *AdminRuleCollection) UnmarshalJSON(data []byte) error { 587 var rawMsg map[string]json.RawMessage 588 if err := json.Unmarshal(data, &rawMsg); err != nil { 589 return fmt.Errorf("unmarshalling type %T: %v", a, err) 590 } 591 for key, val := range rawMsg { 592 var err error 593 switch key { 594 case "etag": 595 err = unpopulate(val, "Etag", &a.Etag) 596 delete(rawMsg, key) 597 case "id": 598 err = unpopulate(val, "ID", &a.ID) 599 delete(rawMsg, key) 600 case "name": 601 err = unpopulate(val, "Name", &a.Name) 602 delete(rawMsg, key) 603 case "properties": 604 err = unpopulate(val, "Properties", &a.Properties) 605 delete(rawMsg, key) 606 case "systemData": 607 err = unpopulate(val, "SystemData", &a.SystemData) 608 delete(rawMsg, key) 609 case "type": 610 err = unpopulate(val, "Type", &a.Type) 611 delete(rawMsg, key) 612 } 613 if err != nil { 614 return fmt.Errorf("unmarshalling type %T: %v", a, err) 615 } 616 } 617 return nil 618 } 619 620 // MarshalJSON implements the json.Marshaller interface for type AdminRuleCollectionListResult. 621 func (a AdminRuleCollectionListResult) MarshalJSON() ([]byte, error) { 622 objectMap := make(map[string]any) 623 populate(objectMap, "nextLink", a.NextLink) 624 populate(objectMap, "value", a.Value) 625 return json.Marshal(objectMap) 626 } 627 628 // UnmarshalJSON implements the json.Unmarshaller interface for type AdminRuleCollectionListResult. 629 func (a *AdminRuleCollectionListResult) UnmarshalJSON(data []byte) error { 630 var rawMsg map[string]json.RawMessage 631 if err := json.Unmarshal(data, &rawMsg); err != nil { 632 return fmt.Errorf("unmarshalling type %T: %v", a, err) 633 } 634 for key, val := range rawMsg { 635 var err error 636 switch key { 637 case "nextLink": 638 err = unpopulate(val, "NextLink", &a.NextLink) 639 delete(rawMsg, key) 640 case "value": 641 err = unpopulate(val, "Value", &a.Value) 642 delete(rawMsg, key) 643 } 644 if err != nil { 645 return fmt.Errorf("unmarshalling type %T: %v", a, err) 646 } 647 } 648 return nil 649 } 650 651 // MarshalJSON implements the json.Marshaller interface for type AdminRuleCollectionPropertiesFormat. 652 func (a AdminRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 653 objectMap := make(map[string]any) 654 populate(objectMap, "appliesToGroups", a.AppliesToGroups) 655 populate(objectMap, "description", a.Description) 656 populate(objectMap, "provisioningState", a.ProvisioningState) 657 populate(objectMap, "resourceGuid", a.ResourceGUID) 658 return json.Marshal(objectMap) 659 } 660 661 // UnmarshalJSON implements the json.Unmarshaller interface for type AdminRuleCollectionPropertiesFormat. 662 func (a *AdminRuleCollectionPropertiesFormat) UnmarshalJSON(data []byte) error { 663 var rawMsg map[string]json.RawMessage 664 if err := json.Unmarshal(data, &rawMsg); err != nil { 665 return fmt.Errorf("unmarshalling type %T: %v", a, err) 666 } 667 for key, val := range rawMsg { 668 var err error 669 switch key { 670 case "appliesToGroups": 671 err = unpopulate(val, "AppliesToGroups", &a.AppliesToGroups) 672 delete(rawMsg, key) 673 case "description": 674 err = unpopulate(val, "Description", &a.Description) 675 delete(rawMsg, key) 676 case "provisioningState": 677 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 678 delete(rawMsg, key) 679 case "resourceGuid": 680 err = unpopulate(val, "ResourceGUID", &a.ResourceGUID) 681 delete(rawMsg, key) 682 } 683 if err != nil { 684 return fmt.Errorf("unmarshalling type %T: %v", a, err) 685 } 686 } 687 return nil 688 } 689 690 // MarshalJSON implements the json.Marshaller interface for type AdminRuleListResult. 691 func (a AdminRuleListResult) MarshalJSON() ([]byte, error) { 692 objectMap := make(map[string]any) 693 populate(objectMap, "nextLink", a.NextLink) 694 populate(objectMap, "value", a.Value) 695 return json.Marshal(objectMap) 696 } 697 698 // UnmarshalJSON implements the json.Unmarshaller interface for type AdminRuleListResult. 699 func (a *AdminRuleListResult) UnmarshalJSON(data []byte) error { 700 var rawMsg map[string]json.RawMessage 701 if err := json.Unmarshal(data, &rawMsg); err != nil { 702 return fmt.Errorf("unmarshalling type %T: %v", a, err) 703 } 704 for key, val := range rawMsg { 705 var err error 706 switch key { 707 case "nextLink": 708 err = unpopulate(val, "NextLink", &a.NextLink) 709 delete(rawMsg, key) 710 case "value": 711 a.Value, err = unmarshalBaseAdminRuleClassificationArray(val) 712 delete(rawMsg, key) 713 } 714 if err != nil { 715 return fmt.Errorf("unmarshalling type %T: %v", a, err) 716 } 717 } 718 return nil 719 } 720 721 // MarshalJSON implements the json.Marshaller interface for type ApplicationGateway. 722 func (a ApplicationGateway) MarshalJSON() ([]byte, error) { 723 objectMap := make(map[string]any) 724 populate(objectMap, "etag", a.Etag) 725 populate(objectMap, "id", a.ID) 726 populate(objectMap, "identity", a.Identity) 727 populate(objectMap, "location", a.Location) 728 populate(objectMap, "name", a.Name) 729 populate(objectMap, "properties", a.Properties) 730 populate(objectMap, "tags", a.Tags) 731 populate(objectMap, "type", a.Type) 732 populate(objectMap, "zones", a.Zones) 733 return json.Marshal(objectMap) 734 } 735 736 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGateway. 737 func (a *ApplicationGateway) UnmarshalJSON(data []byte) error { 738 var rawMsg map[string]json.RawMessage 739 if err := json.Unmarshal(data, &rawMsg); err != nil { 740 return fmt.Errorf("unmarshalling type %T: %v", a, err) 741 } 742 for key, val := range rawMsg { 743 var err error 744 switch key { 745 case "etag": 746 err = unpopulate(val, "Etag", &a.Etag) 747 delete(rawMsg, key) 748 case "id": 749 err = unpopulate(val, "ID", &a.ID) 750 delete(rawMsg, key) 751 case "identity": 752 err = unpopulate(val, "Identity", &a.Identity) 753 delete(rawMsg, key) 754 case "location": 755 err = unpopulate(val, "Location", &a.Location) 756 delete(rawMsg, key) 757 case "name": 758 err = unpopulate(val, "Name", &a.Name) 759 delete(rawMsg, key) 760 case "properties": 761 err = unpopulate(val, "Properties", &a.Properties) 762 delete(rawMsg, key) 763 case "tags": 764 err = unpopulate(val, "Tags", &a.Tags) 765 delete(rawMsg, key) 766 case "type": 767 err = unpopulate(val, "Type", &a.Type) 768 delete(rawMsg, key) 769 case "zones": 770 err = unpopulate(val, "Zones", &a.Zones) 771 delete(rawMsg, key) 772 } 773 if err != nil { 774 return fmt.Errorf("unmarshalling type %T: %v", a, err) 775 } 776 } 777 return nil 778 } 779 780 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAuthenticationCertificate. 781 func (a ApplicationGatewayAuthenticationCertificate) MarshalJSON() ([]byte, error) { 782 objectMap := make(map[string]any) 783 populate(objectMap, "etag", a.Etag) 784 populate(objectMap, "id", a.ID) 785 populate(objectMap, "name", a.Name) 786 populate(objectMap, "properties", a.Properties) 787 populate(objectMap, "type", a.Type) 788 return json.Marshal(objectMap) 789 } 790 791 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAuthenticationCertificate. 792 func (a *ApplicationGatewayAuthenticationCertificate) UnmarshalJSON(data []byte) error { 793 var rawMsg map[string]json.RawMessage 794 if err := json.Unmarshal(data, &rawMsg); err != nil { 795 return fmt.Errorf("unmarshalling type %T: %v", a, err) 796 } 797 for key, val := range rawMsg { 798 var err error 799 switch key { 800 case "etag": 801 err = unpopulate(val, "Etag", &a.Etag) 802 delete(rawMsg, key) 803 case "id": 804 err = unpopulate(val, "ID", &a.ID) 805 delete(rawMsg, key) 806 case "name": 807 err = unpopulate(val, "Name", &a.Name) 808 delete(rawMsg, key) 809 case "properties": 810 err = unpopulate(val, "Properties", &a.Properties) 811 delete(rawMsg, key) 812 case "type": 813 err = unpopulate(val, "Type", &a.Type) 814 delete(rawMsg, key) 815 } 816 if err != nil { 817 return fmt.Errorf("unmarshalling type %T: %v", a, err) 818 } 819 } 820 return nil 821 } 822 823 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAuthenticationCertificatePropertiesFormat. 824 func (a ApplicationGatewayAuthenticationCertificatePropertiesFormat) MarshalJSON() ([]byte, error) { 825 objectMap := make(map[string]any) 826 populate(objectMap, "data", a.Data) 827 populate(objectMap, "provisioningState", a.ProvisioningState) 828 return json.Marshal(objectMap) 829 } 830 831 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAuthenticationCertificatePropertiesFormat. 832 func (a *ApplicationGatewayAuthenticationCertificatePropertiesFormat) UnmarshalJSON(data []byte) error { 833 var rawMsg map[string]json.RawMessage 834 if err := json.Unmarshal(data, &rawMsg); err != nil { 835 return fmt.Errorf("unmarshalling type %T: %v", a, err) 836 } 837 for key, val := range rawMsg { 838 var err error 839 switch key { 840 case "data": 841 err = unpopulate(val, "Data", &a.Data) 842 delete(rawMsg, key) 843 case "provisioningState": 844 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 845 delete(rawMsg, key) 846 } 847 if err != nil { 848 return fmt.Errorf("unmarshalling type %T: %v", a, err) 849 } 850 } 851 return nil 852 } 853 854 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAutoscaleConfiguration. 855 func (a ApplicationGatewayAutoscaleConfiguration) MarshalJSON() ([]byte, error) { 856 objectMap := make(map[string]any) 857 populate(objectMap, "maxCapacity", a.MaxCapacity) 858 populate(objectMap, "minCapacity", a.MinCapacity) 859 return json.Marshal(objectMap) 860 } 861 862 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAutoscaleConfiguration. 863 func (a *ApplicationGatewayAutoscaleConfiguration) UnmarshalJSON(data []byte) error { 864 var rawMsg map[string]json.RawMessage 865 if err := json.Unmarshal(data, &rawMsg); err != nil { 866 return fmt.Errorf("unmarshalling type %T: %v", a, err) 867 } 868 for key, val := range rawMsg { 869 var err error 870 switch key { 871 case "maxCapacity": 872 err = unpopulate(val, "MaxCapacity", &a.MaxCapacity) 873 delete(rawMsg, key) 874 case "minCapacity": 875 err = unpopulate(val, "MinCapacity", &a.MinCapacity) 876 delete(rawMsg, key) 877 } 878 if err != nil { 879 return fmt.Errorf("unmarshalling type %T: %v", a, err) 880 } 881 } 882 return nil 883 } 884 885 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLOptions. 886 func (a ApplicationGatewayAvailableSSLOptions) MarshalJSON() ([]byte, error) { 887 objectMap := make(map[string]any) 888 populate(objectMap, "id", a.ID) 889 populate(objectMap, "location", a.Location) 890 populate(objectMap, "name", a.Name) 891 populate(objectMap, "properties", a.Properties) 892 populate(objectMap, "tags", a.Tags) 893 populate(objectMap, "type", a.Type) 894 return json.Marshal(objectMap) 895 } 896 897 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAvailableSSLOptions. 898 func (a *ApplicationGatewayAvailableSSLOptions) UnmarshalJSON(data []byte) error { 899 var rawMsg map[string]json.RawMessage 900 if err := json.Unmarshal(data, &rawMsg); err != nil { 901 return fmt.Errorf("unmarshalling type %T: %v", a, err) 902 } 903 for key, val := range rawMsg { 904 var err error 905 switch key { 906 case "id": 907 err = unpopulate(val, "ID", &a.ID) 908 delete(rawMsg, key) 909 case "location": 910 err = unpopulate(val, "Location", &a.Location) 911 delete(rawMsg, key) 912 case "name": 913 err = unpopulate(val, "Name", &a.Name) 914 delete(rawMsg, key) 915 case "properties": 916 err = unpopulate(val, "Properties", &a.Properties) 917 delete(rawMsg, key) 918 case "tags": 919 err = unpopulate(val, "Tags", &a.Tags) 920 delete(rawMsg, key) 921 case "type": 922 err = unpopulate(val, "Type", &a.Type) 923 delete(rawMsg, key) 924 } 925 if err != nil { 926 return fmt.Errorf("unmarshalling type %T: %v", a, err) 927 } 928 } 929 return nil 930 } 931 932 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLOptionsPropertiesFormat. 933 func (a ApplicationGatewayAvailableSSLOptionsPropertiesFormat) MarshalJSON() ([]byte, error) { 934 objectMap := make(map[string]any) 935 populate(objectMap, "availableCipherSuites", a.AvailableCipherSuites) 936 populate(objectMap, "availableProtocols", a.AvailableProtocols) 937 populate(objectMap, "defaultPolicy", a.DefaultPolicy) 938 populate(objectMap, "predefinedPolicies", a.PredefinedPolicies) 939 return json.Marshal(objectMap) 940 } 941 942 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAvailableSSLOptionsPropertiesFormat. 943 func (a *ApplicationGatewayAvailableSSLOptionsPropertiesFormat) UnmarshalJSON(data []byte) error { 944 var rawMsg map[string]json.RawMessage 945 if err := json.Unmarshal(data, &rawMsg); err != nil { 946 return fmt.Errorf("unmarshalling type %T: %v", a, err) 947 } 948 for key, val := range rawMsg { 949 var err error 950 switch key { 951 case "availableCipherSuites": 952 err = unpopulate(val, "AvailableCipherSuites", &a.AvailableCipherSuites) 953 delete(rawMsg, key) 954 case "availableProtocols": 955 err = unpopulate(val, "AvailableProtocols", &a.AvailableProtocols) 956 delete(rawMsg, key) 957 case "defaultPolicy": 958 err = unpopulate(val, "DefaultPolicy", &a.DefaultPolicy) 959 delete(rawMsg, key) 960 case "predefinedPolicies": 961 err = unpopulate(val, "PredefinedPolicies", &a.PredefinedPolicies) 962 delete(rawMsg, key) 963 } 964 if err != nil { 965 return fmt.Errorf("unmarshalling type %T: %v", a, err) 966 } 967 } 968 return nil 969 } 970 971 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableSSLPredefinedPolicies. 972 func (a ApplicationGatewayAvailableSSLPredefinedPolicies) MarshalJSON() ([]byte, error) { 973 objectMap := make(map[string]any) 974 populate(objectMap, "nextLink", a.NextLink) 975 populate(objectMap, "value", a.Value) 976 return json.Marshal(objectMap) 977 } 978 979 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAvailableSSLPredefinedPolicies. 980 func (a *ApplicationGatewayAvailableSSLPredefinedPolicies) UnmarshalJSON(data []byte) error { 981 var rawMsg map[string]json.RawMessage 982 if err := json.Unmarshal(data, &rawMsg); err != nil { 983 return fmt.Errorf("unmarshalling type %T: %v", a, err) 984 } 985 for key, val := range rawMsg { 986 var err error 987 switch key { 988 case "nextLink": 989 err = unpopulate(val, "NextLink", &a.NextLink) 990 delete(rawMsg, key) 991 case "value": 992 err = unpopulate(val, "Value", &a.Value) 993 delete(rawMsg, key) 994 } 995 if err != nil { 996 return fmt.Errorf("unmarshalling type %T: %v", a, err) 997 } 998 } 999 return nil 1000 } 1001 1002 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayAvailableWafRuleSetsResult. 1003 func (a ApplicationGatewayAvailableWafRuleSetsResult) MarshalJSON() ([]byte, error) { 1004 objectMap := make(map[string]any) 1005 populate(objectMap, "value", a.Value) 1006 return json.Marshal(objectMap) 1007 } 1008 1009 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayAvailableWafRuleSetsResult. 1010 func (a *ApplicationGatewayAvailableWafRuleSetsResult) UnmarshalJSON(data []byte) error { 1011 var rawMsg map[string]json.RawMessage 1012 if err := json.Unmarshal(data, &rawMsg); err != nil { 1013 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1014 } 1015 for key, val := range rawMsg { 1016 var err error 1017 switch key { 1018 case "value": 1019 err = unpopulate(val, "Value", &a.Value) 1020 delete(rawMsg, key) 1021 } 1022 if err != nil { 1023 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1024 } 1025 } 1026 return nil 1027 } 1028 1029 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddress. 1030 func (a ApplicationGatewayBackendAddress) MarshalJSON() ([]byte, error) { 1031 objectMap := make(map[string]any) 1032 populate(objectMap, "fqdn", a.Fqdn) 1033 populate(objectMap, "ipAddress", a.IPAddress) 1034 return json.Marshal(objectMap) 1035 } 1036 1037 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendAddress. 1038 func (a *ApplicationGatewayBackendAddress) UnmarshalJSON(data []byte) error { 1039 var rawMsg map[string]json.RawMessage 1040 if err := json.Unmarshal(data, &rawMsg); err != nil { 1041 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1042 } 1043 for key, val := range rawMsg { 1044 var err error 1045 switch key { 1046 case "fqdn": 1047 err = unpopulate(val, "Fqdn", &a.Fqdn) 1048 delete(rawMsg, key) 1049 case "ipAddress": 1050 err = unpopulate(val, "IPAddress", &a.IPAddress) 1051 delete(rawMsg, key) 1052 } 1053 if err != nil { 1054 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1055 } 1056 } 1057 return nil 1058 } 1059 1060 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddressPool. 1061 func (a ApplicationGatewayBackendAddressPool) MarshalJSON() ([]byte, error) { 1062 objectMap := make(map[string]any) 1063 populate(objectMap, "etag", a.Etag) 1064 populate(objectMap, "id", a.ID) 1065 populate(objectMap, "name", a.Name) 1066 populate(objectMap, "properties", a.Properties) 1067 populate(objectMap, "type", a.Type) 1068 return json.Marshal(objectMap) 1069 } 1070 1071 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendAddressPool. 1072 func (a *ApplicationGatewayBackendAddressPool) UnmarshalJSON(data []byte) error { 1073 var rawMsg map[string]json.RawMessage 1074 if err := json.Unmarshal(data, &rawMsg); err != nil { 1075 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1076 } 1077 for key, val := range rawMsg { 1078 var err error 1079 switch key { 1080 case "etag": 1081 err = unpopulate(val, "Etag", &a.Etag) 1082 delete(rawMsg, key) 1083 case "id": 1084 err = unpopulate(val, "ID", &a.ID) 1085 delete(rawMsg, key) 1086 case "name": 1087 err = unpopulate(val, "Name", &a.Name) 1088 delete(rawMsg, key) 1089 case "properties": 1090 err = unpopulate(val, "Properties", &a.Properties) 1091 delete(rawMsg, key) 1092 case "type": 1093 err = unpopulate(val, "Type", &a.Type) 1094 delete(rawMsg, key) 1095 } 1096 if err != nil { 1097 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1098 } 1099 } 1100 return nil 1101 } 1102 1103 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendAddressPoolPropertiesFormat. 1104 func (a ApplicationGatewayBackendAddressPoolPropertiesFormat) MarshalJSON() ([]byte, error) { 1105 objectMap := make(map[string]any) 1106 populate(objectMap, "backendAddresses", a.BackendAddresses) 1107 populate(objectMap, "backendIPConfigurations", a.BackendIPConfigurations) 1108 populate(objectMap, "provisioningState", a.ProvisioningState) 1109 return json.Marshal(objectMap) 1110 } 1111 1112 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendAddressPoolPropertiesFormat. 1113 func (a *ApplicationGatewayBackendAddressPoolPropertiesFormat) UnmarshalJSON(data []byte) error { 1114 var rawMsg map[string]json.RawMessage 1115 if err := json.Unmarshal(data, &rawMsg); err != nil { 1116 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1117 } 1118 for key, val := range rawMsg { 1119 var err error 1120 switch key { 1121 case "backendAddresses": 1122 err = unpopulate(val, "BackendAddresses", &a.BackendAddresses) 1123 delete(rawMsg, key) 1124 case "backendIPConfigurations": 1125 err = unpopulate(val, "BackendIPConfigurations", &a.BackendIPConfigurations) 1126 delete(rawMsg, key) 1127 case "provisioningState": 1128 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 1129 delete(rawMsg, key) 1130 } 1131 if err != nil { 1132 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1133 } 1134 } 1135 return nil 1136 } 1137 1138 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHTTPSettings. 1139 func (a ApplicationGatewayBackendHTTPSettings) MarshalJSON() ([]byte, error) { 1140 objectMap := make(map[string]any) 1141 populate(objectMap, "etag", a.Etag) 1142 populate(objectMap, "id", a.ID) 1143 populate(objectMap, "name", a.Name) 1144 populate(objectMap, "properties", a.Properties) 1145 populate(objectMap, "type", a.Type) 1146 return json.Marshal(objectMap) 1147 } 1148 1149 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHTTPSettings. 1150 func (a *ApplicationGatewayBackendHTTPSettings) UnmarshalJSON(data []byte) error { 1151 var rawMsg map[string]json.RawMessage 1152 if err := json.Unmarshal(data, &rawMsg); err != nil { 1153 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1154 } 1155 for key, val := range rawMsg { 1156 var err error 1157 switch key { 1158 case "etag": 1159 err = unpopulate(val, "Etag", &a.Etag) 1160 delete(rawMsg, key) 1161 case "id": 1162 err = unpopulate(val, "ID", &a.ID) 1163 delete(rawMsg, key) 1164 case "name": 1165 err = unpopulate(val, "Name", &a.Name) 1166 delete(rawMsg, key) 1167 case "properties": 1168 err = unpopulate(val, "Properties", &a.Properties) 1169 delete(rawMsg, key) 1170 case "type": 1171 err = unpopulate(val, "Type", &a.Type) 1172 delete(rawMsg, key) 1173 } 1174 if err != nil { 1175 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1176 } 1177 } 1178 return nil 1179 } 1180 1181 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHTTPSettingsPropertiesFormat. 1182 func (a ApplicationGatewayBackendHTTPSettingsPropertiesFormat) MarshalJSON() ([]byte, error) { 1183 objectMap := make(map[string]any) 1184 populate(objectMap, "affinityCookieName", a.AffinityCookieName) 1185 populate(objectMap, "authenticationCertificates", a.AuthenticationCertificates) 1186 populate(objectMap, "connectionDraining", a.ConnectionDraining) 1187 populate(objectMap, "cookieBasedAffinity", a.CookieBasedAffinity) 1188 populate(objectMap, "hostName", a.HostName) 1189 populate(objectMap, "path", a.Path) 1190 populate(objectMap, "pickHostNameFromBackendAddress", a.PickHostNameFromBackendAddress) 1191 populate(objectMap, "port", a.Port) 1192 populate(objectMap, "probe", a.Probe) 1193 populate(objectMap, "probeEnabled", a.ProbeEnabled) 1194 populate(objectMap, "protocol", a.Protocol) 1195 populate(objectMap, "provisioningState", a.ProvisioningState) 1196 populate(objectMap, "requestTimeout", a.RequestTimeout) 1197 populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) 1198 return json.Marshal(objectMap) 1199 } 1200 1201 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHTTPSettingsPropertiesFormat. 1202 func (a *ApplicationGatewayBackendHTTPSettingsPropertiesFormat) UnmarshalJSON(data []byte) error { 1203 var rawMsg map[string]json.RawMessage 1204 if err := json.Unmarshal(data, &rawMsg); err != nil { 1205 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1206 } 1207 for key, val := range rawMsg { 1208 var err error 1209 switch key { 1210 case "affinityCookieName": 1211 err = unpopulate(val, "AffinityCookieName", &a.AffinityCookieName) 1212 delete(rawMsg, key) 1213 case "authenticationCertificates": 1214 err = unpopulate(val, "AuthenticationCertificates", &a.AuthenticationCertificates) 1215 delete(rawMsg, key) 1216 case "connectionDraining": 1217 err = unpopulate(val, "ConnectionDraining", &a.ConnectionDraining) 1218 delete(rawMsg, key) 1219 case "cookieBasedAffinity": 1220 err = unpopulate(val, "CookieBasedAffinity", &a.CookieBasedAffinity) 1221 delete(rawMsg, key) 1222 case "hostName": 1223 err = unpopulate(val, "HostName", &a.HostName) 1224 delete(rawMsg, key) 1225 case "path": 1226 err = unpopulate(val, "Path", &a.Path) 1227 delete(rawMsg, key) 1228 case "pickHostNameFromBackendAddress": 1229 err = unpopulate(val, "PickHostNameFromBackendAddress", &a.PickHostNameFromBackendAddress) 1230 delete(rawMsg, key) 1231 case "port": 1232 err = unpopulate(val, "Port", &a.Port) 1233 delete(rawMsg, key) 1234 case "probe": 1235 err = unpopulate(val, "Probe", &a.Probe) 1236 delete(rawMsg, key) 1237 case "probeEnabled": 1238 err = unpopulate(val, "ProbeEnabled", &a.ProbeEnabled) 1239 delete(rawMsg, key) 1240 case "protocol": 1241 err = unpopulate(val, "Protocol", &a.Protocol) 1242 delete(rawMsg, key) 1243 case "provisioningState": 1244 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 1245 delete(rawMsg, key) 1246 case "requestTimeout": 1247 err = unpopulate(val, "RequestTimeout", &a.RequestTimeout) 1248 delete(rawMsg, key) 1249 case "trustedRootCertificates": 1250 err = unpopulate(val, "TrustedRootCertificates", &a.TrustedRootCertificates) 1251 delete(rawMsg, key) 1252 } 1253 if err != nil { 1254 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1255 } 1256 } 1257 return nil 1258 } 1259 1260 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealth. 1261 func (a ApplicationGatewayBackendHealth) MarshalJSON() ([]byte, error) { 1262 objectMap := make(map[string]any) 1263 populate(objectMap, "backendAddressPools", a.BackendAddressPools) 1264 return json.Marshal(objectMap) 1265 } 1266 1267 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHealth. 1268 func (a *ApplicationGatewayBackendHealth) UnmarshalJSON(data []byte) error { 1269 var rawMsg map[string]json.RawMessage 1270 if err := json.Unmarshal(data, &rawMsg); err != nil { 1271 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1272 } 1273 for key, val := range rawMsg { 1274 var err error 1275 switch key { 1276 case "backendAddressPools": 1277 err = unpopulate(val, "BackendAddressPools", &a.BackendAddressPools) 1278 delete(rawMsg, key) 1279 } 1280 if err != nil { 1281 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1282 } 1283 } 1284 return nil 1285 } 1286 1287 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthHTTPSettings. 1288 func (a ApplicationGatewayBackendHealthHTTPSettings) MarshalJSON() ([]byte, error) { 1289 objectMap := make(map[string]any) 1290 populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) 1291 populate(objectMap, "servers", a.Servers) 1292 return json.Marshal(objectMap) 1293 } 1294 1295 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHealthHTTPSettings. 1296 func (a *ApplicationGatewayBackendHealthHTTPSettings) UnmarshalJSON(data []byte) error { 1297 var rawMsg map[string]json.RawMessage 1298 if err := json.Unmarshal(data, &rawMsg); err != nil { 1299 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1300 } 1301 for key, val := range rawMsg { 1302 var err error 1303 switch key { 1304 case "backendHttpSettings": 1305 err = unpopulate(val, "BackendHTTPSettings", &a.BackendHTTPSettings) 1306 delete(rawMsg, key) 1307 case "servers": 1308 err = unpopulate(val, "Servers", &a.Servers) 1309 delete(rawMsg, key) 1310 } 1311 if err != nil { 1312 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1313 } 1314 } 1315 return nil 1316 } 1317 1318 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthOnDemand. 1319 func (a ApplicationGatewayBackendHealthOnDemand) MarshalJSON() ([]byte, error) { 1320 objectMap := make(map[string]any) 1321 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 1322 populate(objectMap, "backendHealthHttpSettings", a.BackendHealthHTTPSettings) 1323 return json.Marshal(objectMap) 1324 } 1325 1326 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHealthOnDemand. 1327 func (a *ApplicationGatewayBackendHealthOnDemand) UnmarshalJSON(data []byte) error { 1328 var rawMsg map[string]json.RawMessage 1329 if err := json.Unmarshal(data, &rawMsg); err != nil { 1330 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1331 } 1332 for key, val := range rawMsg { 1333 var err error 1334 switch key { 1335 case "backendAddressPool": 1336 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 1337 delete(rawMsg, key) 1338 case "backendHealthHttpSettings": 1339 err = unpopulate(val, "BackendHealthHTTPSettings", &a.BackendHealthHTTPSettings) 1340 delete(rawMsg, key) 1341 } 1342 if err != nil { 1343 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1344 } 1345 } 1346 return nil 1347 } 1348 1349 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthPool. 1350 func (a ApplicationGatewayBackendHealthPool) MarshalJSON() ([]byte, error) { 1351 objectMap := make(map[string]any) 1352 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 1353 populate(objectMap, "backendHttpSettingsCollection", a.BackendHTTPSettingsCollection) 1354 return json.Marshal(objectMap) 1355 } 1356 1357 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHealthPool. 1358 func (a *ApplicationGatewayBackendHealthPool) UnmarshalJSON(data []byte) error { 1359 var rawMsg map[string]json.RawMessage 1360 if err := json.Unmarshal(data, &rawMsg); err != nil { 1361 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1362 } 1363 for key, val := range rawMsg { 1364 var err error 1365 switch key { 1366 case "backendAddressPool": 1367 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 1368 delete(rawMsg, key) 1369 case "backendHttpSettingsCollection": 1370 err = unpopulate(val, "BackendHTTPSettingsCollection", &a.BackendHTTPSettingsCollection) 1371 delete(rawMsg, key) 1372 } 1373 if err != nil { 1374 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1375 } 1376 } 1377 return nil 1378 } 1379 1380 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendHealthServer. 1381 func (a ApplicationGatewayBackendHealthServer) MarshalJSON() ([]byte, error) { 1382 objectMap := make(map[string]any) 1383 populate(objectMap, "address", a.Address) 1384 populate(objectMap, "health", a.Health) 1385 populate(objectMap, "healthProbeLog", a.HealthProbeLog) 1386 populate(objectMap, "ipConfiguration", a.IPConfiguration) 1387 return json.Marshal(objectMap) 1388 } 1389 1390 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendHealthServer. 1391 func (a *ApplicationGatewayBackendHealthServer) UnmarshalJSON(data []byte) error { 1392 var rawMsg map[string]json.RawMessage 1393 if err := json.Unmarshal(data, &rawMsg); err != nil { 1394 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1395 } 1396 for key, val := range rawMsg { 1397 var err error 1398 switch key { 1399 case "address": 1400 err = unpopulate(val, "Address", &a.Address) 1401 delete(rawMsg, key) 1402 case "health": 1403 err = unpopulate(val, "Health", &a.Health) 1404 delete(rawMsg, key) 1405 case "healthProbeLog": 1406 err = unpopulate(val, "HealthProbeLog", &a.HealthProbeLog) 1407 delete(rawMsg, key) 1408 case "ipConfiguration": 1409 err = unpopulate(val, "IPConfiguration", &a.IPConfiguration) 1410 delete(rawMsg, key) 1411 } 1412 if err != nil { 1413 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1414 } 1415 } 1416 return nil 1417 } 1418 1419 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendSettings. 1420 func (a ApplicationGatewayBackendSettings) MarshalJSON() ([]byte, error) { 1421 objectMap := make(map[string]any) 1422 populate(objectMap, "etag", a.Etag) 1423 populate(objectMap, "id", a.ID) 1424 populate(objectMap, "name", a.Name) 1425 populate(objectMap, "properties", a.Properties) 1426 populate(objectMap, "type", a.Type) 1427 return json.Marshal(objectMap) 1428 } 1429 1430 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendSettings. 1431 func (a *ApplicationGatewayBackendSettings) UnmarshalJSON(data []byte) error { 1432 var rawMsg map[string]json.RawMessage 1433 if err := json.Unmarshal(data, &rawMsg); err != nil { 1434 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1435 } 1436 for key, val := range rawMsg { 1437 var err error 1438 switch key { 1439 case "etag": 1440 err = unpopulate(val, "Etag", &a.Etag) 1441 delete(rawMsg, key) 1442 case "id": 1443 err = unpopulate(val, "ID", &a.ID) 1444 delete(rawMsg, key) 1445 case "name": 1446 err = unpopulate(val, "Name", &a.Name) 1447 delete(rawMsg, key) 1448 case "properties": 1449 err = unpopulate(val, "Properties", &a.Properties) 1450 delete(rawMsg, key) 1451 case "type": 1452 err = unpopulate(val, "Type", &a.Type) 1453 delete(rawMsg, key) 1454 } 1455 if err != nil { 1456 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1457 } 1458 } 1459 return nil 1460 } 1461 1462 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayBackendSettingsPropertiesFormat. 1463 func (a ApplicationGatewayBackendSettingsPropertiesFormat) MarshalJSON() ([]byte, error) { 1464 objectMap := make(map[string]any) 1465 populate(objectMap, "hostName", a.HostName) 1466 populate(objectMap, "pickHostNameFromBackendAddress", a.PickHostNameFromBackendAddress) 1467 populate(objectMap, "port", a.Port) 1468 populate(objectMap, "probe", a.Probe) 1469 populate(objectMap, "protocol", a.Protocol) 1470 populate(objectMap, "provisioningState", a.ProvisioningState) 1471 populate(objectMap, "timeout", a.Timeout) 1472 populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) 1473 return json.Marshal(objectMap) 1474 } 1475 1476 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayBackendSettingsPropertiesFormat. 1477 func (a *ApplicationGatewayBackendSettingsPropertiesFormat) UnmarshalJSON(data []byte) error { 1478 var rawMsg map[string]json.RawMessage 1479 if err := json.Unmarshal(data, &rawMsg); err != nil { 1480 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1481 } 1482 for key, val := range rawMsg { 1483 var err error 1484 switch key { 1485 case "hostName": 1486 err = unpopulate(val, "HostName", &a.HostName) 1487 delete(rawMsg, key) 1488 case "pickHostNameFromBackendAddress": 1489 err = unpopulate(val, "PickHostNameFromBackendAddress", &a.PickHostNameFromBackendAddress) 1490 delete(rawMsg, key) 1491 case "port": 1492 err = unpopulate(val, "Port", &a.Port) 1493 delete(rawMsg, key) 1494 case "probe": 1495 err = unpopulate(val, "Probe", &a.Probe) 1496 delete(rawMsg, key) 1497 case "protocol": 1498 err = unpopulate(val, "Protocol", &a.Protocol) 1499 delete(rawMsg, key) 1500 case "provisioningState": 1501 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 1502 delete(rawMsg, key) 1503 case "timeout": 1504 err = unpopulate(val, "Timeout", &a.Timeout) 1505 delete(rawMsg, key) 1506 case "trustedRootCertificates": 1507 err = unpopulate(val, "TrustedRootCertificates", &a.TrustedRootCertificates) 1508 delete(rawMsg, key) 1509 } 1510 if err != nil { 1511 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1512 } 1513 } 1514 return nil 1515 } 1516 1517 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayClientAuthConfiguration. 1518 func (a ApplicationGatewayClientAuthConfiguration) MarshalJSON() ([]byte, error) { 1519 objectMap := make(map[string]any) 1520 populate(objectMap, "verifyClientCertIssuerDN", a.VerifyClientCertIssuerDN) 1521 populate(objectMap, "verifyClientRevocation", a.VerifyClientRevocation) 1522 return json.Marshal(objectMap) 1523 } 1524 1525 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayClientAuthConfiguration. 1526 func (a *ApplicationGatewayClientAuthConfiguration) UnmarshalJSON(data []byte) error { 1527 var rawMsg map[string]json.RawMessage 1528 if err := json.Unmarshal(data, &rawMsg); err != nil { 1529 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1530 } 1531 for key, val := range rawMsg { 1532 var err error 1533 switch key { 1534 case "verifyClientCertIssuerDN": 1535 err = unpopulate(val, "VerifyClientCertIssuerDN", &a.VerifyClientCertIssuerDN) 1536 delete(rawMsg, key) 1537 case "verifyClientRevocation": 1538 err = unpopulate(val, "VerifyClientRevocation", &a.VerifyClientRevocation) 1539 delete(rawMsg, key) 1540 } 1541 if err != nil { 1542 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1543 } 1544 } 1545 return nil 1546 } 1547 1548 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayConnectionDraining. 1549 func (a ApplicationGatewayConnectionDraining) MarshalJSON() ([]byte, error) { 1550 objectMap := make(map[string]any) 1551 populate(objectMap, "drainTimeoutInSec", a.DrainTimeoutInSec) 1552 populate(objectMap, "enabled", a.Enabled) 1553 return json.Marshal(objectMap) 1554 } 1555 1556 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayConnectionDraining. 1557 func (a *ApplicationGatewayConnectionDraining) UnmarshalJSON(data []byte) error { 1558 var rawMsg map[string]json.RawMessage 1559 if err := json.Unmarshal(data, &rawMsg); err != nil { 1560 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1561 } 1562 for key, val := range rawMsg { 1563 var err error 1564 switch key { 1565 case "drainTimeoutInSec": 1566 err = unpopulate(val, "DrainTimeoutInSec", &a.DrainTimeoutInSec) 1567 delete(rawMsg, key) 1568 case "enabled": 1569 err = unpopulate(val, "Enabled", &a.Enabled) 1570 delete(rawMsg, key) 1571 } 1572 if err != nil { 1573 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1574 } 1575 } 1576 return nil 1577 } 1578 1579 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayCustomError. 1580 func (a ApplicationGatewayCustomError) MarshalJSON() ([]byte, error) { 1581 objectMap := make(map[string]any) 1582 populate(objectMap, "customErrorPageUrl", a.CustomErrorPageURL) 1583 populate(objectMap, "statusCode", a.StatusCode) 1584 return json.Marshal(objectMap) 1585 } 1586 1587 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayCustomError. 1588 func (a *ApplicationGatewayCustomError) UnmarshalJSON(data []byte) error { 1589 var rawMsg map[string]json.RawMessage 1590 if err := json.Unmarshal(data, &rawMsg); err != nil { 1591 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1592 } 1593 for key, val := range rawMsg { 1594 var err error 1595 switch key { 1596 case "customErrorPageUrl": 1597 err = unpopulate(val, "CustomErrorPageURL", &a.CustomErrorPageURL) 1598 delete(rawMsg, key) 1599 case "statusCode": 1600 err = unpopulate(val, "StatusCode", &a.StatusCode) 1601 delete(rawMsg, key) 1602 } 1603 if err != nil { 1604 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1605 } 1606 } 1607 return nil 1608 } 1609 1610 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallDisabledRuleGroup. 1611 func (a ApplicationGatewayFirewallDisabledRuleGroup) MarshalJSON() ([]byte, error) { 1612 objectMap := make(map[string]any) 1613 populate(objectMap, "ruleGroupName", a.RuleGroupName) 1614 populate(objectMap, "rules", a.Rules) 1615 return json.Marshal(objectMap) 1616 } 1617 1618 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallDisabledRuleGroup. 1619 func (a *ApplicationGatewayFirewallDisabledRuleGroup) UnmarshalJSON(data []byte) error { 1620 var rawMsg map[string]json.RawMessage 1621 if err := json.Unmarshal(data, &rawMsg); err != nil { 1622 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1623 } 1624 for key, val := range rawMsg { 1625 var err error 1626 switch key { 1627 case "ruleGroupName": 1628 err = unpopulate(val, "RuleGroupName", &a.RuleGroupName) 1629 delete(rawMsg, key) 1630 case "rules": 1631 err = unpopulate(val, "Rules", &a.Rules) 1632 delete(rawMsg, key) 1633 } 1634 if err != nil { 1635 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1636 } 1637 } 1638 return nil 1639 } 1640 1641 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallExclusion. 1642 func (a ApplicationGatewayFirewallExclusion) MarshalJSON() ([]byte, error) { 1643 objectMap := make(map[string]any) 1644 populate(objectMap, "matchVariable", a.MatchVariable) 1645 populate(objectMap, "selector", a.Selector) 1646 populate(objectMap, "selectorMatchOperator", a.SelectorMatchOperator) 1647 return json.Marshal(objectMap) 1648 } 1649 1650 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallExclusion. 1651 func (a *ApplicationGatewayFirewallExclusion) UnmarshalJSON(data []byte) error { 1652 var rawMsg map[string]json.RawMessage 1653 if err := json.Unmarshal(data, &rawMsg); err != nil { 1654 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1655 } 1656 for key, val := range rawMsg { 1657 var err error 1658 switch key { 1659 case "matchVariable": 1660 err = unpopulate(val, "MatchVariable", &a.MatchVariable) 1661 delete(rawMsg, key) 1662 case "selector": 1663 err = unpopulate(val, "Selector", &a.Selector) 1664 delete(rawMsg, key) 1665 case "selectorMatchOperator": 1666 err = unpopulate(val, "SelectorMatchOperator", &a.SelectorMatchOperator) 1667 delete(rawMsg, key) 1668 } 1669 if err != nil { 1670 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1671 } 1672 } 1673 return nil 1674 } 1675 1676 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallManifestRuleSet. 1677 func (a ApplicationGatewayFirewallManifestRuleSet) MarshalJSON() ([]byte, error) { 1678 objectMap := make(map[string]any) 1679 populate(objectMap, "ruleGroups", a.RuleGroups) 1680 populate(objectMap, "ruleSetType", a.RuleSetType) 1681 populate(objectMap, "ruleSetVersion", a.RuleSetVersion) 1682 populate(objectMap, "status", a.Status) 1683 populate(objectMap, "tiers", a.Tiers) 1684 return json.Marshal(objectMap) 1685 } 1686 1687 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallManifestRuleSet. 1688 func (a *ApplicationGatewayFirewallManifestRuleSet) UnmarshalJSON(data []byte) error { 1689 var rawMsg map[string]json.RawMessage 1690 if err := json.Unmarshal(data, &rawMsg); err != nil { 1691 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1692 } 1693 for key, val := range rawMsg { 1694 var err error 1695 switch key { 1696 case "ruleGroups": 1697 err = unpopulate(val, "RuleGroups", &a.RuleGroups) 1698 delete(rawMsg, key) 1699 case "ruleSetType": 1700 err = unpopulate(val, "RuleSetType", &a.RuleSetType) 1701 delete(rawMsg, key) 1702 case "ruleSetVersion": 1703 err = unpopulate(val, "RuleSetVersion", &a.RuleSetVersion) 1704 delete(rawMsg, key) 1705 case "status": 1706 err = unpopulate(val, "Status", &a.Status) 1707 delete(rawMsg, key) 1708 case "tiers": 1709 err = unpopulate(val, "Tiers", &a.Tiers) 1710 delete(rawMsg, key) 1711 } 1712 if err != nil { 1713 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1714 } 1715 } 1716 return nil 1717 } 1718 1719 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRule. 1720 func (a ApplicationGatewayFirewallRule) MarshalJSON() ([]byte, error) { 1721 objectMap := make(map[string]any) 1722 populate(objectMap, "action", a.Action) 1723 populate(objectMap, "description", a.Description) 1724 populate(objectMap, "ruleId", a.RuleID) 1725 populate(objectMap, "ruleIdString", a.RuleIDString) 1726 populate(objectMap, "sensitivity", a.Sensitivity) 1727 populate(objectMap, "state", a.State) 1728 return json.Marshal(objectMap) 1729 } 1730 1731 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallRule. 1732 func (a *ApplicationGatewayFirewallRule) UnmarshalJSON(data []byte) error { 1733 var rawMsg map[string]json.RawMessage 1734 if err := json.Unmarshal(data, &rawMsg); err != nil { 1735 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1736 } 1737 for key, val := range rawMsg { 1738 var err error 1739 switch key { 1740 case "action": 1741 err = unpopulate(val, "Action", &a.Action) 1742 delete(rawMsg, key) 1743 case "description": 1744 err = unpopulate(val, "Description", &a.Description) 1745 delete(rawMsg, key) 1746 case "ruleId": 1747 err = unpopulate(val, "RuleID", &a.RuleID) 1748 delete(rawMsg, key) 1749 case "ruleIdString": 1750 err = unpopulate(val, "RuleIDString", &a.RuleIDString) 1751 delete(rawMsg, key) 1752 case "sensitivity": 1753 err = unpopulate(val, "Sensitivity", &a.Sensitivity) 1754 delete(rawMsg, key) 1755 case "state": 1756 err = unpopulate(val, "State", &a.State) 1757 delete(rawMsg, key) 1758 } 1759 if err != nil { 1760 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1761 } 1762 } 1763 return nil 1764 } 1765 1766 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleGroup. 1767 func (a ApplicationGatewayFirewallRuleGroup) MarshalJSON() ([]byte, error) { 1768 objectMap := make(map[string]any) 1769 populate(objectMap, "description", a.Description) 1770 populate(objectMap, "ruleGroupName", a.RuleGroupName) 1771 populate(objectMap, "rules", a.Rules) 1772 return json.Marshal(objectMap) 1773 } 1774 1775 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallRuleGroup. 1776 func (a *ApplicationGatewayFirewallRuleGroup) UnmarshalJSON(data []byte) error { 1777 var rawMsg map[string]json.RawMessage 1778 if err := json.Unmarshal(data, &rawMsg); err != nil { 1779 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1780 } 1781 for key, val := range rawMsg { 1782 var err error 1783 switch key { 1784 case "description": 1785 err = unpopulate(val, "Description", &a.Description) 1786 delete(rawMsg, key) 1787 case "ruleGroupName": 1788 err = unpopulate(val, "RuleGroupName", &a.RuleGroupName) 1789 delete(rawMsg, key) 1790 case "rules": 1791 err = unpopulate(val, "Rules", &a.Rules) 1792 delete(rawMsg, key) 1793 } 1794 if err != nil { 1795 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1796 } 1797 } 1798 return nil 1799 } 1800 1801 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleSet. 1802 func (a ApplicationGatewayFirewallRuleSet) MarshalJSON() ([]byte, error) { 1803 objectMap := make(map[string]any) 1804 populate(objectMap, "id", a.ID) 1805 populate(objectMap, "location", a.Location) 1806 populate(objectMap, "name", a.Name) 1807 populate(objectMap, "properties", a.Properties) 1808 populate(objectMap, "tags", a.Tags) 1809 populate(objectMap, "type", a.Type) 1810 return json.Marshal(objectMap) 1811 } 1812 1813 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallRuleSet. 1814 func (a *ApplicationGatewayFirewallRuleSet) UnmarshalJSON(data []byte) error { 1815 var rawMsg map[string]json.RawMessage 1816 if err := json.Unmarshal(data, &rawMsg); err != nil { 1817 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1818 } 1819 for key, val := range rawMsg { 1820 var err error 1821 switch key { 1822 case "id": 1823 err = unpopulate(val, "ID", &a.ID) 1824 delete(rawMsg, key) 1825 case "location": 1826 err = unpopulate(val, "Location", &a.Location) 1827 delete(rawMsg, key) 1828 case "name": 1829 err = unpopulate(val, "Name", &a.Name) 1830 delete(rawMsg, key) 1831 case "properties": 1832 err = unpopulate(val, "Properties", &a.Properties) 1833 delete(rawMsg, key) 1834 case "tags": 1835 err = unpopulate(val, "Tags", &a.Tags) 1836 delete(rawMsg, key) 1837 case "type": 1838 err = unpopulate(val, "Type", &a.Type) 1839 delete(rawMsg, key) 1840 } 1841 if err != nil { 1842 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1843 } 1844 } 1845 return nil 1846 } 1847 1848 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFirewallRuleSetPropertiesFormat. 1849 func (a ApplicationGatewayFirewallRuleSetPropertiesFormat) MarshalJSON() ([]byte, error) { 1850 objectMap := make(map[string]any) 1851 populate(objectMap, "provisioningState", a.ProvisioningState) 1852 populate(objectMap, "ruleGroups", a.RuleGroups) 1853 populate(objectMap, "ruleSetType", a.RuleSetType) 1854 populate(objectMap, "ruleSetVersion", a.RuleSetVersion) 1855 populate(objectMap, "tiers", a.Tiers) 1856 return json.Marshal(objectMap) 1857 } 1858 1859 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFirewallRuleSetPropertiesFormat. 1860 func (a *ApplicationGatewayFirewallRuleSetPropertiesFormat) UnmarshalJSON(data []byte) error { 1861 var rawMsg map[string]json.RawMessage 1862 if err := json.Unmarshal(data, &rawMsg); err != nil { 1863 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1864 } 1865 for key, val := range rawMsg { 1866 var err error 1867 switch key { 1868 case "provisioningState": 1869 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 1870 delete(rawMsg, key) 1871 case "ruleGroups": 1872 err = unpopulate(val, "RuleGroups", &a.RuleGroups) 1873 delete(rawMsg, key) 1874 case "ruleSetType": 1875 err = unpopulate(val, "RuleSetType", &a.RuleSetType) 1876 delete(rawMsg, key) 1877 case "ruleSetVersion": 1878 err = unpopulate(val, "RuleSetVersion", &a.RuleSetVersion) 1879 delete(rawMsg, key) 1880 case "tiers": 1881 err = unpopulate(val, "Tiers", &a.Tiers) 1882 delete(rawMsg, key) 1883 } 1884 if err != nil { 1885 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1886 } 1887 } 1888 return nil 1889 } 1890 1891 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayForContainersReferenceDefinition. 1892 func (a ApplicationGatewayForContainersReferenceDefinition) MarshalJSON() ([]byte, error) { 1893 objectMap := make(map[string]any) 1894 populate(objectMap, "id", a.ID) 1895 return json.Marshal(objectMap) 1896 } 1897 1898 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayForContainersReferenceDefinition. 1899 func (a *ApplicationGatewayForContainersReferenceDefinition) UnmarshalJSON(data []byte) error { 1900 var rawMsg map[string]json.RawMessage 1901 if err := json.Unmarshal(data, &rawMsg); err != nil { 1902 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1903 } 1904 for key, val := range rawMsg { 1905 var err error 1906 switch key { 1907 case "id": 1908 err = unpopulate(val, "ID", &a.ID) 1909 delete(rawMsg, key) 1910 } 1911 if err != nil { 1912 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1913 } 1914 } 1915 return nil 1916 } 1917 1918 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendIPConfiguration. 1919 func (a ApplicationGatewayFrontendIPConfiguration) MarshalJSON() ([]byte, error) { 1920 objectMap := make(map[string]any) 1921 populate(objectMap, "etag", a.Etag) 1922 populate(objectMap, "id", a.ID) 1923 populate(objectMap, "name", a.Name) 1924 populate(objectMap, "properties", a.Properties) 1925 populate(objectMap, "type", a.Type) 1926 return json.Marshal(objectMap) 1927 } 1928 1929 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFrontendIPConfiguration. 1930 func (a *ApplicationGatewayFrontendIPConfiguration) UnmarshalJSON(data []byte) error { 1931 var rawMsg map[string]json.RawMessage 1932 if err := json.Unmarshal(data, &rawMsg); err != nil { 1933 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1934 } 1935 for key, val := range rawMsg { 1936 var err error 1937 switch key { 1938 case "etag": 1939 err = unpopulate(val, "Etag", &a.Etag) 1940 delete(rawMsg, key) 1941 case "id": 1942 err = unpopulate(val, "ID", &a.ID) 1943 delete(rawMsg, key) 1944 case "name": 1945 err = unpopulate(val, "Name", &a.Name) 1946 delete(rawMsg, key) 1947 case "properties": 1948 err = unpopulate(val, "Properties", &a.Properties) 1949 delete(rawMsg, key) 1950 case "type": 1951 err = unpopulate(val, "Type", &a.Type) 1952 delete(rawMsg, key) 1953 } 1954 if err != nil { 1955 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1956 } 1957 } 1958 return nil 1959 } 1960 1961 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendIPConfigurationPropertiesFormat. 1962 func (a ApplicationGatewayFrontendIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 1963 objectMap := make(map[string]any) 1964 populate(objectMap, "privateIPAddress", a.PrivateIPAddress) 1965 populate(objectMap, "privateIPAllocationMethod", a.PrivateIPAllocationMethod) 1966 populate(objectMap, "privateLinkConfiguration", a.PrivateLinkConfiguration) 1967 populate(objectMap, "provisioningState", a.ProvisioningState) 1968 populate(objectMap, "publicIPAddress", a.PublicIPAddress) 1969 populate(objectMap, "subnet", a.Subnet) 1970 return json.Marshal(objectMap) 1971 } 1972 1973 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFrontendIPConfigurationPropertiesFormat. 1974 func (a *ApplicationGatewayFrontendIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 1975 var rawMsg map[string]json.RawMessage 1976 if err := json.Unmarshal(data, &rawMsg); err != nil { 1977 return fmt.Errorf("unmarshalling type %T: %v", a, err) 1978 } 1979 for key, val := range rawMsg { 1980 var err error 1981 switch key { 1982 case "privateIPAddress": 1983 err = unpopulate(val, "PrivateIPAddress", &a.PrivateIPAddress) 1984 delete(rawMsg, key) 1985 case "privateIPAllocationMethod": 1986 err = unpopulate(val, "PrivateIPAllocationMethod", &a.PrivateIPAllocationMethod) 1987 delete(rawMsg, key) 1988 case "privateLinkConfiguration": 1989 err = unpopulate(val, "PrivateLinkConfiguration", &a.PrivateLinkConfiguration) 1990 delete(rawMsg, key) 1991 case "provisioningState": 1992 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 1993 delete(rawMsg, key) 1994 case "publicIPAddress": 1995 err = unpopulate(val, "PublicIPAddress", &a.PublicIPAddress) 1996 delete(rawMsg, key) 1997 case "subnet": 1998 err = unpopulate(val, "Subnet", &a.Subnet) 1999 delete(rawMsg, key) 2000 } 2001 if err != nil { 2002 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2003 } 2004 } 2005 return nil 2006 } 2007 2008 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendPort. 2009 func (a ApplicationGatewayFrontendPort) MarshalJSON() ([]byte, error) { 2010 objectMap := make(map[string]any) 2011 populate(objectMap, "etag", a.Etag) 2012 populate(objectMap, "id", a.ID) 2013 populate(objectMap, "name", a.Name) 2014 populate(objectMap, "properties", a.Properties) 2015 populate(objectMap, "type", a.Type) 2016 return json.Marshal(objectMap) 2017 } 2018 2019 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFrontendPort. 2020 func (a *ApplicationGatewayFrontendPort) UnmarshalJSON(data []byte) error { 2021 var rawMsg map[string]json.RawMessage 2022 if err := json.Unmarshal(data, &rawMsg); err != nil { 2023 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2024 } 2025 for key, val := range rawMsg { 2026 var err error 2027 switch key { 2028 case "etag": 2029 err = unpopulate(val, "Etag", &a.Etag) 2030 delete(rawMsg, key) 2031 case "id": 2032 err = unpopulate(val, "ID", &a.ID) 2033 delete(rawMsg, key) 2034 case "name": 2035 err = unpopulate(val, "Name", &a.Name) 2036 delete(rawMsg, key) 2037 case "properties": 2038 err = unpopulate(val, "Properties", &a.Properties) 2039 delete(rawMsg, key) 2040 case "type": 2041 err = unpopulate(val, "Type", &a.Type) 2042 delete(rawMsg, key) 2043 } 2044 if err != nil { 2045 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2046 } 2047 } 2048 return nil 2049 } 2050 2051 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayFrontendPortPropertiesFormat. 2052 func (a ApplicationGatewayFrontendPortPropertiesFormat) MarshalJSON() ([]byte, error) { 2053 objectMap := make(map[string]any) 2054 populate(objectMap, "port", a.Port) 2055 populate(objectMap, "provisioningState", a.ProvisioningState) 2056 return json.Marshal(objectMap) 2057 } 2058 2059 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayFrontendPortPropertiesFormat. 2060 func (a *ApplicationGatewayFrontendPortPropertiesFormat) UnmarshalJSON(data []byte) error { 2061 var rawMsg map[string]json.RawMessage 2062 if err := json.Unmarshal(data, &rawMsg); err != nil { 2063 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2064 } 2065 for key, val := range rawMsg { 2066 var err error 2067 switch key { 2068 case "port": 2069 err = unpopulate(val, "Port", &a.Port) 2070 delete(rawMsg, key) 2071 case "provisioningState": 2072 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2073 delete(rawMsg, key) 2074 } 2075 if err != nil { 2076 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2077 } 2078 } 2079 return nil 2080 } 2081 2082 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayGlobalConfiguration. 2083 func (a ApplicationGatewayGlobalConfiguration) MarshalJSON() ([]byte, error) { 2084 objectMap := make(map[string]any) 2085 populate(objectMap, "enableRequestBuffering", a.EnableRequestBuffering) 2086 populate(objectMap, "enableResponseBuffering", a.EnableResponseBuffering) 2087 return json.Marshal(objectMap) 2088 } 2089 2090 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayGlobalConfiguration. 2091 func (a *ApplicationGatewayGlobalConfiguration) UnmarshalJSON(data []byte) error { 2092 var rawMsg map[string]json.RawMessage 2093 if err := json.Unmarshal(data, &rawMsg); err != nil { 2094 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2095 } 2096 for key, val := range rawMsg { 2097 var err error 2098 switch key { 2099 case "enableRequestBuffering": 2100 err = unpopulate(val, "EnableRequestBuffering", &a.EnableRequestBuffering) 2101 delete(rawMsg, key) 2102 case "enableResponseBuffering": 2103 err = unpopulate(val, "EnableResponseBuffering", &a.EnableResponseBuffering) 2104 delete(rawMsg, key) 2105 } 2106 if err != nil { 2107 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2108 } 2109 } 2110 return nil 2111 } 2112 2113 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHTTPListener. 2114 func (a ApplicationGatewayHTTPListener) MarshalJSON() ([]byte, error) { 2115 objectMap := make(map[string]any) 2116 populate(objectMap, "etag", a.Etag) 2117 populate(objectMap, "id", a.ID) 2118 populate(objectMap, "name", a.Name) 2119 populate(objectMap, "properties", a.Properties) 2120 populate(objectMap, "type", a.Type) 2121 return json.Marshal(objectMap) 2122 } 2123 2124 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayHTTPListener. 2125 func (a *ApplicationGatewayHTTPListener) UnmarshalJSON(data []byte) error { 2126 var rawMsg map[string]json.RawMessage 2127 if err := json.Unmarshal(data, &rawMsg); err != nil { 2128 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2129 } 2130 for key, val := range rawMsg { 2131 var err error 2132 switch key { 2133 case "etag": 2134 err = unpopulate(val, "Etag", &a.Etag) 2135 delete(rawMsg, key) 2136 case "id": 2137 err = unpopulate(val, "ID", &a.ID) 2138 delete(rawMsg, key) 2139 case "name": 2140 err = unpopulate(val, "Name", &a.Name) 2141 delete(rawMsg, key) 2142 case "properties": 2143 err = unpopulate(val, "Properties", &a.Properties) 2144 delete(rawMsg, key) 2145 case "type": 2146 err = unpopulate(val, "Type", &a.Type) 2147 delete(rawMsg, key) 2148 } 2149 if err != nil { 2150 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2151 } 2152 } 2153 return nil 2154 } 2155 2156 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHTTPListenerPropertiesFormat. 2157 func (a ApplicationGatewayHTTPListenerPropertiesFormat) MarshalJSON() ([]byte, error) { 2158 objectMap := make(map[string]any) 2159 populate(objectMap, "customErrorConfigurations", a.CustomErrorConfigurations) 2160 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 2161 populate(objectMap, "frontendIPConfiguration", a.FrontendIPConfiguration) 2162 populate(objectMap, "frontendPort", a.FrontendPort) 2163 populate(objectMap, "hostName", a.HostName) 2164 populate(objectMap, "hostNames", a.HostNames) 2165 populate(objectMap, "protocol", a.Protocol) 2166 populate(objectMap, "provisioningState", a.ProvisioningState) 2167 populate(objectMap, "requireServerNameIndication", a.RequireServerNameIndication) 2168 populate(objectMap, "sslCertificate", a.SSLCertificate) 2169 populate(objectMap, "sslProfile", a.SSLProfile) 2170 return json.Marshal(objectMap) 2171 } 2172 2173 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayHTTPListenerPropertiesFormat. 2174 func (a *ApplicationGatewayHTTPListenerPropertiesFormat) UnmarshalJSON(data []byte) error { 2175 var rawMsg map[string]json.RawMessage 2176 if err := json.Unmarshal(data, &rawMsg); err != nil { 2177 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2178 } 2179 for key, val := range rawMsg { 2180 var err error 2181 switch key { 2182 case "customErrorConfigurations": 2183 err = unpopulate(val, "CustomErrorConfigurations", &a.CustomErrorConfigurations) 2184 delete(rawMsg, key) 2185 case "firewallPolicy": 2186 err = unpopulate(val, "FirewallPolicy", &a.FirewallPolicy) 2187 delete(rawMsg, key) 2188 case "frontendIPConfiguration": 2189 err = unpopulate(val, "FrontendIPConfiguration", &a.FrontendIPConfiguration) 2190 delete(rawMsg, key) 2191 case "frontendPort": 2192 err = unpopulate(val, "FrontendPort", &a.FrontendPort) 2193 delete(rawMsg, key) 2194 case "hostName": 2195 err = unpopulate(val, "HostName", &a.HostName) 2196 delete(rawMsg, key) 2197 case "hostNames": 2198 err = unpopulate(val, "HostNames", &a.HostNames) 2199 delete(rawMsg, key) 2200 case "protocol": 2201 err = unpopulate(val, "Protocol", &a.Protocol) 2202 delete(rawMsg, key) 2203 case "provisioningState": 2204 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2205 delete(rawMsg, key) 2206 case "requireServerNameIndication": 2207 err = unpopulate(val, "RequireServerNameIndication", &a.RequireServerNameIndication) 2208 delete(rawMsg, key) 2209 case "sslCertificate": 2210 err = unpopulate(val, "SSLCertificate", &a.SSLCertificate) 2211 delete(rawMsg, key) 2212 case "sslProfile": 2213 err = unpopulate(val, "SSLProfile", &a.SSLProfile) 2214 delete(rawMsg, key) 2215 } 2216 if err != nil { 2217 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2218 } 2219 } 2220 return nil 2221 } 2222 2223 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayHeaderConfiguration. 2224 func (a ApplicationGatewayHeaderConfiguration) MarshalJSON() ([]byte, error) { 2225 objectMap := make(map[string]any) 2226 populate(objectMap, "headerName", a.HeaderName) 2227 populate(objectMap, "headerValue", a.HeaderValue) 2228 populate(objectMap, "headerValueMatcher", a.HeaderValueMatcher) 2229 return json.Marshal(objectMap) 2230 } 2231 2232 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayHeaderConfiguration. 2233 func (a *ApplicationGatewayHeaderConfiguration) UnmarshalJSON(data []byte) error { 2234 var rawMsg map[string]json.RawMessage 2235 if err := json.Unmarshal(data, &rawMsg); err != nil { 2236 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2237 } 2238 for key, val := range rawMsg { 2239 var err error 2240 switch key { 2241 case "headerName": 2242 err = unpopulate(val, "HeaderName", &a.HeaderName) 2243 delete(rawMsg, key) 2244 case "headerValue": 2245 err = unpopulate(val, "HeaderValue", &a.HeaderValue) 2246 delete(rawMsg, key) 2247 case "headerValueMatcher": 2248 err = unpopulate(val, "HeaderValueMatcher", &a.HeaderValueMatcher) 2249 delete(rawMsg, key) 2250 } 2251 if err != nil { 2252 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2253 } 2254 } 2255 return nil 2256 } 2257 2258 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayIPConfiguration. 2259 func (a ApplicationGatewayIPConfiguration) MarshalJSON() ([]byte, error) { 2260 objectMap := make(map[string]any) 2261 populate(objectMap, "etag", a.Etag) 2262 populate(objectMap, "id", a.ID) 2263 populate(objectMap, "name", a.Name) 2264 populate(objectMap, "properties", a.Properties) 2265 populate(objectMap, "type", a.Type) 2266 return json.Marshal(objectMap) 2267 } 2268 2269 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayIPConfiguration. 2270 func (a *ApplicationGatewayIPConfiguration) UnmarshalJSON(data []byte) error { 2271 var rawMsg map[string]json.RawMessage 2272 if err := json.Unmarshal(data, &rawMsg); err != nil { 2273 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2274 } 2275 for key, val := range rawMsg { 2276 var err error 2277 switch key { 2278 case "etag": 2279 err = unpopulate(val, "Etag", &a.Etag) 2280 delete(rawMsg, key) 2281 case "id": 2282 err = unpopulate(val, "ID", &a.ID) 2283 delete(rawMsg, key) 2284 case "name": 2285 err = unpopulate(val, "Name", &a.Name) 2286 delete(rawMsg, key) 2287 case "properties": 2288 err = unpopulate(val, "Properties", &a.Properties) 2289 delete(rawMsg, key) 2290 case "type": 2291 err = unpopulate(val, "Type", &a.Type) 2292 delete(rawMsg, key) 2293 } 2294 if err != nil { 2295 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2296 } 2297 } 2298 return nil 2299 } 2300 2301 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayIPConfigurationPropertiesFormat. 2302 func (a ApplicationGatewayIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 2303 objectMap := make(map[string]any) 2304 populate(objectMap, "provisioningState", a.ProvisioningState) 2305 populate(objectMap, "subnet", a.Subnet) 2306 return json.Marshal(objectMap) 2307 } 2308 2309 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayIPConfigurationPropertiesFormat. 2310 func (a *ApplicationGatewayIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 2311 var rawMsg map[string]json.RawMessage 2312 if err := json.Unmarshal(data, &rawMsg); err != nil { 2313 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2314 } 2315 for key, val := range rawMsg { 2316 var err error 2317 switch key { 2318 case "provisioningState": 2319 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2320 delete(rawMsg, key) 2321 case "subnet": 2322 err = unpopulate(val, "Subnet", &a.Subnet) 2323 delete(rawMsg, key) 2324 } 2325 if err != nil { 2326 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2327 } 2328 } 2329 return nil 2330 } 2331 2332 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayListResult. 2333 func (a ApplicationGatewayListResult) MarshalJSON() ([]byte, error) { 2334 objectMap := make(map[string]any) 2335 populate(objectMap, "nextLink", a.NextLink) 2336 populate(objectMap, "value", a.Value) 2337 return json.Marshal(objectMap) 2338 } 2339 2340 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayListResult. 2341 func (a *ApplicationGatewayListResult) UnmarshalJSON(data []byte) error { 2342 var rawMsg map[string]json.RawMessage 2343 if err := json.Unmarshal(data, &rawMsg); err != nil { 2344 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2345 } 2346 for key, val := range rawMsg { 2347 var err error 2348 switch key { 2349 case "nextLink": 2350 err = unpopulate(val, "NextLink", &a.NextLink) 2351 delete(rawMsg, key) 2352 case "value": 2353 err = unpopulate(val, "Value", &a.Value) 2354 delete(rawMsg, key) 2355 } 2356 if err != nil { 2357 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2358 } 2359 } 2360 return nil 2361 } 2362 2363 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayListener. 2364 func (a ApplicationGatewayListener) MarshalJSON() ([]byte, error) { 2365 objectMap := make(map[string]any) 2366 populate(objectMap, "etag", a.Etag) 2367 populate(objectMap, "id", a.ID) 2368 populate(objectMap, "name", a.Name) 2369 populate(objectMap, "properties", a.Properties) 2370 populate(objectMap, "type", a.Type) 2371 return json.Marshal(objectMap) 2372 } 2373 2374 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayListener. 2375 func (a *ApplicationGatewayListener) UnmarshalJSON(data []byte) error { 2376 var rawMsg map[string]json.RawMessage 2377 if err := json.Unmarshal(data, &rawMsg); err != nil { 2378 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2379 } 2380 for key, val := range rawMsg { 2381 var err error 2382 switch key { 2383 case "etag": 2384 err = unpopulate(val, "Etag", &a.Etag) 2385 delete(rawMsg, key) 2386 case "id": 2387 err = unpopulate(val, "ID", &a.ID) 2388 delete(rawMsg, key) 2389 case "name": 2390 err = unpopulate(val, "Name", &a.Name) 2391 delete(rawMsg, key) 2392 case "properties": 2393 err = unpopulate(val, "Properties", &a.Properties) 2394 delete(rawMsg, key) 2395 case "type": 2396 err = unpopulate(val, "Type", &a.Type) 2397 delete(rawMsg, key) 2398 } 2399 if err != nil { 2400 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2401 } 2402 } 2403 return nil 2404 } 2405 2406 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayListenerPropertiesFormat. 2407 func (a ApplicationGatewayListenerPropertiesFormat) MarshalJSON() ([]byte, error) { 2408 objectMap := make(map[string]any) 2409 populate(objectMap, "frontendIPConfiguration", a.FrontendIPConfiguration) 2410 populate(objectMap, "frontendPort", a.FrontendPort) 2411 populate(objectMap, "hostNames", a.HostNames) 2412 populate(objectMap, "protocol", a.Protocol) 2413 populate(objectMap, "provisioningState", a.ProvisioningState) 2414 populate(objectMap, "sslCertificate", a.SSLCertificate) 2415 populate(objectMap, "sslProfile", a.SSLProfile) 2416 return json.Marshal(objectMap) 2417 } 2418 2419 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayListenerPropertiesFormat. 2420 func (a *ApplicationGatewayListenerPropertiesFormat) UnmarshalJSON(data []byte) error { 2421 var rawMsg map[string]json.RawMessage 2422 if err := json.Unmarshal(data, &rawMsg); err != nil { 2423 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2424 } 2425 for key, val := range rawMsg { 2426 var err error 2427 switch key { 2428 case "frontendIPConfiguration": 2429 err = unpopulate(val, "FrontendIPConfiguration", &a.FrontendIPConfiguration) 2430 delete(rawMsg, key) 2431 case "frontendPort": 2432 err = unpopulate(val, "FrontendPort", &a.FrontendPort) 2433 delete(rawMsg, key) 2434 case "hostNames": 2435 err = unpopulate(val, "HostNames", &a.HostNames) 2436 delete(rawMsg, key) 2437 case "protocol": 2438 err = unpopulate(val, "Protocol", &a.Protocol) 2439 delete(rawMsg, key) 2440 case "provisioningState": 2441 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2442 delete(rawMsg, key) 2443 case "sslCertificate": 2444 err = unpopulate(val, "SSLCertificate", &a.SSLCertificate) 2445 delete(rawMsg, key) 2446 case "sslProfile": 2447 err = unpopulate(val, "SSLProfile", &a.SSLProfile) 2448 delete(rawMsg, key) 2449 } 2450 if err != nil { 2451 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2452 } 2453 } 2454 return nil 2455 } 2456 2457 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayLoadDistributionPolicy. 2458 func (a ApplicationGatewayLoadDistributionPolicy) MarshalJSON() ([]byte, error) { 2459 objectMap := make(map[string]any) 2460 populate(objectMap, "etag", a.Etag) 2461 populate(objectMap, "id", a.ID) 2462 populate(objectMap, "name", a.Name) 2463 populate(objectMap, "properties", a.Properties) 2464 populate(objectMap, "type", a.Type) 2465 return json.Marshal(objectMap) 2466 } 2467 2468 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayLoadDistributionPolicy. 2469 func (a *ApplicationGatewayLoadDistributionPolicy) UnmarshalJSON(data []byte) error { 2470 var rawMsg map[string]json.RawMessage 2471 if err := json.Unmarshal(data, &rawMsg); err != nil { 2472 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2473 } 2474 for key, val := range rawMsg { 2475 var err error 2476 switch key { 2477 case "etag": 2478 err = unpopulate(val, "Etag", &a.Etag) 2479 delete(rawMsg, key) 2480 case "id": 2481 err = unpopulate(val, "ID", &a.ID) 2482 delete(rawMsg, key) 2483 case "name": 2484 err = unpopulate(val, "Name", &a.Name) 2485 delete(rawMsg, key) 2486 case "properties": 2487 err = unpopulate(val, "Properties", &a.Properties) 2488 delete(rawMsg, key) 2489 case "type": 2490 err = unpopulate(val, "Type", &a.Type) 2491 delete(rawMsg, key) 2492 } 2493 if err != nil { 2494 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2495 } 2496 } 2497 return nil 2498 } 2499 2500 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayLoadDistributionPolicyPropertiesFormat. 2501 func (a ApplicationGatewayLoadDistributionPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 2502 objectMap := make(map[string]any) 2503 populate(objectMap, "loadDistributionAlgorithm", a.LoadDistributionAlgorithm) 2504 populate(objectMap, "loadDistributionTargets", a.LoadDistributionTargets) 2505 populate(objectMap, "provisioningState", a.ProvisioningState) 2506 return json.Marshal(objectMap) 2507 } 2508 2509 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayLoadDistributionPolicyPropertiesFormat. 2510 func (a *ApplicationGatewayLoadDistributionPolicyPropertiesFormat) UnmarshalJSON(data []byte) error { 2511 var rawMsg map[string]json.RawMessage 2512 if err := json.Unmarshal(data, &rawMsg); err != nil { 2513 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2514 } 2515 for key, val := range rawMsg { 2516 var err error 2517 switch key { 2518 case "loadDistributionAlgorithm": 2519 err = unpopulate(val, "LoadDistributionAlgorithm", &a.LoadDistributionAlgorithm) 2520 delete(rawMsg, key) 2521 case "loadDistributionTargets": 2522 err = unpopulate(val, "LoadDistributionTargets", &a.LoadDistributionTargets) 2523 delete(rawMsg, key) 2524 case "provisioningState": 2525 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2526 delete(rawMsg, key) 2527 } 2528 if err != nil { 2529 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2530 } 2531 } 2532 return nil 2533 } 2534 2535 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayLoadDistributionTarget. 2536 func (a ApplicationGatewayLoadDistributionTarget) MarshalJSON() ([]byte, error) { 2537 objectMap := make(map[string]any) 2538 populate(objectMap, "etag", a.Etag) 2539 populate(objectMap, "id", a.ID) 2540 populate(objectMap, "name", a.Name) 2541 populate(objectMap, "properties", a.Properties) 2542 populate(objectMap, "type", a.Type) 2543 return json.Marshal(objectMap) 2544 } 2545 2546 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayLoadDistributionTarget. 2547 func (a *ApplicationGatewayLoadDistributionTarget) UnmarshalJSON(data []byte) error { 2548 var rawMsg map[string]json.RawMessage 2549 if err := json.Unmarshal(data, &rawMsg); err != nil { 2550 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2551 } 2552 for key, val := range rawMsg { 2553 var err error 2554 switch key { 2555 case "etag": 2556 err = unpopulate(val, "Etag", &a.Etag) 2557 delete(rawMsg, key) 2558 case "id": 2559 err = unpopulate(val, "ID", &a.ID) 2560 delete(rawMsg, key) 2561 case "name": 2562 err = unpopulate(val, "Name", &a.Name) 2563 delete(rawMsg, key) 2564 case "properties": 2565 err = unpopulate(val, "Properties", &a.Properties) 2566 delete(rawMsg, key) 2567 case "type": 2568 err = unpopulate(val, "Type", &a.Type) 2569 delete(rawMsg, key) 2570 } 2571 if err != nil { 2572 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2573 } 2574 } 2575 return nil 2576 } 2577 2578 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayLoadDistributionTargetPropertiesFormat. 2579 func (a ApplicationGatewayLoadDistributionTargetPropertiesFormat) MarshalJSON() ([]byte, error) { 2580 objectMap := make(map[string]any) 2581 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 2582 populate(objectMap, "weightPerServer", a.WeightPerServer) 2583 return json.Marshal(objectMap) 2584 } 2585 2586 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayLoadDistributionTargetPropertiesFormat. 2587 func (a *ApplicationGatewayLoadDistributionTargetPropertiesFormat) UnmarshalJSON(data []byte) error { 2588 var rawMsg map[string]json.RawMessage 2589 if err := json.Unmarshal(data, &rawMsg); err != nil { 2590 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2591 } 2592 for key, val := range rawMsg { 2593 var err error 2594 switch key { 2595 case "backendAddressPool": 2596 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 2597 delete(rawMsg, key) 2598 case "weightPerServer": 2599 err = unpopulate(val, "WeightPerServer", &a.WeightPerServer) 2600 delete(rawMsg, key) 2601 } 2602 if err != nil { 2603 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2604 } 2605 } 2606 return nil 2607 } 2608 2609 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayOnDemandProbe. 2610 func (a ApplicationGatewayOnDemandProbe) MarshalJSON() ([]byte, error) { 2611 objectMap := make(map[string]any) 2612 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 2613 populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) 2614 populate(objectMap, "host", a.Host) 2615 populate(objectMap, "match", a.Match) 2616 populate(objectMap, "path", a.Path) 2617 populate(objectMap, "pickHostNameFromBackendHttpSettings", a.PickHostNameFromBackendHTTPSettings) 2618 populate(objectMap, "protocol", a.Protocol) 2619 populate(objectMap, "timeout", a.Timeout) 2620 return json.Marshal(objectMap) 2621 } 2622 2623 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayOnDemandProbe. 2624 func (a *ApplicationGatewayOnDemandProbe) UnmarshalJSON(data []byte) error { 2625 var rawMsg map[string]json.RawMessage 2626 if err := json.Unmarshal(data, &rawMsg); err != nil { 2627 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2628 } 2629 for key, val := range rawMsg { 2630 var err error 2631 switch key { 2632 case "backendAddressPool": 2633 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 2634 delete(rawMsg, key) 2635 case "backendHttpSettings": 2636 err = unpopulate(val, "BackendHTTPSettings", &a.BackendHTTPSettings) 2637 delete(rawMsg, key) 2638 case "host": 2639 err = unpopulate(val, "Host", &a.Host) 2640 delete(rawMsg, key) 2641 case "match": 2642 err = unpopulate(val, "Match", &a.Match) 2643 delete(rawMsg, key) 2644 case "path": 2645 err = unpopulate(val, "Path", &a.Path) 2646 delete(rawMsg, key) 2647 case "pickHostNameFromBackendHttpSettings": 2648 err = unpopulate(val, "PickHostNameFromBackendHTTPSettings", &a.PickHostNameFromBackendHTTPSettings) 2649 delete(rawMsg, key) 2650 case "protocol": 2651 err = unpopulate(val, "Protocol", &a.Protocol) 2652 delete(rawMsg, key) 2653 case "timeout": 2654 err = unpopulate(val, "Timeout", &a.Timeout) 2655 delete(rawMsg, key) 2656 } 2657 if err != nil { 2658 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2659 } 2660 } 2661 return nil 2662 } 2663 2664 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPathRule. 2665 func (a ApplicationGatewayPathRule) MarshalJSON() ([]byte, error) { 2666 objectMap := make(map[string]any) 2667 populate(objectMap, "etag", a.Etag) 2668 populate(objectMap, "id", a.ID) 2669 populate(objectMap, "name", a.Name) 2670 populate(objectMap, "properties", a.Properties) 2671 populate(objectMap, "type", a.Type) 2672 return json.Marshal(objectMap) 2673 } 2674 2675 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPathRule. 2676 func (a *ApplicationGatewayPathRule) UnmarshalJSON(data []byte) error { 2677 var rawMsg map[string]json.RawMessage 2678 if err := json.Unmarshal(data, &rawMsg); err != nil { 2679 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2680 } 2681 for key, val := range rawMsg { 2682 var err error 2683 switch key { 2684 case "etag": 2685 err = unpopulate(val, "Etag", &a.Etag) 2686 delete(rawMsg, key) 2687 case "id": 2688 err = unpopulate(val, "ID", &a.ID) 2689 delete(rawMsg, key) 2690 case "name": 2691 err = unpopulate(val, "Name", &a.Name) 2692 delete(rawMsg, key) 2693 case "properties": 2694 err = unpopulate(val, "Properties", &a.Properties) 2695 delete(rawMsg, key) 2696 case "type": 2697 err = unpopulate(val, "Type", &a.Type) 2698 delete(rawMsg, key) 2699 } 2700 if err != nil { 2701 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2702 } 2703 } 2704 return nil 2705 } 2706 2707 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPathRulePropertiesFormat. 2708 func (a ApplicationGatewayPathRulePropertiesFormat) MarshalJSON() ([]byte, error) { 2709 objectMap := make(map[string]any) 2710 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 2711 populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) 2712 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 2713 populate(objectMap, "loadDistributionPolicy", a.LoadDistributionPolicy) 2714 populate(objectMap, "paths", a.Paths) 2715 populate(objectMap, "provisioningState", a.ProvisioningState) 2716 populate(objectMap, "redirectConfiguration", a.RedirectConfiguration) 2717 populate(objectMap, "rewriteRuleSet", a.RewriteRuleSet) 2718 return json.Marshal(objectMap) 2719 } 2720 2721 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPathRulePropertiesFormat. 2722 func (a *ApplicationGatewayPathRulePropertiesFormat) UnmarshalJSON(data []byte) error { 2723 var rawMsg map[string]json.RawMessage 2724 if err := json.Unmarshal(data, &rawMsg); err != nil { 2725 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2726 } 2727 for key, val := range rawMsg { 2728 var err error 2729 switch key { 2730 case "backendAddressPool": 2731 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 2732 delete(rawMsg, key) 2733 case "backendHttpSettings": 2734 err = unpopulate(val, "BackendHTTPSettings", &a.BackendHTTPSettings) 2735 delete(rawMsg, key) 2736 case "firewallPolicy": 2737 err = unpopulate(val, "FirewallPolicy", &a.FirewallPolicy) 2738 delete(rawMsg, key) 2739 case "loadDistributionPolicy": 2740 err = unpopulate(val, "LoadDistributionPolicy", &a.LoadDistributionPolicy) 2741 delete(rawMsg, key) 2742 case "paths": 2743 err = unpopulate(val, "Paths", &a.Paths) 2744 delete(rawMsg, key) 2745 case "provisioningState": 2746 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2747 delete(rawMsg, key) 2748 case "redirectConfiguration": 2749 err = unpopulate(val, "RedirectConfiguration", &a.RedirectConfiguration) 2750 delete(rawMsg, key) 2751 case "rewriteRuleSet": 2752 err = unpopulate(val, "RewriteRuleSet", &a.RewriteRuleSet) 2753 delete(rawMsg, key) 2754 } 2755 if err != nil { 2756 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2757 } 2758 } 2759 return nil 2760 } 2761 2762 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnection. 2763 func (a ApplicationGatewayPrivateEndpointConnection) MarshalJSON() ([]byte, error) { 2764 objectMap := make(map[string]any) 2765 populate(objectMap, "etag", a.Etag) 2766 populate(objectMap, "id", a.ID) 2767 populate(objectMap, "name", a.Name) 2768 populate(objectMap, "properties", a.Properties) 2769 populate(objectMap, "type", a.Type) 2770 return json.Marshal(objectMap) 2771 } 2772 2773 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateEndpointConnection. 2774 func (a *ApplicationGatewayPrivateEndpointConnection) UnmarshalJSON(data []byte) error { 2775 var rawMsg map[string]json.RawMessage 2776 if err := json.Unmarshal(data, &rawMsg); err != nil { 2777 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2778 } 2779 for key, val := range rawMsg { 2780 var err error 2781 switch key { 2782 case "etag": 2783 err = unpopulate(val, "Etag", &a.Etag) 2784 delete(rawMsg, key) 2785 case "id": 2786 err = unpopulate(val, "ID", &a.ID) 2787 delete(rawMsg, key) 2788 case "name": 2789 err = unpopulate(val, "Name", &a.Name) 2790 delete(rawMsg, key) 2791 case "properties": 2792 err = unpopulate(val, "Properties", &a.Properties) 2793 delete(rawMsg, key) 2794 case "type": 2795 err = unpopulate(val, "Type", &a.Type) 2796 delete(rawMsg, key) 2797 } 2798 if err != nil { 2799 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2800 } 2801 } 2802 return nil 2803 } 2804 2805 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnectionListResult. 2806 func (a ApplicationGatewayPrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { 2807 objectMap := make(map[string]any) 2808 populate(objectMap, "nextLink", a.NextLink) 2809 populate(objectMap, "value", a.Value) 2810 return json.Marshal(objectMap) 2811 } 2812 2813 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateEndpointConnectionListResult. 2814 func (a *ApplicationGatewayPrivateEndpointConnectionListResult) UnmarshalJSON(data []byte) error { 2815 var rawMsg map[string]json.RawMessage 2816 if err := json.Unmarshal(data, &rawMsg); err != nil { 2817 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2818 } 2819 for key, val := range rawMsg { 2820 var err error 2821 switch key { 2822 case "nextLink": 2823 err = unpopulate(val, "NextLink", &a.NextLink) 2824 delete(rawMsg, key) 2825 case "value": 2826 err = unpopulate(val, "Value", &a.Value) 2827 delete(rawMsg, key) 2828 } 2829 if err != nil { 2830 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2831 } 2832 } 2833 return nil 2834 } 2835 2836 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateEndpointConnectionProperties. 2837 func (a ApplicationGatewayPrivateEndpointConnectionProperties) MarshalJSON() ([]byte, error) { 2838 objectMap := make(map[string]any) 2839 populate(objectMap, "linkIdentifier", a.LinkIdentifier) 2840 populate(objectMap, "privateEndpoint", a.PrivateEndpoint) 2841 populate(objectMap, "privateLinkServiceConnectionState", a.PrivateLinkServiceConnectionState) 2842 populate(objectMap, "provisioningState", a.ProvisioningState) 2843 return json.Marshal(objectMap) 2844 } 2845 2846 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateEndpointConnectionProperties. 2847 func (a *ApplicationGatewayPrivateEndpointConnectionProperties) UnmarshalJSON(data []byte) error { 2848 var rawMsg map[string]json.RawMessage 2849 if err := json.Unmarshal(data, &rawMsg); err != nil { 2850 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2851 } 2852 for key, val := range rawMsg { 2853 var err error 2854 switch key { 2855 case "linkIdentifier": 2856 err = unpopulate(val, "LinkIdentifier", &a.LinkIdentifier) 2857 delete(rawMsg, key) 2858 case "privateEndpoint": 2859 err = unpopulate(val, "PrivateEndpoint", &a.PrivateEndpoint) 2860 delete(rawMsg, key) 2861 case "privateLinkServiceConnectionState": 2862 err = unpopulate(val, "PrivateLinkServiceConnectionState", &a.PrivateLinkServiceConnectionState) 2863 delete(rawMsg, key) 2864 case "provisioningState": 2865 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2866 delete(rawMsg, key) 2867 } 2868 if err != nil { 2869 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2870 } 2871 } 2872 return nil 2873 } 2874 2875 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkConfiguration. 2876 func (a ApplicationGatewayPrivateLinkConfiguration) MarshalJSON() ([]byte, error) { 2877 objectMap := make(map[string]any) 2878 populate(objectMap, "etag", a.Etag) 2879 populate(objectMap, "id", a.ID) 2880 populate(objectMap, "name", a.Name) 2881 populate(objectMap, "properties", a.Properties) 2882 populate(objectMap, "type", a.Type) 2883 return json.Marshal(objectMap) 2884 } 2885 2886 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkConfiguration. 2887 func (a *ApplicationGatewayPrivateLinkConfiguration) UnmarshalJSON(data []byte) error { 2888 var rawMsg map[string]json.RawMessage 2889 if err := json.Unmarshal(data, &rawMsg); err != nil { 2890 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2891 } 2892 for key, val := range rawMsg { 2893 var err error 2894 switch key { 2895 case "etag": 2896 err = unpopulate(val, "Etag", &a.Etag) 2897 delete(rawMsg, key) 2898 case "id": 2899 err = unpopulate(val, "ID", &a.ID) 2900 delete(rawMsg, key) 2901 case "name": 2902 err = unpopulate(val, "Name", &a.Name) 2903 delete(rawMsg, key) 2904 case "properties": 2905 err = unpopulate(val, "Properties", &a.Properties) 2906 delete(rawMsg, key) 2907 case "type": 2908 err = unpopulate(val, "Type", &a.Type) 2909 delete(rawMsg, key) 2910 } 2911 if err != nil { 2912 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2913 } 2914 } 2915 return nil 2916 } 2917 2918 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkConfigurationProperties. 2919 func (a ApplicationGatewayPrivateLinkConfigurationProperties) MarshalJSON() ([]byte, error) { 2920 objectMap := make(map[string]any) 2921 populate(objectMap, "ipConfigurations", a.IPConfigurations) 2922 populate(objectMap, "provisioningState", a.ProvisioningState) 2923 return json.Marshal(objectMap) 2924 } 2925 2926 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkConfigurationProperties. 2927 func (a *ApplicationGatewayPrivateLinkConfigurationProperties) UnmarshalJSON(data []byte) error { 2928 var rawMsg map[string]json.RawMessage 2929 if err := json.Unmarshal(data, &rawMsg); err != nil { 2930 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2931 } 2932 for key, val := range rawMsg { 2933 var err error 2934 switch key { 2935 case "ipConfigurations": 2936 err = unpopulate(val, "IPConfigurations", &a.IPConfigurations) 2937 delete(rawMsg, key) 2938 case "provisioningState": 2939 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 2940 delete(rawMsg, key) 2941 } 2942 if err != nil { 2943 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2944 } 2945 } 2946 return nil 2947 } 2948 2949 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkIPConfiguration. 2950 func (a ApplicationGatewayPrivateLinkIPConfiguration) MarshalJSON() ([]byte, error) { 2951 objectMap := make(map[string]any) 2952 populate(objectMap, "etag", a.Etag) 2953 populate(objectMap, "id", a.ID) 2954 populate(objectMap, "name", a.Name) 2955 populate(objectMap, "properties", a.Properties) 2956 populate(objectMap, "type", a.Type) 2957 return json.Marshal(objectMap) 2958 } 2959 2960 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkIPConfiguration. 2961 func (a *ApplicationGatewayPrivateLinkIPConfiguration) UnmarshalJSON(data []byte) error { 2962 var rawMsg map[string]json.RawMessage 2963 if err := json.Unmarshal(data, &rawMsg); err != nil { 2964 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2965 } 2966 for key, val := range rawMsg { 2967 var err error 2968 switch key { 2969 case "etag": 2970 err = unpopulate(val, "Etag", &a.Etag) 2971 delete(rawMsg, key) 2972 case "id": 2973 err = unpopulate(val, "ID", &a.ID) 2974 delete(rawMsg, key) 2975 case "name": 2976 err = unpopulate(val, "Name", &a.Name) 2977 delete(rawMsg, key) 2978 case "properties": 2979 err = unpopulate(val, "Properties", &a.Properties) 2980 delete(rawMsg, key) 2981 case "type": 2982 err = unpopulate(val, "Type", &a.Type) 2983 delete(rawMsg, key) 2984 } 2985 if err != nil { 2986 return fmt.Errorf("unmarshalling type %T: %v", a, err) 2987 } 2988 } 2989 return nil 2990 } 2991 2992 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkIPConfigurationProperties. 2993 func (a ApplicationGatewayPrivateLinkIPConfigurationProperties) MarshalJSON() ([]byte, error) { 2994 objectMap := make(map[string]any) 2995 populate(objectMap, "primary", a.Primary) 2996 populate(objectMap, "privateIPAddress", a.PrivateIPAddress) 2997 populate(objectMap, "privateIPAllocationMethod", a.PrivateIPAllocationMethod) 2998 populate(objectMap, "provisioningState", a.ProvisioningState) 2999 populate(objectMap, "subnet", a.Subnet) 3000 return json.Marshal(objectMap) 3001 } 3002 3003 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkIPConfigurationProperties. 3004 func (a *ApplicationGatewayPrivateLinkIPConfigurationProperties) UnmarshalJSON(data []byte) error { 3005 var rawMsg map[string]json.RawMessage 3006 if err := json.Unmarshal(data, &rawMsg); err != nil { 3007 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3008 } 3009 for key, val := range rawMsg { 3010 var err error 3011 switch key { 3012 case "primary": 3013 err = unpopulate(val, "Primary", &a.Primary) 3014 delete(rawMsg, key) 3015 case "privateIPAddress": 3016 err = unpopulate(val, "PrivateIPAddress", &a.PrivateIPAddress) 3017 delete(rawMsg, key) 3018 case "privateIPAllocationMethod": 3019 err = unpopulate(val, "PrivateIPAllocationMethod", &a.PrivateIPAllocationMethod) 3020 delete(rawMsg, key) 3021 case "provisioningState": 3022 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 3023 delete(rawMsg, key) 3024 case "subnet": 3025 err = unpopulate(val, "Subnet", &a.Subnet) 3026 delete(rawMsg, key) 3027 } 3028 if err != nil { 3029 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3030 } 3031 } 3032 return nil 3033 } 3034 3035 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResource. 3036 func (a ApplicationGatewayPrivateLinkResource) MarshalJSON() ([]byte, error) { 3037 objectMap := make(map[string]any) 3038 populate(objectMap, "etag", a.Etag) 3039 populate(objectMap, "id", a.ID) 3040 populate(objectMap, "name", a.Name) 3041 populate(objectMap, "properties", a.Properties) 3042 populate(objectMap, "type", a.Type) 3043 return json.Marshal(objectMap) 3044 } 3045 3046 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkResource. 3047 func (a *ApplicationGatewayPrivateLinkResource) UnmarshalJSON(data []byte) error { 3048 var rawMsg map[string]json.RawMessage 3049 if err := json.Unmarshal(data, &rawMsg); err != nil { 3050 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3051 } 3052 for key, val := range rawMsg { 3053 var err error 3054 switch key { 3055 case "etag": 3056 err = unpopulate(val, "Etag", &a.Etag) 3057 delete(rawMsg, key) 3058 case "id": 3059 err = unpopulate(val, "ID", &a.ID) 3060 delete(rawMsg, key) 3061 case "name": 3062 err = unpopulate(val, "Name", &a.Name) 3063 delete(rawMsg, key) 3064 case "properties": 3065 err = unpopulate(val, "Properties", &a.Properties) 3066 delete(rawMsg, key) 3067 case "type": 3068 err = unpopulate(val, "Type", &a.Type) 3069 delete(rawMsg, key) 3070 } 3071 if err != nil { 3072 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3073 } 3074 } 3075 return nil 3076 } 3077 3078 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResourceListResult. 3079 func (a ApplicationGatewayPrivateLinkResourceListResult) MarshalJSON() ([]byte, error) { 3080 objectMap := make(map[string]any) 3081 populate(objectMap, "nextLink", a.NextLink) 3082 populate(objectMap, "value", a.Value) 3083 return json.Marshal(objectMap) 3084 } 3085 3086 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkResourceListResult. 3087 func (a *ApplicationGatewayPrivateLinkResourceListResult) UnmarshalJSON(data []byte) error { 3088 var rawMsg map[string]json.RawMessage 3089 if err := json.Unmarshal(data, &rawMsg); err != nil { 3090 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3091 } 3092 for key, val := range rawMsg { 3093 var err error 3094 switch key { 3095 case "nextLink": 3096 err = unpopulate(val, "NextLink", &a.NextLink) 3097 delete(rawMsg, key) 3098 case "value": 3099 err = unpopulate(val, "Value", &a.Value) 3100 delete(rawMsg, key) 3101 } 3102 if err != nil { 3103 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3104 } 3105 } 3106 return nil 3107 } 3108 3109 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPrivateLinkResourceProperties. 3110 func (a ApplicationGatewayPrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { 3111 objectMap := make(map[string]any) 3112 populate(objectMap, "groupId", a.GroupID) 3113 populate(objectMap, "requiredMembers", a.RequiredMembers) 3114 populate(objectMap, "requiredZoneNames", a.RequiredZoneNames) 3115 return json.Marshal(objectMap) 3116 } 3117 3118 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPrivateLinkResourceProperties. 3119 func (a *ApplicationGatewayPrivateLinkResourceProperties) UnmarshalJSON(data []byte) error { 3120 var rawMsg map[string]json.RawMessage 3121 if err := json.Unmarshal(data, &rawMsg); err != nil { 3122 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3123 } 3124 for key, val := range rawMsg { 3125 var err error 3126 switch key { 3127 case "groupId": 3128 err = unpopulate(val, "GroupID", &a.GroupID) 3129 delete(rawMsg, key) 3130 case "requiredMembers": 3131 err = unpopulate(val, "RequiredMembers", &a.RequiredMembers) 3132 delete(rawMsg, key) 3133 case "requiredZoneNames": 3134 err = unpopulate(val, "RequiredZoneNames", &a.RequiredZoneNames) 3135 delete(rawMsg, key) 3136 } 3137 if err != nil { 3138 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3139 } 3140 } 3141 return nil 3142 } 3143 3144 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbe. 3145 func (a ApplicationGatewayProbe) MarshalJSON() ([]byte, error) { 3146 objectMap := make(map[string]any) 3147 populate(objectMap, "etag", a.Etag) 3148 populate(objectMap, "id", a.ID) 3149 populate(objectMap, "name", a.Name) 3150 populate(objectMap, "properties", a.Properties) 3151 populate(objectMap, "type", a.Type) 3152 return json.Marshal(objectMap) 3153 } 3154 3155 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayProbe. 3156 func (a *ApplicationGatewayProbe) UnmarshalJSON(data []byte) error { 3157 var rawMsg map[string]json.RawMessage 3158 if err := json.Unmarshal(data, &rawMsg); err != nil { 3159 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3160 } 3161 for key, val := range rawMsg { 3162 var err error 3163 switch key { 3164 case "etag": 3165 err = unpopulate(val, "Etag", &a.Etag) 3166 delete(rawMsg, key) 3167 case "id": 3168 err = unpopulate(val, "ID", &a.ID) 3169 delete(rawMsg, key) 3170 case "name": 3171 err = unpopulate(val, "Name", &a.Name) 3172 delete(rawMsg, key) 3173 case "properties": 3174 err = unpopulate(val, "Properties", &a.Properties) 3175 delete(rawMsg, key) 3176 case "type": 3177 err = unpopulate(val, "Type", &a.Type) 3178 delete(rawMsg, key) 3179 } 3180 if err != nil { 3181 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3182 } 3183 } 3184 return nil 3185 } 3186 3187 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbeHealthResponseMatch. 3188 func (a ApplicationGatewayProbeHealthResponseMatch) MarshalJSON() ([]byte, error) { 3189 objectMap := make(map[string]any) 3190 populate(objectMap, "body", a.Body) 3191 populate(objectMap, "statusCodes", a.StatusCodes) 3192 return json.Marshal(objectMap) 3193 } 3194 3195 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayProbeHealthResponseMatch. 3196 func (a *ApplicationGatewayProbeHealthResponseMatch) UnmarshalJSON(data []byte) error { 3197 var rawMsg map[string]json.RawMessage 3198 if err := json.Unmarshal(data, &rawMsg); err != nil { 3199 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3200 } 3201 for key, val := range rawMsg { 3202 var err error 3203 switch key { 3204 case "body": 3205 err = unpopulate(val, "Body", &a.Body) 3206 delete(rawMsg, key) 3207 case "statusCodes": 3208 err = unpopulate(val, "StatusCodes", &a.StatusCodes) 3209 delete(rawMsg, key) 3210 } 3211 if err != nil { 3212 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3213 } 3214 } 3215 return nil 3216 } 3217 3218 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayProbePropertiesFormat. 3219 func (a ApplicationGatewayProbePropertiesFormat) MarshalJSON() ([]byte, error) { 3220 objectMap := make(map[string]any) 3221 populate(objectMap, "host", a.Host) 3222 populate(objectMap, "interval", a.Interval) 3223 populate(objectMap, "match", a.Match) 3224 populate(objectMap, "minServers", a.MinServers) 3225 populate(objectMap, "path", a.Path) 3226 populate(objectMap, "pickHostNameFromBackendHttpSettings", a.PickHostNameFromBackendHTTPSettings) 3227 populate(objectMap, "pickHostNameFromBackendSettings", a.PickHostNameFromBackendSettings) 3228 populate(objectMap, "port", a.Port) 3229 populate(objectMap, "protocol", a.Protocol) 3230 populate(objectMap, "provisioningState", a.ProvisioningState) 3231 populate(objectMap, "timeout", a.Timeout) 3232 populate(objectMap, "unhealthyThreshold", a.UnhealthyThreshold) 3233 return json.Marshal(objectMap) 3234 } 3235 3236 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayProbePropertiesFormat. 3237 func (a *ApplicationGatewayProbePropertiesFormat) UnmarshalJSON(data []byte) error { 3238 var rawMsg map[string]json.RawMessage 3239 if err := json.Unmarshal(data, &rawMsg); err != nil { 3240 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3241 } 3242 for key, val := range rawMsg { 3243 var err error 3244 switch key { 3245 case "host": 3246 err = unpopulate(val, "Host", &a.Host) 3247 delete(rawMsg, key) 3248 case "interval": 3249 err = unpopulate(val, "Interval", &a.Interval) 3250 delete(rawMsg, key) 3251 case "match": 3252 err = unpopulate(val, "Match", &a.Match) 3253 delete(rawMsg, key) 3254 case "minServers": 3255 err = unpopulate(val, "MinServers", &a.MinServers) 3256 delete(rawMsg, key) 3257 case "path": 3258 err = unpopulate(val, "Path", &a.Path) 3259 delete(rawMsg, key) 3260 case "pickHostNameFromBackendHttpSettings": 3261 err = unpopulate(val, "PickHostNameFromBackendHTTPSettings", &a.PickHostNameFromBackendHTTPSettings) 3262 delete(rawMsg, key) 3263 case "pickHostNameFromBackendSettings": 3264 err = unpopulate(val, "PickHostNameFromBackendSettings", &a.PickHostNameFromBackendSettings) 3265 delete(rawMsg, key) 3266 case "port": 3267 err = unpopulate(val, "Port", &a.Port) 3268 delete(rawMsg, key) 3269 case "protocol": 3270 err = unpopulate(val, "Protocol", &a.Protocol) 3271 delete(rawMsg, key) 3272 case "provisioningState": 3273 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 3274 delete(rawMsg, key) 3275 case "timeout": 3276 err = unpopulate(val, "Timeout", &a.Timeout) 3277 delete(rawMsg, key) 3278 case "unhealthyThreshold": 3279 err = unpopulate(val, "UnhealthyThreshold", &a.UnhealthyThreshold) 3280 delete(rawMsg, key) 3281 } 3282 if err != nil { 3283 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3284 } 3285 } 3286 return nil 3287 } 3288 3289 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayPropertiesFormat. 3290 func (a ApplicationGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 3291 objectMap := make(map[string]any) 3292 populate(objectMap, "authenticationCertificates", a.AuthenticationCertificates) 3293 populate(objectMap, "autoscaleConfiguration", a.AutoscaleConfiguration) 3294 populate(objectMap, "backendAddressPools", a.BackendAddressPools) 3295 populate(objectMap, "backendHttpSettingsCollection", a.BackendHTTPSettingsCollection) 3296 populate(objectMap, "backendSettingsCollection", a.BackendSettingsCollection) 3297 populate(objectMap, "customErrorConfigurations", a.CustomErrorConfigurations) 3298 populate(objectMap, "defaultPredefinedSslPolicy", a.DefaultPredefinedSSLPolicy) 3299 populate(objectMap, "enableFips", a.EnableFips) 3300 populate(objectMap, "enableHttp2", a.EnableHTTP2) 3301 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 3302 populate(objectMap, "forceFirewallPolicyAssociation", a.ForceFirewallPolicyAssociation) 3303 populate(objectMap, "frontendIPConfigurations", a.FrontendIPConfigurations) 3304 populate(objectMap, "frontendPorts", a.FrontendPorts) 3305 populate(objectMap, "gatewayIPConfigurations", a.GatewayIPConfigurations) 3306 populate(objectMap, "globalConfiguration", a.GlobalConfiguration) 3307 populate(objectMap, "httpListeners", a.HTTPListeners) 3308 populate(objectMap, "listeners", a.Listeners) 3309 populate(objectMap, "loadDistributionPolicies", a.LoadDistributionPolicies) 3310 populate(objectMap, "operationalState", a.OperationalState) 3311 populate(objectMap, "privateEndpointConnections", a.PrivateEndpointConnections) 3312 populate(objectMap, "privateLinkConfigurations", a.PrivateLinkConfigurations) 3313 populate(objectMap, "probes", a.Probes) 3314 populate(objectMap, "provisioningState", a.ProvisioningState) 3315 populate(objectMap, "redirectConfigurations", a.RedirectConfigurations) 3316 populate(objectMap, "requestRoutingRules", a.RequestRoutingRules) 3317 populate(objectMap, "resourceGuid", a.ResourceGUID) 3318 populate(objectMap, "rewriteRuleSets", a.RewriteRuleSets) 3319 populate(objectMap, "routingRules", a.RoutingRules) 3320 populate(objectMap, "sku", a.SKU) 3321 populate(objectMap, "sslCertificates", a.SSLCertificates) 3322 populate(objectMap, "sslPolicy", a.SSLPolicy) 3323 populate(objectMap, "sslProfiles", a.SSLProfiles) 3324 populate(objectMap, "trustedClientCertificates", a.TrustedClientCertificates) 3325 populate(objectMap, "trustedRootCertificates", a.TrustedRootCertificates) 3326 populate(objectMap, "urlPathMaps", a.URLPathMaps) 3327 populate(objectMap, "webApplicationFirewallConfiguration", a.WebApplicationFirewallConfiguration) 3328 return json.Marshal(objectMap) 3329 } 3330 3331 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayPropertiesFormat. 3332 func (a *ApplicationGatewayPropertiesFormat) UnmarshalJSON(data []byte) error { 3333 var rawMsg map[string]json.RawMessage 3334 if err := json.Unmarshal(data, &rawMsg); err != nil { 3335 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3336 } 3337 for key, val := range rawMsg { 3338 var err error 3339 switch key { 3340 case "authenticationCertificates": 3341 err = unpopulate(val, "AuthenticationCertificates", &a.AuthenticationCertificates) 3342 delete(rawMsg, key) 3343 case "autoscaleConfiguration": 3344 err = unpopulate(val, "AutoscaleConfiguration", &a.AutoscaleConfiguration) 3345 delete(rawMsg, key) 3346 case "backendAddressPools": 3347 err = unpopulate(val, "BackendAddressPools", &a.BackendAddressPools) 3348 delete(rawMsg, key) 3349 case "backendHttpSettingsCollection": 3350 err = unpopulate(val, "BackendHTTPSettingsCollection", &a.BackendHTTPSettingsCollection) 3351 delete(rawMsg, key) 3352 case "backendSettingsCollection": 3353 err = unpopulate(val, "BackendSettingsCollection", &a.BackendSettingsCollection) 3354 delete(rawMsg, key) 3355 case "customErrorConfigurations": 3356 err = unpopulate(val, "CustomErrorConfigurations", &a.CustomErrorConfigurations) 3357 delete(rawMsg, key) 3358 case "defaultPredefinedSslPolicy": 3359 err = unpopulate(val, "DefaultPredefinedSSLPolicy", &a.DefaultPredefinedSSLPolicy) 3360 delete(rawMsg, key) 3361 case "enableFips": 3362 err = unpopulate(val, "EnableFips", &a.EnableFips) 3363 delete(rawMsg, key) 3364 case "enableHttp2": 3365 err = unpopulate(val, "EnableHTTP2", &a.EnableHTTP2) 3366 delete(rawMsg, key) 3367 case "firewallPolicy": 3368 err = unpopulate(val, "FirewallPolicy", &a.FirewallPolicy) 3369 delete(rawMsg, key) 3370 case "forceFirewallPolicyAssociation": 3371 err = unpopulate(val, "ForceFirewallPolicyAssociation", &a.ForceFirewallPolicyAssociation) 3372 delete(rawMsg, key) 3373 case "frontendIPConfigurations": 3374 err = unpopulate(val, "FrontendIPConfigurations", &a.FrontendIPConfigurations) 3375 delete(rawMsg, key) 3376 case "frontendPorts": 3377 err = unpopulate(val, "FrontendPorts", &a.FrontendPorts) 3378 delete(rawMsg, key) 3379 case "gatewayIPConfigurations": 3380 err = unpopulate(val, "GatewayIPConfigurations", &a.GatewayIPConfigurations) 3381 delete(rawMsg, key) 3382 case "globalConfiguration": 3383 err = unpopulate(val, "GlobalConfiguration", &a.GlobalConfiguration) 3384 delete(rawMsg, key) 3385 case "httpListeners": 3386 err = unpopulate(val, "HTTPListeners", &a.HTTPListeners) 3387 delete(rawMsg, key) 3388 case "listeners": 3389 err = unpopulate(val, "Listeners", &a.Listeners) 3390 delete(rawMsg, key) 3391 case "loadDistributionPolicies": 3392 err = unpopulate(val, "LoadDistributionPolicies", &a.LoadDistributionPolicies) 3393 delete(rawMsg, key) 3394 case "operationalState": 3395 err = unpopulate(val, "OperationalState", &a.OperationalState) 3396 delete(rawMsg, key) 3397 case "privateEndpointConnections": 3398 err = unpopulate(val, "PrivateEndpointConnections", &a.PrivateEndpointConnections) 3399 delete(rawMsg, key) 3400 case "privateLinkConfigurations": 3401 err = unpopulate(val, "PrivateLinkConfigurations", &a.PrivateLinkConfigurations) 3402 delete(rawMsg, key) 3403 case "probes": 3404 err = unpopulate(val, "Probes", &a.Probes) 3405 delete(rawMsg, key) 3406 case "provisioningState": 3407 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 3408 delete(rawMsg, key) 3409 case "redirectConfigurations": 3410 err = unpopulate(val, "RedirectConfigurations", &a.RedirectConfigurations) 3411 delete(rawMsg, key) 3412 case "requestRoutingRules": 3413 err = unpopulate(val, "RequestRoutingRules", &a.RequestRoutingRules) 3414 delete(rawMsg, key) 3415 case "resourceGuid": 3416 err = unpopulate(val, "ResourceGUID", &a.ResourceGUID) 3417 delete(rawMsg, key) 3418 case "rewriteRuleSets": 3419 err = unpopulate(val, "RewriteRuleSets", &a.RewriteRuleSets) 3420 delete(rawMsg, key) 3421 case "routingRules": 3422 err = unpopulate(val, "RoutingRules", &a.RoutingRules) 3423 delete(rawMsg, key) 3424 case "sku": 3425 err = unpopulate(val, "SKU", &a.SKU) 3426 delete(rawMsg, key) 3427 case "sslCertificates": 3428 err = unpopulate(val, "SSLCertificates", &a.SSLCertificates) 3429 delete(rawMsg, key) 3430 case "sslPolicy": 3431 err = unpopulate(val, "SSLPolicy", &a.SSLPolicy) 3432 delete(rawMsg, key) 3433 case "sslProfiles": 3434 err = unpopulate(val, "SSLProfiles", &a.SSLProfiles) 3435 delete(rawMsg, key) 3436 case "trustedClientCertificates": 3437 err = unpopulate(val, "TrustedClientCertificates", &a.TrustedClientCertificates) 3438 delete(rawMsg, key) 3439 case "trustedRootCertificates": 3440 err = unpopulate(val, "TrustedRootCertificates", &a.TrustedRootCertificates) 3441 delete(rawMsg, key) 3442 case "urlPathMaps": 3443 err = unpopulate(val, "URLPathMaps", &a.URLPathMaps) 3444 delete(rawMsg, key) 3445 case "webApplicationFirewallConfiguration": 3446 err = unpopulate(val, "WebApplicationFirewallConfiguration", &a.WebApplicationFirewallConfiguration) 3447 delete(rawMsg, key) 3448 } 3449 if err != nil { 3450 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3451 } 3452 } 3453 return nil 3454 } 3455 3456 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRedirectConfiguration. 3457 func (a ApplicationGatewayRedirectConfiguration) MarshalJSON() ([]byte, error) { 3458 objectMap := make(map[string]any) 3459 populate(objectMap, "etag", a.Etag) 3460 populate(objectMap, "id", a.ID) 3461 populate(objectMap, "name", a.Name) 3462 populate(objectMap, "properties", a.Properties) 3463 populate(objectMap, "type", a.Type) 3464 return json.Marshal(objectMap) 3465 } 3466 3467 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRedirectConfiguration. 3468 func (a *ApplicationGatewayRedirectConfiguration) UnmarshalJSON(data []byte) error { 3469 var rawMsg map[string]json.RawMessage 3470 if err := json.Unmarshal(data, &rawMsg); err != nil { 3471 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3472 } 3473 for key, val := range rawMsg { 3474 var err error 3475 switch key { 3476 case "etag": 3477 err = unpopulate(val, "Etag", &a.Etag) 3478 delete(rawMsg, key) 3479 case "id": 3480 err = unpopulate(val, "ID", &a.ID) 3481 delete(rawMsg, key) 3482 case "name": 3483 err = unpopulate(val, "Name", &a.Name) 3484 delete(rawMsg, key) 3485 case "properties": 3486 err = unpopulate(val, "Properties", &a.Properties) 3487 delete(rawMsg, key) 3488 case "type": 3489 err = unpopulate(val, "Type", &a.Type) 3490 delete(rawMsg, key) 3491 } 3492 if err != nil { 3493 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3494 } 3495 } 3496 return nil 3497 } 3498 3499 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRedirectConfigurationPropertiesFormat. 3500 func (a ApplicationGatewayRedirectConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 3501 objectMap := make(map[string]any) 3502 populate(objectMap, "includePath", a.IncludePath) 3503 populate(objectMap, "includeQueryString", a.IncludeQueryString) 3504 populate(objectMap, "pathRules", a.PathRules) 3505 populate(objectMap, "redirectType", a.RedirectType) 3506 populate(objectMap, "requestRoutingRules", a.RequestRoutingRules) 3507 populate(objectMap, "targetListener", a.TargetListener) 3508 populate(objectMap, "targetUrl", a.TargetURL) 3509 populate(objectMap, "urlPathMaps", a.URLPathMaps) 3510 return json.Marshal(objectMap) 3511 } 3512 3513 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRedirectConfigurationPropertiesFormat. 3514 func (a *ApplicationGatewayRedirectConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 3515 var rawMsg map[string]json.RawMessage 3516 if err := json.Unmarshal(data, &rawMsg); err != nil { 3517 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3518 } 3519 for key, val := range rawMsg { 3520 var err error 3521 switch key { 3522 case "includePath": 3523 err = unpopulate(val, "IncludePath", &a.IncludePath) 3524 delete(rawMsg, key) 3525 case "includeQueryString": 3526 err = unpopulate(val, "IncludeQueryString", &a.IncludeQueryString) 3527 delete(rawMsg, key) 3528 case "pathRules": 3529 err = unpopulate(val, "PathRules", &a.PathRules) 3530 delete(rawMsg, key) 3531 case "redirectType": 3532 err = unpopulate(val, "RedirectType", &a.RedirectType) 3533 delete(rawMsg, key) 3534 case "requestRoutingRules": 3535 err = unpopulate(val, "RequestRoutingRules", &a.RequestRoutingRules) 3536 delete(rawMsg, key) 3537 case "targetListener": 3538 err = unpopulate(val, "TargetListener", &a.TargetListener) 3539 delete(rawMsg, key) 3540 case "targetUrl": 3541 err = unpopulate(val, "TargetURL", &a.TargetURL) 3542 delete(rawMsg, key) 3543 case "urlPathMaps": 3544 err = unpopulate(val, "URLPathMaps", &a.URLPathMaps) 3545 delete(rawMsg, key) 3546 } 3547 if err != nil { 3548 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3549 } 3550 } 3551 return nil 3552 } 3553 3554 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRequestRoutingRule. 3555 func (a ApplicationGatewayRequestRoutingRule) MarshalJSON() ([]byte, error) { 3556 objectMap := make(map[string]any) 3557 populate(objectMap, "etag", a.Etag) 3558 populate(objectMap, "id", a.ID) 3559 populate(objectMap, "name", a.Name) 3560 populate(objectMap, "properties", a.Properties) 3561 populate(objectMap, "type", a.Type) 3562 return json.Marshal(objectMap) 3563 } 3564 3565 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRequestRoutingRule. 3566 func (a *ApplicationGatewayRequestRoutingRule) UnmarshalJSON(data []byte) error { 3567 var rawMsg map[string]json.RawMessage 3568 if err := json.Unmarshal(data, &rawMsg); err != nil { 3569 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3570 } 3571 for key, val := range rawMsg { 3572 var err error 3573 switch key { 3574 case "etag": 3575 err = unpopulate(val, "Etag", &a.Etag) 3576 delete(rawMsg, key) 3577 case "id": 3578 err = unpopulate(val, "ID", &a.ID) 3579 delete(rawMsg, key) 3580 case "name": 3581 err = unpopulate(val, "Name", &a.Name) 3582 delete(rawMsg, key) 3583 case "properties": 3584 err = unpopulate(val, "Properties", &a.Properties) 3585 delete(rawMsg, key) 3586 case "type": 3587 err = unpopulate(val, "Type", &a.Type) 3588 delete(rawMsg, key) 3589 } 3590 if err != nil { 3591 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3592 } 3593 } 3594 return nil 3595 } 3596 3597 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRequestRoutingRulePropertiesFormat. 3598 func (a ApplicationGatewayRequestRoutingRulePropertiesFormat) MarshalJSON() ([]byte, error) { 3599 objectMap := make(map[string]any) 3600 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 3601 populate(objectMap, "backendHttpSettings", a.BackendHTTPSettings) 3602 populate(objectMap, "httpListener", a.HTTPListener) 3603 populate(objectMap, "loadDistributionPolicy", a.LoadDistributionPolicy) 3604 populate(objectMap, "priority", a.Priority) 3605 populate(objectMap, "provisioningState", a.ProvisioningState) 3606 populate(objectMap, "redirectConfiguration", a.RedirectConfiguration) 3607 populate(objectMap, "rewriteRuleSet", a.RewriteRuleSet) 3608 populate(objectMap, "ruleType", a.RuleType) 3609 populate(objectMap, "urlPathMap", a.URLPathMap) 3610 return json.Marshal(objectMap) 3611 } 3612 3613 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRequestRoutingRulePropertiesFormat. 3614 func (a *ApplicationGatewayRequestRoutingRulePropertiesFormat) UnmarshalJSON(data []byte) error { 3615 var rawMsg map[string]json.RawMessage 3616 if err := json.Unmarshal(data, &rawMsg); err != nil { 3617 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3618 } 3619 for key, val := range rawMsg { 3620 var err error 3621 switch key { 3622 case "backendAddressPool": 3623 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 3624 delete(rawMsg, key) 3625 case "backendHttpSettings": 3626 err = unpopulate(val, "BackendHTTPSettings", &a.BackendHTTPSettings) 3627 delete(rawMsg, key) 3628 case "httpListener": 3629 err = unpopulate(val, "HTTPListener", &a.HTTPListener) 3630 delete(rawMsg, key) 3631 case "loadDistributionPolicy": 3632 err = unpopulate(val, "LoadDistributionPolicy", &a.LoadDistributionPolicy) 3633 delete(rawMsg, key) 3634 case "priority": 3635 err = unpopulate(val, "Priority", &a.Priority) 3636 delete(rawMsg, key) 3637 case "provisioningState": 3638 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 3639 delete(rawMsg, key) 3640 case "redirectConfiguration": 3641 err = unpopulate(val, "RedirectConfiguration", &a.RedirectConfiguration) 3642 delete(rawMsg, key) 3643 case "rewriteRuleSet": 3644 err = unpopulate(val, "RewriteRuleSet", &a.RewriteRuleSet) 3645 delete(rawMsg, key) 3646 case "ruleType": 3647 err = unpopulate(val, "RuleType", &a.RuleType) 3648 delete(rawMsg, key) 3649 case "urlPathMap": 3650 err = unpopulate(val, "URLPathMap", &a.URLPathMap) 3651 delete(rawMsg, key) 3652 } 3653 if err != nil { 3654 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3655 } 3656 } 3657 return nil 3658 } 3659 3660 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRule. 3661 func (a ApplicationGatewayRewriteRule) MarshalJSON() ([]byte, error) { 3662 objectMap := make(map[string]any) 3663 populate(objectMap, "actionSet", a.ActionSet) 3664 populate(objectMap, "conditions", a.Conditions) 3665 populate(objectMap, "name", a.Name) 3666 populate(objectMap, "ruleSequence", a.RuleSequence) 3667 return json.Marshal(objectMap) 3668 } 3669 3670 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRewriteRule. 3671 func (a *ApplicationGatewayRewriteRule) UnmarshalJSON(data []byte) error { 3672 var rawMsg map[string]json.RawMessage 3673 if err := json.Unmarshal(data, &rawMsg); err != nil { 3674 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3675 } 3676 for key, val := range rawMsg { 3677 var err error 3678 switch key { 3679 case "actionSet": 3680 err = unpopulate(val, "ActionSet", &a.ActionSet) 3681 delete(rawMsg, key) 3682 case "conditions": 3683 err = unpopulate(val, "Conditions", &a.Conditions) 3684 delete(rawMsg, key) 3685 case "name": 3686 err = unpopulate(val, "Name", &a.Name) 3687 delete(rawMsg, key) 3688 case "ruleSequence": 3689 err = unpopulate(val, "RuleSequence", &a.RuleSequence) 3690 delete(rawMsg, key) 3691 } 3692 if err != nil { 3693 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3694 } 3695 } 3696 return nil 3697 } 3698 3699 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleActionSet. 3700 func (a ApplicationGatewayRewriteRuleActionSet) MarshalJSON() ([]byte, error) { 3701 objectMap := make(map[string]any) 3702 populate(objectMap, "requestHeaderConfigurations", a.RequestHeaderConfigurations) 3703 populate(objectMap, "responseHeaderConfigurations", a.ResponseHeaderConfigurations) 3704 populate(objectMap, "urlConfiguration", a.URLConfiguration) 3705 return json.Marshal(objectMap) 3706 } 3707 3708 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRewriteRuleActionSet. 3709 func (a *ApplicationGatewayRewriteRuleActionSet) UnmarshalJSON(data []byte) error { 3710 var rawMsg map[string]json.RawMessage 3711 if err := json.Unmarshal(data, &rawMsg); err != nil { 3712 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3713 } 3714 for key, val := range rawMsg { 3715 var err error 3716 switch key { 3717 case "requestHeaderConfigurations": 3718 err = unpopulate(val, "RequestHeaderConfigurations", &a.RequestHeaderConfigurations) 3719 delete(rawMsg, key) 3720 case "responseHeaderConfigurations": 3721 err = unpopulate(val, "ResponseHeaderConfigurations", &a.ResponseHeaderConfigurations) 3722 delete(rawMsg, key) 3723 case "urlConfiguration": 3724 err = unpopulate(val, "URLConfiguration", &a.URLConfiguration) 3725 delete(rawMsg, key) 3726 } 3727 if err != nil { 3728 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3729 } 3730 } 3731 return nil 3732 } 3733 3734 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleCondition. 3735 func (a ApplicationGatewayRewriteRuleCondition) MarshalJSON() ([]byte, error) { 3736 objectMap := make(map[string]any) 3737 populate(objectMap, "ignoreCase", a.IgnoreCase) 3738 populate(objectMap, "negate", a.Negate) 3739 populate(objectMap, "pattern", a.Pattern) 3740 populate(objectMap, "variable", a.Variable) 3741 return json.Marshal(objectMap) 3742 } 3743 3744 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRewriteRuleCondition. 3745 func (a *ApplicationGatewayRewriteRuleCondition) UnmarshalJSON(data []byte) error { 3746 var rawMsg map[string]json.RawMessage 3747 if err := json.Unmarshal(data, &rawMsg); err != nil { 3748 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3749 } 3750 for key, val := range rawMsg { 3751 var err error 3752 switch key { 3753 case "ignoreCase": 3754 err = unpopulate(val, "IgnoreCase", &a.IgnoreCase) 3755 delete(rawMsg, key) 3756 case "negate": 3757 err = unpopulate(val, "Negate", &a.Negate) 3758 delete(rawMsg, key) 3759 case "pattern": 3760 err = unpopulate(val, "Pattern", &a.Pattern) 3761 delete(rawMsg, key) 3762 case "variable": 3763 err = unpopulate(val, "Variable", &a.Variable) 3764 delete(rawMsg, key) 3765 } 3766 if err != nil { 3767 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3768 } 3769 } 3770 return nil 3771 } 3772 3773 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleSet. 3774 func (a ApplicationGatewayRewriteRuleSet) MarshalJSON() ([]byte, error) { 3775 objectMap := make(map[string]any) 3776 populate(objectMap, "etag", a.Etag) 3777 populate(objectMap, "id", a.ID) 3778 populate(objectMap, "name", a.Name) 3779 populate(objectMap, "properties", a.Properties) 3780 return json.Marshal(objectMap) 3781 } 3782 3783 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRewriteRuleSet. 3784 func (a *ApplicationGatewayRewriteRuleSet) UnmarshalJSON(data []byte) error { 3785 var rawMsg map[string]json.RawMessage 3786 if err := json.Unmarshal(data, &rawMsg); err != nil { 3787 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3788 } 3789 for key, val := range rawMsg { 3790 var err error 3791 switch key { 3792 case "etag": 3793 err = unpopulate(val, "Etag", &a.Etag) 3794 delete(rawMsg, key) 3795 case "id": 3796 err = unpopulate(val, "ID", &a.ID) 3797 delete(rawMsg, key) 3798 case "name": 3799 err = unpopulate(val, "Name", &a.Name) 3800 delete(rawMsg, key) 3801 case "properties": 3802 err = unpopulate(val, "Properties", &a.Properties) 3803 delete(rawMsg, key) 3804 } 3805 if err != nil { 3806 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3807 } 3808 } 3809 return nil 3810 } 3811 3812 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRewriteRuleSetPropertiesFormat. 3813 func (a ApplicationGatewayRewriteRuleSetPropertiesFormat) MarshalJSON() ([]byte, error) { 3814 objectMap := make(map[string]any) 3815 populate(objectMap, "provisioningState", a.ProvisioningState) 3816 populate(objectMap, "rewriteRules", a.RewriteRules) 3817 return json.Marshal(objectMap) 3818 } 3819 3820 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRewriteRuleSetPropertiesFormat. 3821 func (a *ApplicationGatewayRewriteRuleSetPropertiesFormat) UnmarshalJSON(data []byte) error { 3822 var rawMsg map[string]json.RawMessage 3823 if err := json.Unmarshal(data, &rawMsg); err != nil { 3824 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3825 } 3826 for key, val := range rawMsg { 3827 var err error 3828 switch key { 3829 case "provisioningState": 3830 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 3831 delete(rawMsg, key) 3832 case "rewriteRules": 3833 err = unpopulate(val, "RewriteRules", &a.RewriteRules) 3834 delete(rawMsg, key) 3835 } 3836 if err != nil { 3837 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3838 } 3839 } 3840 return nil 3841 } 3842 3843 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRoutingRule. 3844 func (a ApplicationGatewayRoutingRule) MarshalJSON() ([]byte, error) { 3845 objectMap := make(map[string]any) 3846 populate(objectMap, "etag", a.Etag) 3847 populate(objectMap, "id", a.ID) 3848 populate(objectMap, "name", a.Name) 3849 populate(objectMap, "properties", a.Properties) 3850 populate(objectMap, "type", a.Type) 3851 return json.Marshal(objectMap) 3852 } 3853 3854 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRoutingRule. 3855 func (a *ApplicationGatewayRoutingRule) UnmarshalJSON(data []byte) error { 3856 var rawMsg map[string]json.RawMessage 3857 if err := json.Unmarshal(data, &rawMsg); err != nil { 3858 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3859 } 3860 for key, val := range rawMsg { 3861 var err error 3862 switch key { 3863 case "etag": 3864 err = unpopulate(val, "Etag", &a.Etag) 3865 delete(rawMsg, key) 3866 case "id": 3867 err = unpopulate(val, "ID", &a.ID) 3868 delete(rawMsg, key) 3869 case "name": 3870 err = unpopulate(val, "Name", &a.Name) 3871 delete(rawMsg, key) 3872 case "properties": 3873 err = unpopulate(val, "Properties", &a.Properties) 3874 delete(rawMsg, key) 3875 case "type": 3876 err = unpopulate(val, "Type", &a.Type) 3877 delete(rawMsg, key) 3878 } 3879 if err != nil { 3880 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3881 } 3882 } 3883 return nil 3884 } 3885 3886 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayRoutingRulePropertiesFormat. 3887 func (a ApplicationGatewayRoutingRulePropertiesFormat) MarshalJSON() ([]byte, error) { 3888 objectMap := make(map[string]any) 3889 populate(objectMap, "backendAddressPool", a.BackendAddressPool) 3890 populate(objectMap, "backendSettings", a.BackendSettings) 3891 populate(objectMap, "listener", a.Listener) 3892 populate(objectMap, "priority", a.Priority) 3893 populate(objectMap, "provisioningState", a.ProvisioningState) 3894 populate(objectMap, "ruleType", a.RuleType) 3895 return json.Marshal(objectMap) 3896 } 3897 3898 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayRoutingRulePropertiesFormat. 3899 func (a *ApplicationGatewayRoutingRulePropertiesFormat) UnmarshalJSON(data []byte) error { 3900 var rawMsg map[string]json.RawMessage 3901 if err := json.Unmarshal(data, &rawMsg); err != nil { 3902 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3903 } 3904 for key, val := range rawMsg { 3905 var err error 3906 switch key { 3907 case "backendAddressPool": 3908 err = unpopulate(val, "BackendAddressPool", &a.BackendAddressPool) 3909 delete(rawMsg, key) 3910 case "backendSettings": 3911 err = unpopulate(val, "BackendSettings", &a.BackendSettings) 3912 delete(rawMsg, key) 3913 case "listener": 3914 err = unpopulate(val, "Listener", &a.Listener) 3915 delete(rawMsg, key) 3916 case "priority": 3917 err = unpopulate(val, "Priority", &a.Priority) 3918 delete(rawMsg, key) 3919 case "provisioningState": 3920 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 3921 delete(rawMsg, key) 3922 case "ruleType": 3923 err = unpopulate(val, "RuleType", &a.RuleType) 3924 delete(rawMsg, key) 3925 } 3926 if err != nil { 3927 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3928 } 3929 } 3930 return nil 3931 } 3932 3933 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySKU. 3934 func (a ApplicationGatewaySKU) MarshalJSON() ([]byte, error) { 3935 objectMap := make(map[string]any) 3936 populate(objectMap, "capacity", a.Capacity) 3937 populate(objectMap, "family", a.Family) 3938 populate(objectMap, "name", a.Name) 3939 populate(objectMap, "tier", a.Tier) 3940 return json.Marshal(objectMap) 3941 } 3942 3943 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySKU. 3944 func (a *ApplicationGatewaySKU) UnmarshalJSON(data []byte) error { 3945 var rawMsg map[string]json.RawMessage 3946 if err := json.Unmarshal(data, &rawMsg); err != nil { 3947 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3948 } 3949 for key, val := range rawMsg { 3950 var err error 3951 switch key { 3952 case "capacity": 3953 err = unpopulate(val, "Capacity", &a.Capacity) 3954 delete(rawMsg, key) 3955 case "family": 3956 err = unpopulate(val, "Family", &a.Family) 3957 delete(rawMsg, key) 3958 case "name": 3959 err = unpopulate(val, "Name", &a.Name) 3960 delete(rawMsg, key) 3961 case "tier": 3962 err = unpopulate(val, "Tier", &a.Tier) 3963 delete(rawMsg, key) 3964 } 3965 if err != nil { 3966 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3967 } 3968 } 3969 return nil 3970 } 3971 3972 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLCertificate. 3973 func (a ApplicationGatewaySSLCertificate) MarshalJSON() ([]byte, error) { 3974 objectMap := make(map[string]any) 3975 populate(objectMap, "etag", a.Etag) 3976 populate(objectMap, "id", a.ID) 3977 populate(objectMap, "name", a.Name) 3978 populate(objectMap, "properties", a.Properties) 3979 populate(objectMap, "type", a.Type) 3980 return json.Marshal(objectMap) 3981 } 3982 3983 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLCertificate. 3984 func (a *ApplicationGatewaySSLCertificate) UnmarshalJSON(data []byte) error { 3985 var rawMsg map[string]json.RawMessage 3986 if err := json.Unmarshal(data, &rawMsg); err != nil { 3987 return fmt.Errorf("unmarshalling type %T: %v", a, err) 3988 } 3989 for key, val := range rawMsg { 3990 var err error 3991 switch key { 3992 case "etag": 3993 err = unpopulate(val, "Etag", &a.Etag) 3994 delete(rawMsg, key) 3995 case "id": 3996 err = unpopulate(val, "ID", &a.ID) 3997 delete(rawMsg, key) 3998 case "name": 3999 err = unpopulate(val, "Name", &a.Name) 4000 delete(rawMsg, key) 4001 case "properties": 4002 err = unpopulate(val, "Properties", &a.Properties) 4003 delete(rawMsg, key) 4004 case "type": 4005 err = unpopulate(val, "Type", &a.Type) 4006 delete(rawMsg, key) 4007 } 4008 if err != nil { 4009 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4010 } 4011 } 4012 return nil 4013 } 4014 4015 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLCertificatePropertiesFormat. 4016 func (a ApplicationGatewaySSLCertificatePropertiesFormat) MarshalJSON() ([]byte, error) { 4017 objectMap := make(map[string]any) 4018 populate(objectMap, "data", a.Data) 4019 populate(objectMap, "keyVaultSecretId", a.KeyVaultSecretID) 4020 populate(objectMap, "password", a.Password) 4021 populate(objectMap, "provisioningState", a.ProvisioningState) 4022 populate(objectMap, "publicCertData", a.PublicCertData) 4023 return json.Marshal(objectMap) 4024 } 4025 4026 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLCertificatePropertiesFormat. 4027 func (a *ApplicationGatewaySSLCertificatePropertiesFormat) UnmarshalJSON(data []byte) error { 4028 var rawMsg map[string]json.RawMessage 4029 if err := json.Unmarshal(data, &rawMsg); err != nil { 4030 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4031 } 4032 for key, val := range rawMsg { 4033 var err error 4034 switch key { 4035 case "data": 4036 err = unpopulate(val, "Data", &a.Data) 4037 delete(rawMsg, key) 4038 case "keyVaultSecretId": 4039 err = unpopulate(val, "KeyVaultSecretID", &a.KeyVaultSecretID) 4040 delete(rawMsg, key) 4041 case "password": 4042 err = unpopulate(val, "Password", &a.Password) 4043 delete(rawMsg, key) 4044 case "provisioningState": 4045 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4046 delete(rawMsg, key) 4047 case "publicCertData": 4048 err = unpopulate(val, "PublicCertData", &a.PublicCertData) 4049 delete(rawMsg, key) 4050 } 4051 if err != nil { 4052 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4053 } 4054 } 4055 return nil 4056 } 4057 4058 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPolicy. 4059 func (a ApplicationGatewaySSLPolicy) MarshalJSON() ([]byte, error) { 4060 objectMap := make(map[string]any) 4061 populate(objectMap, "cipherSuites", a.CipherSuites) 4062 populate(objectMap, "disabledSslProtocols", a.DisabledSSLProtocols) 4063 populate(objectMap, "minProtocolVersion", a.MinProtocolVersion) 4064 populate(objectMap, "policyName", a.PolicyName) 4065 populate(objectMap, "policyType", a.PolicyType) 4066 return json.Marshal(objectMap) 4067 } 4068 4069 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLPolicy. 4070 func (a *ApplicationGatewaySSLPolicy) UnmarshalJSON(data []byte) error { 4071 var rawMsg map[string]json.RawMessage 4072 if err := json.Unmarshal(data, &rawMsg); err != nil { 4073 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4074 } 4075 for key, val := range rawMsg { 4076 var err error 4077 switch key { 4078 case "cipherSuites": 4079 err = unpopulate(val, "CipherSuites", &a.CipherSuites) 4080 delete(rawMsg, key) 4081 case "disabledSslProtocols": 4082 err = unpopulate(val, "DisabledSSLProtocols", &a.DisabledSSLProtocols) 4083 delete(rawMsg, key) 4084 case "minProtocolVersion": 4085 err = unpopulate(val, "MinProtocolVersion", &a.MinProtocolVersion) 4086 delete(rawMsg, key) 4087 case "policyName": 4088 err = unpopulate(val, "PolicyName", &a.PolicyName) 4089 delete(rawMsg, key) 4090 case "policyType": 4091 err = unpopulate(val, "PolicyType", &a.PolicyType) 4092 delete(rawMsg, key) 4093 } 4094 if err != nil { 4095 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4096 } 4097 } 4098 return nil 4099 } 4100 4101 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPredefinedPolicy. 4102 func (a ApplicationGatewaySSLPredefinedPolicy) MarshalJSON() ([]byte, error) { 4103 objectMap := make(map[string]any) 4104 populate(objectMap, "id", a.ID) 4105 populate(objectMap, "name", a.Name) 4106 populate(objectMap, "properties", a.Properties) 4107 return json.Marshal(objectMap) 4108 } 4109 4110 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLPredefinedPolicy. 4111 func (a *ApplicationGatewaySSLPredefinedPolicy) UnmarshalJSON(data []byte) error { 4112 var rawMsg map[string]json.RawMessage 4113 if err := json.Unmarshal(data, &rawMsg); err != nil { 4114 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4115 } 4116 for key, val := range rawMsg { 4117 var err error 4118 switch key { 4119 case "id": 4120 err = unpopulate(val, "ID", &a.ID) 4121 delete(rawMsg, key) 4122 case "name": 4123 err = unpopulate(val, "Name", &a.Name) 4124 delete(rawMsg, key) 4125 case "properties": 4126 err = unpopulate(val, "Properties", &a.Properties) 4127 delete(rawMsg, key) 4128 } 4129 if err != nil { 4130 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4131 } 4132 } 4133 return nil 4134 } 4135 4136 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat. 4137 func (a ApplicationGatewaySSLPredefinedPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 4138 objectMap := make(map[string]any) 4139 populate(objectMap, "cipherSuites", a.CipherSuites) 4140 populate(objectMap, "minProtocolVersion", a.MinProtocolVersion) 4141 return json.Marshal(objectMap) 4142 } 4143 4144 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLPredefinedPolicyPropertiesFormat. 4145 func (a *ApplicationGatewaySSLPredefinedPolicyPropertiesFormat) UnmarshalJSON(data []byte) error { 4146 var rawMsg map[string]json.RawMessage 4147 if err := json.Unmarshal(data, &rawMsg); err != nil { 4148 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4149 } 4150 for key, val := range rawMsg { 4151 var err error 4152 switch key { 4153 case "cipherSuites": 4154 err = unpopulate(val, "CipherSuites", &a.CipherSuites) 4155 delete(rawMsg, key) 4156 case "minProtocolVersion": 4157 err = unpopulate(val, "MinProtocolVersion", &a.MinProtocolVersion) 4158 delete(rawMsg, key) 4159 } 4160 if err != nil { 4161 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4162 } 4163 } 4164 return nil 4165 } 4166 4167 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLProfile. 4168 func (a ApplicationGatewaySSLProfile) MarshalJSON() ([]byte, error) { 4169 objectMap := make(map[string]any) 4170 populate(objectMap, "etag", a.Etag) 4171 populate(objectMap, "id", a.ID) 4172 populate(objectMap, "name", a.Name) 4173 populate(objectMap, "properties", a.Properties) 4174 populate(objectMap, "type", a.Type) 4175 return json.Marshal(objectMap) 4176 } 4177 4178 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLProfile. 4179 func (a *ApplicationGatewaySSLProfile) UnmarshalJSON(data []byte) error { 4180 var rawMsg map[string]json.RawMessage 4181 if err := json.Unmarshal(data, &rawMsg); err != nil { 4182 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4183 } 4184 for key, val := range rawMsg { 4185 var err error 4186 switch key { 4187 case "etag": 4188 err = unpopulate(val, "Etag", &a.Etag) 4189 delete(rawMsg, key) 4190 case "id": 4191 err = unpopulate(val, "ID", &a.ID) 4192 delete(rawMsg, key) 4193 case "name": 4194 err = unpopulate(val, "Name", &a.Name) 4195 delete(rawMsg, key) 4196 case "properties": 4197 err = unpopulate(val, "Properties", &a.Properties) 4198 delete(rawMsg, key) 4199 case "type": 4200 err = unpopulate(val, "Type", &a.Type) 4201 delete(rawMsg, key) 4202 } 4203 if err != nil { 4204 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4205 } 4206 } 4207 return nil 4208 } 4209 4210 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewaySSLProfilePropertiesFormat. 4211 func (a ApplicationGatewaySSLProfilePropertiesFormat) MarshalJSON() ([]byte, error) { 4212 objectMap := make(map[string]any) 4213 populate(objectMap, "clientAuthConfiguration", a.ClientAuthConfiguration) 4214 populate(objectMap, "provisioningState", a.ProvisioningState) 4215 populate(objectMap, "sslPolicy", a.SSLPolicy) 4216 populate(objectMap, "trustedClientCertificates", a.TrustedClientCertificates) 4217 return json.Marshal(objectMap) 4218 } 4219 4220 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewaySSLProfilePropertiesFormat. 4221 func (a *ApplicationGatewaySSLProfilePropertiesFormat) UnmarshalJSON(data []byte) error { 4222 var rawMsg map[string]json.RawMessage 4223 if err := json.Unmarshal(data, &rawMsg); err != nil { 4224 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4225 } 4226 for key, val := range rawMsg { 4227 var err error 4228 switch key { 4229 case "clientAuthConfiguration": 4230 err = unpopulate(val, "ClientAuthConfiguration", &a.ClientAuthConfiguration) 4231 delete(rawMsg, key) 4232 case "provisioningState": 4233 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4234 delete(rawMsg, key) 4235 case "sslPolicy": 4236 err = unpopulate(val, "SSLPolicy", &a.SSLPolicy) 4237 delete(rawMsg, key) 4238 case "trustedClientCertificates": 4239 err = unpopulate(val, "TrustedClientCertificates", &a.TrustedClientCertificates) 4240 delete(rawMsg, key) 4241 } 4242 if err != nil { 4243 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4244 } 4245 } 4246 return nil 4247 } 4248 4249 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedClientCertificate. 4250 func (a ApplicationGatewayTrustedClientCertificate) MarshalJSON() ([]byte, error) { 4251 objectMap := make(map[string]any) 4252 populate(objectMap, "etag", a.Etag) 4253 populate(objectMap, "id", a.ID) 4254 populate(objectMap, "name", a.Name) 4255 populate(objectMap, "properties", a.Properties) 4256 populate(objectMap, "type", a.Type) 4257 return json.Marshal(objectMap) 4258 } 4259 4260 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayTrustedClientCertificate. 4261 func (a *ApplicationGatewayTrustedClientCertificate) UnmarshalJSON(data []byte) error { 4262 var rawMsg map[string]json.RawMessage 4263 if err := json.Unmarshal(data, &rawMsg); err != nil { 4264 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4265 } 4266 for key, val := range rawMsg { 4267 var err error 4268 switch key { 4269 case "etag": 4270 err = unpopulate(val, "Etag", &a.Etag) 4271 delete(rawMsg, key) 4272 case "id": 4273 err = unpopulate(val, "ID", &a.ID) 4274 delete(rawMsg, key) 4275 case "name": 4276 err = unpopulate(val, "Name", &a.Name) 4277 delete(rawMsg, key) 4278 case "properties": 4279 err = unpopulate(val, "Properties", &a.Properties) 4280 delete(rawMsg, key) 4281 case "type": 4282 err = unpopulate(val, "Type", &a.Type) 4283 delete(rawMsg, key) 4284 } 4285 if err != nil { 4286 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4287 } 4288 } 4289 return nil 4290 } 4291 4292 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedClientCertificatePropertiesFormat. 4293 func (a ApplicationGatewayTrustedClientCertificatePropertiesFormat) MarshalJSON() ([]byte, error) { 4294 objectMap := make(map[string]any) 4295 populate(objectMap, "clientCertIssuerDN", a.ClientCertIssuerDN) 4296 populate(objectMap, "data", a.Data) 4297 populate(objectMap, "provisioningState", a.ProvisioningState) 4298 populate(objectMap, "validatedCertData", a.ValidatedCertData) 4299 return json.Marshal(objectMap) 4300 } 4301 4302 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayTrustedClientCertificatePropertiesFormat. 4303 func (a *ApplicationGatewayTrustedClientCertificatePropertiesFormat) UnmarshalJSON(data []byte) error { 4304 var rawMsg map[string]json.RawMessage 4305 if err := json.Unmarshal(data, &rawMsg); err != nil { 4306 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4307 } 4308 for key, val := range rawMsg { 4309 var err error 4310 switch key { 4311 case "clientCertIssuerDN": 4312 err = unpopulate(val, "ClientCertIssuerDN", &a.ClientCertIssuerDN) 4313 delete(rawMsg, key) 4314 case "data": 4315 err = unpopulate(val, "Data", &a.Data) 4316 delete(rawMsg, key) 4317 case "provisioningState": 4318 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4319 delete(rawMsg, key) 4320 case "validatedCertData": 4321 err = unpopulate(val, "ValidatedCertData", &a.ValidatedCertData) 4322 delete(rawMsg, key) 4323 } 4324 if err != nil { 4325 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4326 } 4327 } 4328 return nil 4329 } 4330 4331 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedRootCertificate. 4332 func (a ApplicationGatewayTrustedRootCertificate) MarshalJSON() ([]byte, error) { 4333 objectMap := make(map[string]any) 4334 populate(objectMap, "etag", a.Etag) 4335 populate(objectMap, "id", a.ID) 4336 populate(objectMap, "name", a.Name) 4337 populate(objectMap, "properties", a.Properties) 4338 populate(objectMap, "type", a.Type) 4339 return json.Marshal(objectMap) 4340 } 4341 4342 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayTrustedRootCertificate. 4343 func (a *ApplicationGatewayTrustedRootCertificate) UnmarshalJSON(data []byte) error { 4344 var rawMsg map[string]json.RawMessage 4345 if err := json.Unmarshal(data, &rawMsg); err != nil { 4346 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4347 } 4348 for key, val := range rawMsg { 4349 var err error 4350 switch key { 4351 case "etag": 4352 err = unpopulate(val, "Etag", &a.Etag) 4353 delete(rawMsg, key) 4354 case "id": 4355 err = unpopulate(val, "ID", &a.ID) 4356 delete(rawMsg, key) 4357 case "name": 4358 err = unpopulate(val, "Name", &a.Name) 4359 delete(rawMsg, key) 4360 case "properties": 4361 err = unpopulate(val, "Properties", &a.Properties) 4362 delete(rawMsg, key) 4363 case "type": 4364 err = unpopulate(val, "Type", &a.Type) 4365 delete(rawMsg, key) 4366 } 4367 if err != nil { 4368 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4369 } 4370 } 4371 return nil 4372 } 4373 4374 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayTrustedRootCertificatePropertiesFormat. 4375 func (a ApplicationGatewayTrustedRootCertificatePropertiesFormat) MarshalJSON() ([]byte, error) { 4376 objectMap := make(map[string]any) 4377 populate(objectMap, "data", a.Data) 4378 populate(objectMap, "keyVaultSecretId", a.KeyVaultSecretID) 4379 populate(objectMap, "provisioningState", a.ProvisioningState) 4380 return json.Marshal(objectMap) 4381 } 4382 4383 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayTrustedRootCertificatePropertiesFormat. 4384 func (a *ApplicationGatewayTrustedRootCertificatePropertiesFormat) UnmarshalJSON(data []byte) error { 4385 var rawMsg map[string]json.RawMessage 4386 if err := json.Unmarshal(data, &rawMsg); err != nil { 4387 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4388 } 4389 for key, val := range rawMsg { 4390 var err error 4391 switch key { 4392 case "data": 4393 err = unpopulate(val, "Data", &a.Data) 4394 delete(rawMsg, key) 4395 case "keyVaultSecretId": 4396 err = unpopulate(val, "KeyVaultSecretID", &a.KeyVaultSecretID) 4397 delete(rawMsg, key) 4398 case "provisioningState": 4399 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4400 delete(rawMsg, key) 4401 } 4402 if err != nil { 4403 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4404 } 4405 } 4406 return nil 4407 } 4408 4409 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLConfiguration. 4410 func (a ApplicationGatewayURLConfiguration) MarshalJSON() ([]byte, error) { 4411 objectMap := make(map[string]any) 4412 populate(objectMap, "modifiedPath", a.ModifiedPath) 4413 populate(objectMap, "modifiedQueryString", a.ModifiedQueryString) 4414 populate(objectMap, "reroute", a.Reroute) 4415 return json.Marshal(objectMap) 4416 } 4417 4418 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayURLConfiguration. 4419 func (a *ApplicationGatewayURLConfiguration) UnmarshalJSON(data []byte) error { 4420 var rawMsg map[string]json.RawMessage 4421 if err := json.Unmarshal(data, &rawMsg); err != nil { 4422 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4423 } 4424 for key, val := range rawMsg { 4425 var err error 4426 switch key { 4427 case "modifiedPath": 4428 err = unpopulate(val, "ModifiedPath", &a.ModifiedPath) 4429 delete(rawMsg, key) 4430 case "modifiedQueryString": 4431 err = unpopulate(val, "ModifiedQueryString", &a.ModifiedQueryString) 4432 delete(rawMsg, key) 4433 case "reroute": 4434 err = unpopulate(val, "Reroute", &a.Reroute) 4435 delete(rawMsg, key) 4436 } 4437 if err != nil { 4438 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4439 } 4440 } 4441 return nil 4442 } 4443 4444 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLPathMap. 4445 func (a ApplicationGatewayURLPathMap) MarshalJSON() ([]byte, error) { 4446 objectMap := make(map[string]any) 4447 populate(objectMap, "etag", a.Etag) 4448 populate(objectMap, "id", a.ID) 4449 populate(objectMap, "name", a.Name) 4450 populate(objectMap, "properties", a.Properties) 4451 populate(objectMap, "type", a.Type) 4452 return json.Marshal(objectMap) 4453 } 4454 4455 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayURLPathMap. 4456 func (a *ApplicationGatewayURLPathMap) UnmarshalJSON(data []byte) error { 4457 var rawMsg map[string]json.RawMessage 4458 if err := json.Unmarshal(data, &rawMsg); err != nil { 4459 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4460 } 4461 for key, val := range rawMsg { 4462 var err error 4463 switch key { 4464 case "etag": 4465 err = unpopulate(val, "Etag", &a.Etag) 4466 delete(rawMsg, key) 4467 case "id": 4468 err = unpopulate(val, "ID", &a.ID) 4469 delete(rawMsg, key) 4470 case "name": 4471 err = unpopulate(val, "Name", &a.Name) 4472 delete(rawMsg, key) 4473 case "properties": 4474 err = unpopulate(val, "Properties", &a.Properties) 4475 delete(rawMsg, key) 4476 case "type": 4477 err = unpopulate(val, "Type", &a.Type) 4478 delete(rawMsg, key) 4479 } 4480 if err != nil { 4481 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4482 } 4483 } 4484 return nil 4485 } 4486 4487 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayURLPathMapPropertiesFormat. 4488 func (a ApplicationGatewayURLPathMapPropertiesFormat) MarshalJSON() ([]byte, error) { 4489 objectMap := make(map[string]any) 4490 populate(objectMap, "defaultBackendAddressPool", a.DefaultBackendAddressPool) 4491 populate(objectMap, "defaultBackendHttpSettings", a.DefaultBackendHTTPSettings) 4492 populate(objectMap, "defaultLoadDistributionPolicy", a.DefaultLoadDistributionPolicy) 4493 populate(objectMap, "defaultRedirectConfiguration", a.DefaultRedirectConfiguration) 4494 populate(objectMap, "defaultRewriteRuleSet", a.DefaultRewriteRuleSet) 4495 populate(objectMap, "pathRules", a.PathRules) 4496 populate(objectMap, "provisioningState", a.ProvisioningState) 4497 return json.Marshal(objectMap) 4498 } 4499 4500 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayURLPathMapPropertiesFormat. 4501 func (a *ApplicationGatewayURLPathMapPropertiesFormat) UnmarshalJSON(data []byte) error { 4502 var rawMsg map[string]json.RawMessage 4503 if err := json.Unmarshal(data, &rawMsg); err != nil { 4504 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4505 } 4506 for key, val := range rawMsg { 4507 var err error 4508 switch key { 4509 case "defaultBackendAddressPool": 4510 err = unpopulate(val, "DefaultBackendAddressPool", &a.DefaultBackendAddressPool) 4511 delete(rawMsg, key) 4512 case "defaultBackendHttpSettings": 4513 err = unpopulate(val, "DefaultBackendHTTPSettings", &a.DefaultBackendHTTPSettings) 4514 delete(rawMsg, key) 4515 case "defaultLoadDistributionPolicy": 4516 err = unpopulate(val, "DefaultLoadDistributionPolicy", &a.DefaultLoadDistributionPolicy) 4517 delete(rawMsg, key) 4518 case "defaultRedirectConfiguration": 4519 err = unpopulate(val, "DefaultRedirectConfiguration", &a.DefaultRedirectConfiguration) 4520 delete(rawMsg, key) 4521 case "defaultRewriteRuleSet": 4522 err = unpopulate(val, "DefaultRewriteRuleSet", &a.DefaultRewriteRuleSet) 4523 delete(rawMsg, key) 4524 case "pathRules": 4525 err = unpopulate(val, "PathRules", &a.PathRules) 4526 delete(rawMsg, key) 4527 case "provisioningState": 4528 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4529 delete(rawMsg, key) 4530 } 4531 if err != nil { 4532 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4533 } 4534 } 4535 return nil 4536 } 4537 4538 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayWafDynamicManifestPropertiesResult. 4539 func (a ApplicationGatewayWafDynamicManifestPropertiesResult) MarshalJSON() ([]byte, error) { 4540 objectMap := make(map[string]any) 4541 populate(objectMap, "availableRuleSets", a.AvailableRuleSets) 4542 populate(objectMap, "defaultRuleSet", a.DefaultRuleSet) 4543 return json.Marshal(objectMap) 4544 } 4545 4546 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayWafDynamicManifestPropertiesResult. 4547 func (a *ApplicationGatewayWafDynamicManifestPropertiesResult) UnmarshalJSON(data []byte) error { 4548 var rawMsg map[string]json.RawMessage 4549 if err := json.Unmarshal(data, &rawMsg); err != nil { 4550 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4551 } 4552 for key, val := range rawMsg { 4553 var err error 4554 switch key { 4555 case "availableRuleSets": 4556 err = unpopulate(val, "AvailableRuleSets", &a.AvailableRuleSets) 4557 delete(rawMsg, key) 4558 case "defaultRuleSet": 4559 err = unpopulate(val, "DefaultRuleSet", &a.DefaultRuleSet) 4560 delete(rawMsg, key) 4561 } 4562 if err != nil { 4563 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4564 } 4565 } 4566 return nil 4567 } 4568 4569 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayWafDynamicManifestResult. 4570 func (a ApplicationGatewayWafDynamicManifestResult) MarshalJSON() ([]byte, error) { 4571 objectMap := make(map[string]any) 4572 populate(objectMap, "id", a.ID) 4573 populate(objectMap, "name", a.Name) 4574 populate(objectMap, "properties", a.Properties) 4575 populate(objectMap, "type", a.Type) 4576 return json.Marshal(objectMap) 4577 } 4578 4579 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayWafDynamicManifestResult. 4580 func (a *ApplicationGatewayWafDynamicManifestResult) UnmarshalJSON(data []byte) error { 4581 var rawMsg map[string]json.RawMessage 4582 if err := json.Unmarshal(data, &rawMsg); err != nil { 4583 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4584 } 4585 for key, val := range rawMsg { 4586 var err error 4587 switch key { 4588 case "id": 4589 err = unpopulate(val, "ID", &a.ID) 4590 delete(rawMsg, key) 4591 case "name": 4592 err = unpopulate(val, "Name", &a.Name) 4593 delete(rawMsg, key) 4594 case "properties": 4595 err = unpopulate(val, "Properties", &a.Properties) 4596 delete(rawMsg, key) 4597 case "type": 4598 err = unpopulate(val, "Type", &a.Type) 4599 delete(rawMsg, key) 4600 } 4601 if err != nil { 4602 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4603 } 4604 } 4605 return nil 4606 } 4607 4608 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayWafDynamicManifestResultList. 4609 func (a ApplicationGatewayWafDynamicManifestResultList) MarshalJSON() ([]byte, error) { 4610 objectMap := make(map[string]any) 4611 populate(objectMap, "nextLink", a.NextLink) 4612 populate(objectMap, "value", a.Value) 4613 return json.Marshal(objectMap) 4614 } 4615 4616 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayWafDynamicManifestResultList. 4617 func (a *ApplicationGatewayWafDynamicManifestResultList) UnmarshalJSON(data []byte) error { 4618 var rawMsg map[string]json.RawMessage 4619 if err := json.Unmarshal(data, &rawMsg); err != nil { 4620 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4621 } 4622 for key, val := range rawMsg { 4623 var err error 4624 switch key { 4625 case "nextLink": 4626 err = unpopulate(val, "NextLink", &a.NextLink) 4627 delete(rawMsg, key) 4628 case "value": 4629 err = unpopulate(val, "Value", &a.Value) 4630 delete(rawMsg, key) 4631 } 4632 if err != nil { 4633 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4634 } 4635 } 4636 return nil 4637 } 4638 4639 // MarshalJSON implements the json.Marshaller interface for type ApplicationGatewayWebApplicationFirewallConfiguration. 4640 func (a ApplicationGatewayWebApplicationFirewallConfiguration) MarshalJSON() ([]byte, error) { 4641 objectMap := make(map[string]any) 4642 populate(objectMap, "disabledRuleGroups", a.DisabledRuleGroups) 4643 populate(objectMap, "enabled", a.Enabled) 4644 populate(objectMap, "exclusions", a.Exclusions) 4645 populate(objectMap, "fileUploadLimitInMb", a.FileUploadLimitInMb) 4646 populate(objectMap, "firewallMode", a.FirewallMode) 4647 populate(objectMap, "maxRequestBodySize", a.MaxRequestBodySize) 4648 populate(objectMap, "maxRequestBodySizeInKb", a.MaxRequestBodySizeInKb) 4649 populate(objectMap, "requestBodyCheck", a.RequestBodyCheck) 4650 populate(objectMap, "ruleSetType", a.RuleSetType) 4651 populate(objectMap, "ruleSetVersion", a.RuleSetVersion) 4652 return json.Marshal(objectMap) 4653 } 4654 4655 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationGatewayWebApplicationFirewallConfiguration. 4656 func (a *ApplicationGatewayWebApplicationFirewallConfiguration) UnmarshalJSON(data []byte) error { 4657 var rawMsg map[string]json.RawMessage 4658 if err := json.Unmarshal(data, &rawMsg); err != nil { 4659 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4660 } 4661 for key, val := range rawMsg { 4662 var err error 4663 switch key { 4664 case "disabledRuleGroups": 4665 err = unpopulate(val, "DisabledRuleGroups", &a.DisabledRuleGroups) 4666 delete(rawMsg, key) 4667 case "enabled": 4668 err = unpopulate(val, "Enabled", &a.Enabled) 4669 delete(rawMsg, key) 4670 case "exclusions": 4671 err = unpopulate(val, "Exclusions", &a.Exclusions) 4672 delete(rawMsg, key) 4673 case "fileUploadLimitInMb": 4674 err = unpopulate(val, "FileUploadLimitInMb", &a.FileUploadLimitInMb) 4675 delete(rawMsg, key) 4676 case "firewallMode": 4677 err = unpopulate(val, "FirewallMode", &a.FirewallMode) 4678 delete(rawMsg, key) 4679 case "maxRequestBodySize": 4680 err = unpopulate(val, "MaxRequestBodySize", &a.MaxRequestBodySize) 4681 delete(rawMsg, key) 4682 case "maxRequestBodySizeInKb": 4683 err = unpopulate(val, "MaxRequestBodySizeInKb", &a.MaxRequestBodySizeInKb) 4684 delete(rawMsg, key) 4685 case "requestBodyCheck": 4686 err = unpopulate(val, "RequestBodyCheck", &a.RequestBodyCheck) 4687 delete(rawMsg, key) 4688 case "ruleSetType": 4689 err = unpopulate(val, "RuleSetType", &a.RuleSetType) 4690 delete(rawMsg, key) 4691 case "ruleSetVersion": 4692 err = unpopulate(val, "RuleSetVersion", &a.RuleSetVersion) 4693 delete(rawMsg, key) 4694 } 4695 if err != nil { 4696 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4697 } 4698 } 4699 return nil 4700 } 4701 4702 // MarshalJSON implements the json.Marshaller interface for type ApplicationRule. 4703 func (a ApplicationRule) MarshalJSON() ([]byte, error) { 4704 objectMap := make(map[string]any) 4705 populate(objectMap, "description", a.Description) 4706 populate(objectMap, "destinationAddresses", a.DestinationAddresses) 4707 populate(objectMap, "fqdnTags", a.FqdnTags) 4708 populate(objectMap, "httpHeadersToInsert", a.HTTPHeadersToInsert) 4709 populate(objectMap, "name", a.Name) 4710 populate(objectMap, "protocols", a.Protocols) 4711 objectMap["ruleType"] = FirewallPolicyRuleTypeApplicationRule 4712 populate(objectMap, "sourceAddresses", a.SourceAddresses) 4713 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 4714 populate(objectMap, "targetFqdns", a.TargetFqdns) 4715 populate(objectMap, "targetUrls", a.TargetUrls) 4716 populate(objectMap, "terminateTLS", a.TerminateTLS) 4717 populate(objectMap, "webCategories", a.WebCategories) 4718 return json.Marshal(objectMap) 4719 } 4720 4721 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationRule. 4722 func (a *ApplicationRule) UnmarshalJSON(data []byte) error { 4723 var rawMsg map[string]json.RawMessage 4724 if err := json.Unmarshal(data, &rawMsg); err != nil { 4725 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4726 } 4727 for key, val := range rawMsg { 4728 var err error 4729 switch key { 4730 case "description": 4731 err = unpopulate(val, "Description", &a.Description) 4732 delete(rawMsg, key) 4733 case "destinationAddresses": 4734 err = unpopulate(val, "DestinationAddresses", &a.DestinationAddresses) 4735 delete(rawMsg, key) 4736 case "fqdnTags": 4737 err = unpopulate(val, "FqdnTags", &a.FqdnTags) 4738 delete(rawMsg, key) 4739 case "httpHeadersToInsert": 4740 err = unpopulate(val, "HTTPHeadersToInsert", &a.HTTPHeadersToInsert) 4741 delete(rawMsg, key) 4742 case "name": 4743 err = unpopulate(val, "Name", &a.Name) 4744 delete(rawMsg, key) 4745 case "protocols": 4746 err = unpopulate(val, "Protocols", &a.Protocols) 4747 delete(rawMsg, key) 4748 case "ruleType": 4749 err = unpopulate(val, "RuleType", &a.RuleType) 4750 delete(rawMsg, key) 4751 case "sourceAddresses": 4752 err = unpopulate(val, "SourceAddresses", &a.SourceAddresses) 4753 delete(rawMsg, key) 4754 case "sourceIpGroups": 4755 err = unpopulate(val, "SourceIPGroups", &a.SourceIPGroups) 4756 delete(rawMsg, key) 4757 case "targetFqdns": 4758 err = unpopulate(val, "TargetFqdns", &a.TargetFqdns) 4759 delete(rawMsg, key) 4760 case "targetUrls": 4761 err = unpopulate(val, "TargetUrls", &a.TargetUrls) 4762 delete(rawMsg, key) 4763 case "terminateTLS": 4764 err = unpopulate(val, "TerminateTLS", &a.TerminateTLS) 4765 delete(rawMsg, key) 4766 case "webCategories": 4767 err = unpopulate(val, "WebCategories", &a.WebCategories) 4768 delete(rawMsg, key) 4769 } 4770 if err != nil { 4771 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4772 } 4773 } 4774 return nil 4775 } 4776 4777 // MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroup. 4778 func (a ApplicationSecurityGroup) MarshalJSON() ([]byte, error) { 4779 objectMap := make(map[string]any) 4780 populate(objectMap, "etag", a.Etag) 4781 populate(objectMap, "id", a.ID) 4782 populate(objectMap, "location", a.Location) 4783 populate(objectMap, "name", a.Name) 4784 populate(objectMap, "properties", a.Properties) 4785 populate(objectMap, "tags", a.Tags) 4786 populate(objectMap, "type", a.Type) 4787 return json.Marshal(objectMap) 4788 } 4789 4790 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationSecurityGroup. 4791 func (a *ApplicationSecurityGroup) UnmarshalJSON(data []byte) error { 4792 var rawMsg map[string]json.RawMessage 4793 if err := json.Unmarshal(data, &rawMsg); err != nil { 4794 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4795 } 4796 for key, val := range rawMsg { 4797 var err error 4798 switch key { 4799 case "etag": 4800 err = unpopulate(val, "Etag", &a.Etag) 4801 delete(rawMsg, key) 4802 case "id": 4803 err = unpopulate(val, "ID", &a.ID) 4804 delete(rawMsg, key) 4805 case "location": 4806 err = unpopulate(val, "Location", &a.Location) 4807 delete(rawMsg, key) 4808 case "name": 4809 err = unpopulate(val, "Name", &a.Name) 4810 delete(rawMsg, key) 4811 case "properties": 4812 err = unpopulate(val, "Properties", &a.Properties) 4813 delete(rawMsg, key) 4814 case "tags": 4815 err = unpopulate(val, "Tags", &a.Tags) 4816 delete(rawMsg, key) 4817 case "type": 4818 err = unpopulate(val, "Type", &a.Type) 4819 delete(rawMsg, key) 4820 } 4821 if err != nil { 4822 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4823 } 4824 } 4825 return nil 4826 } 4827 4828 // MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroupListResult. 4829 func (a ApplicationSecurityGroupListResult) MarshalJSON() ([]byte, error) { 4830 objectMap := make(map[string]any) 4831 populate(objectMap, "nextLink", a.NextLink) 4832 populate(objectMap, "value", a.Value) 4833 return json.Marshal(objectMap) 4834 } 4835 4836 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationSecurityGroupListResult. 4837 func (a *ApplicationSecurityGroupListResult) UnmarshalJSON(data []byte) error { 4838 var rawMsg map[string]json.RawMessage 4839 if err := json.Unmarshal(data, &rawMsg); err != nil { 4840 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4841 } 4842 for key, val := range rawMsg { 4843 var err error 4844 switch key { 4845 case "nextLink": 4846 err = unpopulate(val, "NextLink", &a.NextLink) 4847 delete(rawMsg, key) 4848 case "value": 4849 err = unpopulate(val, "Value", &a.Value) 4850 delete(rawMsg, key) 4851 } 4852 if err != nil { 4853 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4854 } 4855 } 4856 return nil 4857 } 4858 4859 // MarshalJSON implements the json.Marshaller interface for type ApplicationSecurityGroupPropertiesFormat. 4860 func (a ApplicationSecurityGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 4861 objectMap := make(map[string]any) 4862 populate(objectMap, "provisioningState", a.ProvisioningState) 4863 populate(objectMap, "resourceGuid", a.ResourceGUID) 4864 return json.Marshal(objectMap) 4865 } 4866 4867 // UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationSecurityGroupPropertiesFormat. 4868 func (a *ApplicationSecurityGroupPropertiesFormat) UnmarshalJSON(data []byte) error { 4869 var rawMsg map[string]json.RawMessage 4870 if err := json.Unmarshal(data, &rawMsg); err != nil { 4871 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4872 } 4873 for key, val := range rawMsg { 4874 var err error 4875 switch key { 4876 case "provisioningState": 4877 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4878 delete(rawMsg, key) 4879 case "resourceGuid": 4880 err = unpopulate(val, "ResourceGUID", &a.ResourceGUID) 4881 delete(rawMsg, key) 4882 } 4883 if err != nil { 4884 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4885 } 4886 } 4887 return nil 4888 } 4889 4890 // MarshalJSON implements the json.Marshaller interface for type AuthorizationListResult. 4891 func (a AuthorizationListResult) MarshalJSON() ([]byte, error) { 4892 objectMap := make(map[string]any) 4893 populate(objectMap, "nextLink", a.NextLink) 4894 populate(objectMap, "value", a.Value) 4895 return json.Marshal(objectMap) 4896 } 4897 4898 // UnmarshalJSON implements the json.Unmarshaller interface for type AuthorizationListResult. 4899 func (a *AuthorizationListResult) UnmarshalJSON(data []byte) error { 4900 var rawMsg map[string]json.RawMessage 4901 if err := json.Unmarshal(data, &rawMsg); err != nil { 4902 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4903 } 4904 for key, val := range rawMsg { 4905 var err error 4906 switch key { 4907 case "nextLink": 4908 err = unpopulate(val, "NextLink", &a.NextLink) 4909 delete(rawMsg, key) 4910 case "value": 4911 err = unpopulate(val, "Value", &a.Value) 4912 delete(rawMsg, key) 4913 } 4914 if err != nil { 4915 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4916 } 4917 } 4918 return nil 4919 } 4920 4921 // MarshalJSON implements the json.Marshaller interface for type AuthorizationPropertiesFormat. 4922 func (a AuthorizationPropertiesFormat) MarshalJSON() ([]byte, error) { 4923 objectMap := make(map[string]any) 4924 populate(objectMap, "authorizationKey", a.AuthorizationKey) 4925 populate(objectMap, "authorizationUseStatus", a.AuthorizationUseStatus) 4926 populate(objectMap, "connectionResourceUri", a.ConnectionResourceURI) 4927 populate(objectMap, "provisioningState", a.ProvisioningState) 4928 return json.Marshal(objectMap) 4929 } 4930 4931 // UnmarshalJSON implements the json.Unmarshaller interface for type AuthorizationPropertiesFormat. 4932 func (a *AuthorizationPropertiesFormat) UnmarshalJSON(data []byte) error { 4933 var rawMsg map[string]json.RawMessage 4934 if err := json.Unmarshal(data, &rawMsg); err != nil { 4935 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4936 } 4937 for key, val := range rawMsg { 4938 var err error 4939 switch key { 4940 case "authorizationKey": 4941 err = unpopulate(val, "AuthorizationKey", &a.AuthorizationKey) 4942 delete(rawMsg, key) 4943 case "authorizationUseStatus": 4944 err = unpopulate(val, "AuthorizationUseStatus", &a.AuthorizationUseStatus) 4945 delete(rawMsg, key) 4946 case "connectionResourceUri": 4947 err = unpopulate(val, "ConnectionResourceURI", &a.ConnectionResourceURI) 4948 delete(rawMsg, key) 4949 case "provisioningState": 4950 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 4951 delete(rawMsg, key) 4952 } 4953 if err != nil { 4954 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4955 } 4956 } 4957 return nil 4958 } 4959 4960 // MarshalJSON implements the json.Marshaller interface for type AutoApprovedPrivateLinkService. 4961 func (a AutoApprovedPrivateLinkService) MarshalJSON() ([]byte, error) { 4962 objectMap := make(map[string]any) 4963 populate(objectMap, "privateLinkService", a.PrivateLinkService) 4964 return json.Marshal(objectMap) 4965 } 4966 4967 // UnmarshalJSON implements the json.Unmarshaller interface for type AutoApprovedPrivateLinkService. 4968 func (a *AutoApprovedPrivateLinkService) UnmarshalJSON(data []byte) error { 4969 var rawMsg map[string]json.RawMessage 4970 if err := json.Unmarshal(data, &rawMsg); err != nil { 4971 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4972 } 4973 for key, val := range rawMsg { 4974 var err error 4975 switch key { 4976 case "privateLinkService": 4977 err = unpopulate(val, "PrivateLinkService", &a.PrivateLinkService) 4978 delete(rawMsg, key) 4979 } 4980 if err != nil { 4981 return fmt.Errorf("unmarshalling type %T: %v", a, err) 4982 } 4983 } 4984 return nil 4985 } 4986 4987 // MarshalJSON implements the json.Marshaller interface for type AutoApprovedPrivateLinkServicesResult. 4988 func (a AutoApprovedPrivateLinkServicesResult) MarshalJSON() ([]byte, error) { 4989 objectMap := make(map[string]any) 4990 populate(objectMap, "nextLink", a.NextLink) 4991 populate(objectMap, "value", a.Value) 4992 return json.Marshal(objectMap) 4993 } 4994 4995 // UnmarshalJSON implements the json.Unmarshaller interface for type AutoApprovedPrivateLinkServicesResult. 4996 func (a *AutoApprovedPrivateLinkServicesResult) UnmarshalJSON(data []byte) error { 4997 var rawMsg map[string]json.RawMessage 4998 if err := json.Unmarshal(data, &rawMsg); err != nil { 4999 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5000 } 5001 for key, val := range rawMsg { 5002 var err error 5003 switch key { 5004 case "nextLink": 5005 err = unpopulate(val, "NextLink", &a.NextLink) 5006 delete(rawMsg, key) 5007 case "value": 5008 err = unpopulate(val, "Value", &a.Value) 5009 delete(rawMsg, key) 5010 } 5011 if err != nil { 5012 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5013 } 5014 } 5015 return nil 5016 } 5017 5018 // MarshalJSON implements the json.Marshaller interface for type Availability. 5019 func (a Availability) MarshalJSON() ([]byte, error) { 5020 objectMap := make(map[string]any) 5021 populate(objectMap, "blobDuration", a.BlobDuration) 5022 populate(objectMap, "retention", a.Retention) 5023 populate(objectMap, "timeGrain", a.TimeGrain) 5024 return json.Marshal(objectMap) 5025 } 5026 5027 // UnmarshalJSON implements the json.Unmarshaller interface for type Availability. 5028 func (a *Availability) UnmarshalJSON(data []byte) error { 5029 var rawMsg map[string]json.RawMessage 5030 if err := json.Unmarshal(data, &rawMsg); err != nil { 5031 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5032 } 5033 for key, val := range rawMsg { 5034 var err error 5035 switch key { 5036 case "blobDuration": 5037 err = unpopulate(val, "BlobDuration", &a.BlobDuration) 5038 delete(rawMsg, key) 5039 case "retention": 5040 err = unpopulate(val, "Retention", &a.Retention) 5041 delete(rawMsg, key) 5042 case "timeGrain": 5043 err = unpopulate(val, "TimeGrain", &a.TimeGrain) 5044 delete(rawMsg, key) 5045 } 5046 if err != nil { 5047 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5048 } 5049 } 5050 return nil 5051 } 5052 5053 // MarshalJSON implements the json.Marshaller interface for type AvailableDelegation. 5054 func (a AvailableDelegation) MarshalJSON() ([]byte, error) { 5055 objectMap := make(map[string]any) 5056 populate(objectMap, "actions", a.Actions) 5057 populate(objectMap, "id", a.ID) 5058 populate(objectMap, "name", a.Name) 5059 populate(objectMap, "serviceName", a.ServiceName) 5060 populate(objectMap, "type", a.Type) 5061 return json.Marshal(objectMap) 5062 } 5063 5064 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableDelegation. 5065 func (a *AvailableDelegation) UnmarshalJSON(data []byte) error { 5066 var rawMsg map[string]json.RawMessage 5067 if err := json.Unmarshal(data, &rawMsg); err != nil { 5068 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5069 } 5070 for key, val := range rawMsg { 5071 var err error 5072 switch key { 5073 case "actions": 5074 err = unpopulate(val, "Actions", &a.Actions) 5075 delete(rawMsg, key) 5076 case "id": 5077 err = unpopulate(val, "ID", &a.ID) 5078 delete(rawMsg, key) 5079 case "name": 5080 err = unpopulate(val, "Name", &a.Name) 5081 delete(rawMsg, key) 5082 case "serviceName": 5083 err = unpopulate(val, "ServiceName", &a.ServiceName) 5084 delete(rawMsg, key) 5085 case "type": 5086 err = unpopulate(val, "Type", &a.Type) 5087 delete(rawMsg, key) 5088 } 5089 if err != nil { 5090 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5091 } 5092 } 5093 return nil 5094 } 5095 5096 // MarshalJSON implements the json.Marshaller interface for type AvailableDelegationsResult. 5097 func (a AvailableDelegationsResult) MarshalJSON() ([]byte, error) { 5098 objectMap := make(map[string]any) 5099 populate(objectMap, "nextLink", a.NextLink) 5100 populate(objectMap, "value", a.Value) 5101 return json.Marshal(objectMap) 5102 } 5103 5104 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableDelegationsResult. 5105 func (a *AvailableDelegationsResult) UnmarshalJSON(data []byte) error { 5106 var rawMsg map[string]json.RawMessage 5107 if err := json.Unmarshal(data, &rawMsg); err != nil { 5108 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5109 } 5110 for key, val := range rawMsg { 5111 var err error 5112 switch key { 5113 case "nextLink": 5114 err = unpopulate(val, "NextLink", &a.NextLink) 5115 delete(rawMsg, key) 5116 case "value": 5117 err = unpopulate(val, "Value", &a.Value) 5118 delete(rawMsg, key) 5119 } 5120 if err != nil { 5121 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5122 } 5123 } 5124 return nil 5125 } 5126 5127 // MarshalJSON implements the json.Marshaller interface for type AvailablePrivateEndpointType. 5128 func (a AvailablePrivateEndpointType) MarshalJSON() ([]byte, error) { 5129 objectMap := make(map[string]any) 5130 populate(objectMap, "displayName", a.DisplayName) 5131 populate(objectMap, "id", a.ID) 5132 populate(objectMap, "name", a.Name) 5133 populate(objectMap, "resourceName", a.ResourceName) 5134 populate(objectMap, "type", a.Type) 5135 return json.Marshal(objectMap) 5136 } 5137 5138 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailablePrivateEndpointType. 5139 func (a *AvailablePrivateEndpointType) UnmarshalJSON(data []byte) error { 5140 var rawMsg map[string]json.RawMessage 5141 if err := json.Unmarshal(data, &rawMsg); err != nil { 5142 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5143 } 5144 for key, val := range rawMsg { 5145 var err error 5146 switch key { 5147 case "displayName": 5148 err = unpopulate(val, "DisplayName", &a.DisplayName) 5149 delete(rawMsg, key) 5150 case "id": 5151 err = unpopulate(val, "ID", &a.ID) 5152 delete(rawMsg, key) 5153 case "name": 5154 err = unpopulate(val, "Name", &a.Name) 5155 delete(rawMsg, key) 5156 case "resourceName": 5157 err = unpopulate(val, "ResourceName", &a.ResourceName) 5158 delete(rawMsg, key) 5159 case "type": 5160 err = unpopulate(val, "Type", &a.Type) 5161 delete(rawMsg, key) 5162 } 5163 if err != nil { 5164 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5165 } 5166 } 5167 return nil 5168 } 5169 5170 // MarshalJSON implements the json.Marshaller interface for type AvailablePrivateEndpointTypesResult. 5171 func (a AvailablePrivateEndpointTypesResult) MarshalJSON() ([]byte, error) { 5172 objectMap := make(map[string]any) 5173 populate(objectMap, "nextLink", a.NextLink) 5174 populate(objectMap, "value", a.Value) 5175 return json.Marshal(objectMap) 5176 } 5177 5178 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailablePrivateEndpointTypesResult. 5179 func (a *AvailablePrivateEndpointTypesResult) UnmarshalJSON(data []byte) error { 5180 var rawMsg map[string]json.RawMessage 5181 if err := json.Unmarshal(data, &rawMsg); err != nil { 5182 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5183 } 5184 for key, val := range rawMsg { 5185 var err error 5186 switch key { 5187 case "nextLink": 5188 err = unpopulate(val, "NextLink", &a.NextLink) 5189 delete(rawMsg, key) 5190 case "value": 5191 err = unpopulate(val, "Value", &a.Value) 5192 delete(rawMsg, key) 5193 } 5194 if err != nil { 5195 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5196 } 5197 } 5198 return nil 5199 } 5200 5201 // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersList. 5202 func (a AvailableProvidersList) MarshalJSON() ([]byte, error) { 5203 objectMap := make(map[string]any) 5204 populate(objectMap, "countries", a.Countries) 5205 return json.Marshal(objectMap) 5206 } 5207 5208 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableProvidersList. 5209 func (a *AvailableProvidersList) UnmarshalJSON(data []byte) error { 5210 var rawMsg map[string]json.RawMessage 5211 if err := json.Unmarshal(data, &rawMsg); err != nil { 5212 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5213 } 5214 for key, val := range rawMsg { 5215 var err error 5216 switch key { 5217 case "countries": 5218 err = unpopulate(val, "Countries", &a.Countries) 5219 delete(rawMsg, key) 5220 } 5221 if err != nil { 5222 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5223 } 5224 } 5225 return nil 5226 } 5227 5228 // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListCity. 5229 func (a AvailableProvidersListCity) MarshalJSON() ([]byte, error) { 5230 objectMap := make(map[string]any) 5231 populate(objectMap, "cityName", a.CityName) 5232 populate(objectMap, "providers", a.Providers) 5233 return json.Marshal(objectMap) 5234 } 5235 5236 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableProvidersListCity. 5237 func (a *AvailableProvidersListCity) UnmarshalJSON(data []byte) error { 5238 var rawMsg map[string]json.RawMessage 5239 if err := json.Unmarshal(data, &rawMsg); err != nil { 5240 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5241 } 5242 for key, val := range rawMsg { 5243 var err error 5244 switch key { 5245 case "cityName": 5246 err = unpopulate(val, "CityName", &a.CityName) 5247 delete(rawMsg, key) 5248 case "providers": 5249 err = unpopulate(val, "Providers", &a.Providers) 5250 delete(rawMsg, key) 5251 } 5252 if err != nil { 5253 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5254 } 5255 } 5256 return nil 5257 } 5258 5259 // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListCountry. 5260 func (a AvailableProvidersListCountry) MarshalJSON() ([]byte, error) { 5261 objectMap := make(map[string]any) 5262 populate(objectMap, "countryName", a.CountryName) 5263 populate(objectMap, "providers", a.Providers) 5264 populate(objectMap, "states", a.States) 5265 return json.Marshal(objectMap) 5266 } 5267 5268 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableProvidersListCountry. 5269 func (a *AvailableProvidersListCountry) UnmarshalJSON(data []byte) error { 5270 var rawMsg map[string]json.RawMessage 5271 if err := json.Unmarshal(data, &rawMsg); err != nil { 5272 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5273 } 5274 for key, val := range rawMsg { 5275 var err error 5276 switch key { 5277 case "countryName": 5278 err = unpopulate(val, "CountryName", &a.CountryName) 5279 delete(rawMsg, key) 5280 case "providers": 5281 err = unpopulate(val, "Providers", &a.Providers) 5282 delete(rawMsg, key) 5283 case "states": 5284 err = unpopulate(val, "States", &a.States) 5285 delete(rawMsg, key) 5286 } 5287 if err != nil { 5288 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5289 } 5290 } 5291 return nil 5292 } 5293 5294 // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListParameters. 5295 func (a AvailableProvidersListParameters) MarshalJSON() ([]byte, error) { 5296 objectMap := make(map[string]any) 5297 populate(objectMap, "azureLocations", a.AzureLocations) 5298 populate(objectMap, "city", a.City) 5299 populate(objectMap, "country", a.Country) 5300 populate(objectMap, "state", a.State) 5301 return json.Marshal(objectMap) 5302 } 5303 5304 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableProvidersListParameters. 5305 func (a *AvailableProvidersListParameters) UnmarshalJSON(data []byte) error { 5306 var rawMsg map[string]json.RawMessage 5307 if err := json.Unmarshal(data, &rawMsg); err != nil { 5308 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5309 } 5310 for key, val := range rawMsg { 5311 var err error 5312 switch key { 5313 case "azureLocations": 5314 err = unpopulate(val, "AzureLocations", &a.AzureLocations) 5315 delete(rawMsg, key) 5316 case "city": 5317 err = unpopulate(val, "City", &a.City) 5318 delete(rawMsg, key) 5319 case "country": 5320 err = unpopulate(val, "Country", &a.Country) 5321 delete(rawMsg, key) 5322 case "state": 5323 err = unpopulate(val, "State", &a.State) 5324 delete(rawMsg, key) 5325 } 5326 if err != nil { 5327 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5328 } 5329 } 5330 return nil 5331 } 5332 5333 // MarshalJSON implements the json.Marshaller interface for type AvailableProvidersListState. 5334 func (a AvailableProvidersListState) MarshalJSON() ([]byte, error) { 5335 objectMap := make(map[string]any) 5336 populate(objectMap, "cities", a.Cities) 5337 populate(objectMap, "providers", a.Providers) 5338 populate(objectMap, "stateName", a.StateName) 5339 return json.Marshal(objectMap) 5340 } 5341 5342 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableProvidersListState. 5343 func (a *AvailableProvidersListState) UnmarshalJSON(data []byte) error { 5344 var rawMsg map[string]json.RawMessage 5345 if err := json.Unmarshal(data, &rawMsg); err != nil { 5346 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5347 } 5348 for key, val := range rawMsg { 5349 var err error 5350 switch key { 5351 case "cities": 5352 err = unpopulate(val, "Cities", &a.Cities) 5353 delete(rawMsg, key) 5354 case "providers": 5355 err = unpopulate(val, "Providers", &a.Providers) 5356 delete(rawMsg, key) 5357 case "stateName": 5358 err = unpopulate(val, "StateName", &a.StateName) 5359 delete(rawMsg, key) 5360 } 5361 if err != nil { 5362 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5363 } 5364 } 5365 return nil 5366 } 5367 5368 // MarshalJSON implements the json.Marshaller interface for type AvailableServiceAlias. 5369 func (a AvailableServiceAlias) MarshalJSON() ([]byte, error) { 5370 objectMap := make(map[string]any) 5371 populate(objectMap, "id", a.ID) 5372 populate(objectMap, "name", a.Name) 5373 populate(objectMap, "resourceName", a.ResourceName) 5374 populate(objectMap, "type", a.Type) 5375 return json.Marshal(objectMap) 5376 } 5377 5378 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableServiceAlias. 5379 func (a *AvailableServiceAlias) UnmarshalJSON(data []byte) error { 5380 var rawMsg map[string]json.RawMessage 5381 if err := json.Unmarshal(data, &rawMsg); err != nil { 5382 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5383 } 5384 for key, val := range rawMsg { 5385 var err error 5386 switch key { 5387 case "id": 5388 err = unpopulate(val, "ID", &a.ID) 5389 delete(rawMsg, key) 5390 case "name": 5391 err = unpopulate(val, "Name", &a.Name) 5392 delete(rawMsg, key) 5393 case "resourceName": 5394 err = unpopulate(val, "ResourceName", &a.ResourceName) 5395 delete(rawMsg, key) 5396 case "type": 5397 err = unpopulate(val, "Type", &a.Type) 5398 delete(rawMsg, key) 5399 } 5400 if err != nil { 5401 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5402 } 5403 } 5404 return nil 5405 } 5406 5407 // MarshalJSON implements the json.Marshaller interface for type AvailableServiceAliasesResult. 5408 func (a AvailableServiceAliasesResult) MarshalJSON() ([]byte, error) { 5409 objectMap := make(map[string]any) 5410 populate(objectMap, "nextLink", a.NextLink) 5411 populate(objectMap, "value", a.Value) 5412 return json.Marshal(objectMap) 5413 } 5414 5415 // UnmarshalJSON implements the json.Unmarshaller interface for type AvailableServiceAliasesResult. 5416 func (a *AvailableServiceAliasesResult) UnmarshalJSON(data []byte) error { 5417 var rawMsg map[string]json.RawMessage 5418 if err := json.Unmarshal(data, &rawMsg); err != nil { 5419 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5420 } 5421 for key, val := range rawMsg { 5422 var err error 5423 switch key { 5424 case "nextLink": 5425 err = unpopulate(val, "NextLink", &a.NextLink) 5426 delete(rawMsg, key) 5427 case "value": 5428 err = unpopulate(val, "Value", &a.Value) 5429 delete(rawMsg, key) 5430 } 5431 if err != nil { 5432 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5433 } 5434 } 5435 return nil 5436 } 5437 5438 // MarshalJSON implements the json.Marshaller interface for type AzureAsyncOperationResult. 5439 func (a AzureAsyncOperationResult) MarshalJSON() ([]byte, error) { 5440 objectMap := make(map[string]any) 5441 populate(objectMap, "error", a.Error) 5442 populate(objectMap, "status", a.Status) 5443 return json.Marshal(objectMap) 5444 } 5445 5446 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureAsyncOperationResult. 5447 func (a *AzureAsyncOperationResult) UnmarshalJSON(data []byte) error { 5448 var rawMsg map[string]json.RawMessage 5449 if err := json.Unmarshal(data, &rawMsg); err != nil { 5450 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5451 } 5452 for key, val := range rawMsg { 5453 var err error 5454 switch key { 5455 case "error": 5456 err = unpopulate(val, "Error", &a.Error) 5457 delete(rawMsg, key) 5458 case "status": 5459 err = unpopulate(val, "Status", &a.Status) 5460 delete(rawMsg, key) 5461 } 5462 if err != nil { 5463 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5464 } 5465 } 5466 return nil 5467 } 5468 5469 // MarshalJSON implements the json.Marshaller interface for type AzureFirewall. 5470 func (a AzureFirewall) MarshalJSON() ([]byte, error) { 5471 objectMap := make(map[string]any) 5472 populate(objectMap, "etag", a.Etag) 5473 populate(objectMap, "id", a.ID) 5474 populate(objectMap, "location", a.Location) 5475 populate(objectMap, "name", a.Name) 5476 populate(objectMap, "properties", a.Properties) 5477 populate(objectMap, "tags", a.Tags) 5478 populate(objectMap, "type", a.Type) 5479 populate(objectMap, "zones", a.Zones) 5480 return json.Marshal(objectMap) 5481 } 5482 5483 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewall. 5484 func (a *AzureFirewall) UnmarshalJSON(data []byte) error { 5485 var rawMsg map[string]json.RawMessage 5486 if err := json.Unmarshal(data, &rawMsg); err != nil { 5487 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5488 } 5489 for key, val := range rawMsg { 5490 var err error 5491 switch key { 5492 case "etag": 5493 err = unpopulate(val, "Etag", &a.Etag) 5494 delete(rawMsg, key) 5495 case "id": 5496 err = unpopulate(val, "ID", &a.ID) 5497 delete(rawMsg, key) 5498 case "location": 5499 err = unpopulate(val, "Location", &a.Location) 5500 delete(rawMsg, key) 5501 case "name": 5502 err = unpopulate(val, "Name", &a.Name) 5503 delete(rawMsg, key) 5504 case "properties": 5505 err = unpopulate(val, "Properties", &a.Properties) 5506 delete(rawMsg, key) 5507 case "tags": 5508 err = unpopulate(val, "Tags", &a.Tags) 5509 delete(rawMsg, key) 5510 case "type": 5511 err = unpopulate(val, "Type", &a.Type) 5512 delete(rawMsg, key) 5513 case "zones": 5514 err = unpopulate(val, "Zones", &a.Zones) 5515 delete(rawMsg, key) 5516 } 5517 if err != nil { 5518 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5519 } 5520 } 5521 return nil 5522 } 5523 5524 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRule. 5525 func (a AzureFirewallApplicationRule) MarshalJSON() ([]byte, error) { 5526 objectMap := make(map[string]any) 5527 populate(objectMap, "description", a.Description) 5528 populate(objectMap, "fqdnTags", a.FqdnTags) 5529 populate(objectMap, "name", a.Name) 5530 populate(objectMap, "protocols", a.Protocols) 5531 populate(objectMap, "sourceAddresses", a.SourceAddresses) 5532 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 5533 populate(objectMap, "targetFqdns", a.TargetFqdns) 5534 return json.Marshal(objectMap) 5535 } 5536 5537 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallApplicationRule. 5538 func (a *AzureFirewallApplicationRule) UnmarshalJSON(data []byte) error { 5539 var rawMsg map[string]json.RawMessage 5540 if err := json.Unmarshal(data, &rawMsg); err != nil { 5541 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5542 } 5543 for key, val := range rawMsg { 5544 var err error 5545 switch key { 5546 case "description": 5547 err = unpopulate(val, "Description", &a.Description) 5548 delete(rawMsg, key) 5549 case "fqdnTags": 5550 err = unpopulate(val, "FqdnTags", &a.FqdnTags) 5551 delete(rawMsg, key) 5552 case "name": 5553 err = unpopulate(val, "Name", &a.Name) 5554 delete(rawMsg, key) 5555 case "protocols": 5556 err = unpopulate(val, "Protocols", &a.Protocols) 5557 delete(rawMsg, key) 5558 case "sourceAddresses": 5559 err = unpopulate(val, "SourceAddresses", &a.SourceAddresses) 5560 delete(rawMsg, key) 5561 case "sourceIpGroups": 5562 err = unpopulate(val, "SourceIPGroups", &a.SourceIPGroups) 5563 delete(rawMsg, key) 5564 case "targetFqdns": 5565 err = unpopulate(val, "TargetFqdns", &a.TargetFqdns) 5566 delete(rawMsg, key) 5567 } 5568 if err != nil { 5569 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5570 } 5571 } 5572 return nil 5573 } 5574 5575 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleCollection. 5576 func (a AzureFirewallApplicationRuleCollection) MarshalJSON() ([]byte, error) { 5577 objectMap := make(map[string]any) 5578 populate(objectMap, "etag", a.Etag) 5579 populate(objectMap, "id", a.ID) 5580 populate(objectMap, "name", a.Name) 5581 populate(objectMap, "properties", a.Properties) 5582 return json.Marshal(objectMap) 5583 } 5584 5585 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallApplicationRuleCollection. 5586 func (a *AzureFirewallApplicationRuleCollection) UnmarshalJSON(data []byte) error { 5587 var rawMsg map[string]json.RawMessage 5588 if err := json.Unmarshal(data, &rawMsg); err != nil { 5589 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5590 } 5591 for key, val := range rawMsg { 5592 var err error 5593 switch key { 5594 case "etag": 5595 err = unpopulate(val, "Etag", &a.Etag) 5596 delete(rawMsg, key) 5597 case "id": 5598 err = unpopulate(val, "ID", &a.ID) 5599 delete(rawMsg, key) 5600 case "name": 5601 err = unpopulate(val, "Name", &a.Name) 5602 delete(rawMsg, key) 5603 case "properties": 5604 err = unpopulate(val, "Properties", &a.Properties) 5605 delete(rawMsg, key) 5606 } 5607 if err != nil { 5608 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5609 } 5610 } 5611 return nil 5612 } 5613 5614 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleCollectionPropertiesFormat. 5615 func (a AzureFirewallApplicationRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 5616 objectMap := make(map[string]any) 5617 populate(objectMap, "action", a.Action) 5618 populate(objectMap, "priority", a.Priority) 5619 populate(objectMap, "provisioningState", a.ProvisioningState) 5620 populate(objectMap, "rules", a.Rules) 5621 return json.Marshal(objectMap) 5622 } 5623 5624 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallApplicationRuleCollectionPropertiesFormat. 5625 func (a *AzureFirewallApplicationRuleCollectionPropertiesFormat) UnmarshalJSON(data []byte) error { 5626 var rawMsg map[string]json.RawMessage 5627 if err := json.Unmarshal(data, &rawMsg); err != nil { 5628 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5629 } 5630 for key, val := range rawMsg { 5631 var err error 5632 switch key { 5633 case "action": 5634 err = unpopulate(val, "Action", &a.Action) 5635 delete(rawMsg, key) 5636 case "priority": 5637 err = unpopulate(val, "Priority", &a.Priority) 5638 delete(rawMsg, key) 5639 case "provisioningState": 5640 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 5641 delete(rawMsg, key) 5642 case "rules": 5643 err = unpopulate(val, "Rules", &a.Rules) 5644 delete(rawMsg, key) 5645 } 5646 if err != nil { 5647 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5648 } 5649 } 5650 return nil 5651 } 5652 5653 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallApplicationRuleProtocol. 5654 func (a AzureFirewallApplicationRuleProtocol) MarshalJSON() ([]byte, error) { 5655 objectMap := make(map[string]any) 5656 populate(objectMap, "port", a.Port) 5657 populate(objectMap, "protocolType", a.ProtocolType) 5658 return json.Marshal(objectMap) 5659 } 5660 5661 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallApplicationRuleProtocol. 5662 func (a *AzureFirewallApplicationRuleProtocol) UnmarshalJSON(data []byte) error { 5663 var rawMsg map[string]json.RawMessage 5664 if err := json.Unmarshal(data, &rawMsg); err != nil { 5665 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5666 } 5667 for key, val := range rawMsg { 5668 var err error 5669 switch key { 5670 case "port": 5671 err = unpopulate(val, "Port", &a.Port) 5672 delete(rawMsg, key) 5673 case "protocolType": 5674 err = unpopulate(val, "ProtocolType", &a.ProtocolType) 5675 delete(rawMsg, key) 5676 } 5677 if err != nil { 5678 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5679 } 5680 } 5681 return nil 5682 } 5683 5684 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallAutoscaleConfiguration. 5685 func (a AzureFirewallAutoscaleConfiguration) MarshalJSON() ([]byte, error) { 5686 objectMap := make(map[string]any) 5687 populate(objectMap, "maxCapacity", a.MaxCapacity) 5688 populate(objectMap, "minCapacity", a.MinCapacity) 5689 return json.Marshal(objectMap) 5690 } 5691 5692 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallAutoscaleConfiguration. 5693 func (a *AzureFirewallAutoscaleConfiguration) UnmarshalJSON(data []byte) error { 5694 var rawMsg map[string]json.RawMessage 5695 if err := json.Unmarshal(data, &rawMsg); err != nil { 5696 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5697 } 5698 for key, val := range rawMsg { 5699 var err error 5700 switch key { 5701 case "maxCapacity": 5702 err = unpopulate(val, "MaxCapacity", &a.MaxCapacity) 5703 delete(rawMsg, key) 5704 case "minCapacity": 5705 err = unpopulate(val, "MinCapacity", &a.MinCapacity) 5706 delete(rawMsg, key) 5707 } 5708 if err != nil { 5709 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5710 } 5711 } 5712 return nil 5713 } 5714 5715 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTag. 5716 func (a AzureFirewallFqdnTag) MarshalJSON() ([]byte, error) { 5717 objectMap := make(map[string]any) 5718 populate(objectMap, "etag", a.Etag) 5719 populate(objectMap, "id", a.ID) 5720 populate(objectMap, "location", a.Location) 5721 populate(objectMap, "name", a.Name) 5722 populate(objectMap, "properties", a.Properties) 5723 populate(objectMap, "tags", a.Tags) 5724 populate(objectMap, "type", a.Type) 5725 return json.Marshal(objectMap) 5726 } 5727 5728 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallFqdnTag. 5729 func (a *AzureFirewallFqdnTag) UnmarshalJSON(data []byte) error { 5730 var rawMsg map[string]json.RawMessage 5731 if err := json.Unmarshal(data, &rawMsg); err != nil { 5732 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5733 } 5734 for key, val := range rawMsg { 5735 var err error 5736 switch key { 5737 case "etag": 5738 err = unpopulate(val, "Etag", &a.Etag) 5739 delete(rawMsg, key) 5740 case "id": 5741 err = unpopulate(val, "ID", &a.ID) 5742 delete(rawMsg, key) 5743 case "location": 5744 err = unpopulate(val, "Location", &a.Location) 5745 delete(rawMsg, key) 5746 case "name": 5747 err = unpopulate(val, "Name", &a.Name) 5748 delete(rawMsg, key) 5749 case "properties": 5750 err = unpopulate(val, "Properties", &a.Properties) 5751 delete(rawMsg, key) 5752 case "tags": 5753 err = unpopulate(val, "Tags", &a.Tags) 5754 delete(rawMsg, key) 5755 case "type": 5756 err = unpopulate(val, "Type", &a.Type) 5757 delete(rawMsg, key) 5758 } 5759 if err != nil { 5760 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5761 } 5762 } 5763 return nil 5764 } 5765 5766 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTagListResult. 5767 func (a AzureFirewallFqdnTagListResult) MarshalJSON() ([]byte, error) { 5768 objectMap := make(map[string]any) 5769 populate(objectMap, "nextLink", a.NextLink) 5770 populate(objectMap, "value", a.Value) 5771 return json.Marshal(objectMap) 5772 } 5773 5774 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallFqdnTagListResult. 5775 func (a *AzureFirewallFqdnTagListResult) UnmarshalJSON(data []byte) error { 5776 var rawMsg map[string]json.RawMessage 5777 if err := json.Unmarshal(data, &rawMsg); err != nil { 5778 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5779 } 5780 for key, val := range rawMsg { 5781 var err error 5782 switch key { 5783 case "nextLink": 5784 err = unpopulate(val, "NextLink", &a.NextLink) 5785 delete(rawMsg, key) 5786 case "value": 5787 err = unpopulate(val, "Value", &a.Value) 5788 delete(rawMsg, key) 5789 } 5790 if err != nil { 5791 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5792 } 5793 } 5794 return nil 5795 } 5796 5797 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallFqdnTagPropertiesFormat. 5798 func (a AzureFirewallFqdnTagPropertiesFormat) MarshalJSON() ([]byte, error) { 5799 objectMap := make(map[string]any) 5800 populate(objectMap, "fqdnTagName", a.FqdnTagName) 5801 populate(objectMap, "provisioningState", a.ProvisioningState) 5802 return json.Marshal(objectMap) 5803 } 5804 5805 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallFqdnTagPropertiesFormat. 5806 func (a *AzureFirewallFqdnTagPropertiesFormat) UnmarshalJSON(data []byte) error { 5807 var rawMsg map[string]json.RawMessage 5808 if err := json.Unmarshal(data, &rawMsg); err != nil { 5809 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5810 } 5811 for key, val := range rawMsg { 5812 var err error 5813 switch key { 5814 case "fqdnTagName": 5815 err = unpopulate(val, "FqdnTagName", &a.FqdnTagName) 5816 delete(rawMsg, key) 5817 case "provisioningState": 5818 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 5819 delete(rawMsg, key) 5820 } 5821 if err != nil { 5822 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5823 } 5824 } 5825 return nil 5826 } 5827 5828 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallIPConfiguration. 5829 func (a AzureFirewallIPConfiguration) MarshalJSON() ([]byte, error) { 5830 objectMap := make(map[string]any) 5831 populate(objectMap, "etag", a.Etag) 5832 populate(objectMap, "id", a.ID) 5833 populate(objectMap, "name", a.Name) 5834 populate(objectMap, "properties", a.Properties) 5835 populate(objectMap, "type", a.Type) 5836 return json.Marshal(objectMap) 5837 } 5838 5839 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallIPConfiguration. 5840 func (a *AzureFirewallIPConfiguration) UnmarshalJSON(data []byte) error { 5841 var rawMsg map[string]json.RawMessage 5842 if err := json.Unmarshal(data, &rawMsg); err != nil { 5843 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5844 } 5845 for key, val := range rawMsg { 5846 var err error 5847 switch key { 5848 case "etag": 5849 err = unpopulate(val, "Etag", &a.Etag) 5850 delete(rawMsg, key) 5851 case "id": 5852 err = unpopulate(val, "ID", &a.ID) 5853 delete(rawMsg, key) 5854 case "name": 5855 err = unpopulate(val, "Name", &a.Name) 5856 delete(rawMsg, key) 5857 case "properties": 5858 err = unpopulate(val, "Properties", &a.Properties) 5859 delete(rawMsg, key) 5860 case "type": 5861 err = unpopulate(val, "Type", &a.Type) 5862 delete(rawMsg, key) 5863 } 5864 if err != nil { 5865 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5866 } 5867 } 5868 return nil 5869 } 5870 5871 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallIPConfigurationPropertiesFormat. 5872 func (a AzureFirewallIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 5873 objectMap := make(map[string]any) 5874 populate(objectMap, "privateIPAddress", a.PrivateIPAddress) 5875 populate(objectMap, "provisioningState", a.ProvisioningState) 5876 populate(objectMap, "publicIPAddress", a.PublicIPAddress) 5877 populate(objectMap, "subnet", a.Subnet) 5878 return json.Marshal(objectMap) 5879 } 5880 5881 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallIPConfigurationPropertiesFormat. 5882 func (a *AzureFirewallIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 5883 var rawMsg map[string]json.RawMessage 5884 if err := json.Unmarshal(data, &rawMsg); err != nil { 5885 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5886 } 5887 for key, val := range rawMsg { 5888 var err error 5889 switch key { 5890 case "privateIPAddress": 5891 err = unpopulate(val, "PrivateIPAddress", &a.PrivateIPAddress) 5892 delete(rawMsg, key) 5893 case "provisioningState": 5894 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 5895 delete(rawMsg, key) 5896 case "publicIPAddress": 5897 err = unpopulate(val, "PublicIPAddress", &a.PublicIPAddress) 5898 delete(rawMsg, key) 5899 case "subnet": 5900 err = unpopulate(val, "Subnet", &a.Subnet) 5901 delete(rawMsg, key) 5902 } 5903 if err != nil { 5904 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5905 } 5906 } 5907 return nil 5908 } 5909 5910 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallIPGroups. 5911 func (a AzureFirewallIPGroups) MarshalJSON() ([]byte, error) { 5912 objectMap := make(map[string]any) 5913 populate(objectMap, "changeNumber", a.ChangeNumber) 5914 populate(objectMap, "id", a.ID) 5915 return json.Marshal(objectMap) 5916 } 5917 5918 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallIPGroups. 5919 func (a *AzureFirewallIPGroups) UnmarshalJSON(data []byte) error { 5920 var rawMsg map[string]json.RawMessage 5921 if err := json.Unmarshal(data, &rawMsg); err != nil { 5922 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5923 } 5924 for key, val := range rawMsg { 5925 var err error 5926 switch key { 5927 case "changeNumber": 5928 err = unpopulate(val, "ChangeNumber", &a.ChangeNumber) 5929 delete(rawMsg, key) 5930 case "id": 5931 err = unpopulate(val, "ID", &a.ID) 5932 delete(rawMsg, key) 5933 } 5934 if err != nil { 5935 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5936 } 5937 } 5938 return nil 5939 } 5940 5941 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallListResult. 5942 func (a AzureFirewallListResult) MarshalJSON() ([]byte, error) { 5943 objectMap := make(map[string]any) 5944 populate(objectMap, "nextLink", a.NextLink) 5945 populate(objectMap, "value", a.Value) 5946 return json.Marshal(objectMap) 5947 } 5948 5949 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallListResult. 5950 func (a *AzureFirewallListResult) UnmarshalJSON(data []byte) error { 5951 var rawMsg map[string]json.RawMessage 5952 if err := json.Unmarshal(data, &rawMsg); err != nil { 5953 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5954 } 5955 for key, val := range rawMsg { 5956 var err error 5957 switch key { 5958 case "nextLink": 5959 err = unpopulate(val, "NextLink", &a.NextLink) 5960 delete(rawMsg, key) 5961 case "value": 5962 err = unpopulate(val, "Value", &a.Value) 5963 delete(rawMsg, key) 5964 } 5965 if err != nil { 5966 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5967 } 5968 } 5969 return nil 5970 } 5971 5972 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRCAction. 5973 func (a AzureFirewallNatRCAction) MarshalJSON() ([]byte, error) { 5974 objectMap := make(map[string]any) 5975 populate(objectMap, "type", a.Type) 5976 return json.Marshal(objectMap) 5977 } 5978 5979 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNatRCAction. 5980 func (a *AzureFirewallNatRCAction) UnmarshalJSON(data []byte) error { 5981 var rawMsg map[string]json.RawMessage 5982 if err := json.Unmarshal(data, &rawMsg); err != nil { 5983 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5984 } 5985 for key, val := range rawMsg { 5986 var err error 5987 switch key { 5988 case "type": 5989 err = unpopulate(val, "Type", &a.Type) 5990 delete(rawMsg, key) 5991 } 5992 if err != nil { 5993 return fmt.Errorf("unmarshalling type %T: %v", a, err) 5994 } 5995 } 5996 return nil 5997 } 5998 5999 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRule. 6000 func (a AzureFirewallNatRule) MarshalJSON() ([]byte, error) { 6001 objectMap := make(map[string]any) 6002 populate(objectMap, "description", a.Description) 6003 populate(objectMap, "destinationAddresses", a.DestinationAddresses) 6004 populate(objectMap, "destinationPorts", a.DestinationPorts) 6005 populate(objectMap, "name", a.Name) 6006 populate(objectMap, "protocols", a.Protocols) 6007 populate(objectMap, "sourceAddresses", a.SourceAddresses) 6008 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 6009 populate(objectMap, "translatedAddress", a.TranslatedAddress) 6010 populate(objectMap, "translatedFqdn", a.TranslatedFqdn) 6011 populate(objectMap, "translatedPort", a.TranslatedPort) 6012 return json.Marshal(objectMap) 6013 } 6014 6015 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNatRule. 6016 func (a *AzureFirewallNatRule) UnmarshalJSON(data []byte) error { 6017 var rawMsg map[string]json.RawMessage 6018 if err := json.Unmarshal(data, &rawMsg); err != nil { 6019 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6020 } 6021 for key, val := range rawMsg { 6022 var err error 6023 switch key { 6024 case "description": 6025 err = unpopulate(val, "Description", &a.Description) 6026 delete(rawMsg, key) 6027 case "destinationAddresses": 6028 err = unpopulate(val, "DestinationAddresses", &a.DestinationAddresses) 6029 delete(rawMsg, key) 6030 case "destinationPorts": 6031 err = unpopulate(val, "DestinationPorts", &a.DestinationPorts) 6032 delete(rawMsg, key) 6033 case "name": 6034 err = unpopulate(val, "Name", &a.Name) 6035 delete(rawMsg, key) 6036 case "protocols": 6037 err = unpopulate(val, "Protocols", &a.Protocols) 6038 delete(rawMsg, key) 6039 case "sourceAddresses": 6040 err = unpopulate(val, "SourceAddresses", &a.SourceAddresses) 6041 delete(rawMsg, key) 6042 case "sourceIpGroups": 6043 err = unpopulate(val, "SourceIPGroups", &a.SourceIPGroups) 6044 delete(rawMsg, key) 6045 case "translatedAddress": 6046 err = unpopulate(val, "TranslatedAddress", &a.TranslatedAddress) 6047 delete(rawMsg, key) 6048 case "translatedFqdn": 6049 err = unpopulate(val, "TranslatedFqdn", &a.TranslatedFqdn) 6050 delete(rawMsg, key) 6051 case "translatedPort": 6052 err = unpopulate(val, "TranslatedPort", &a.TranslatedPort) 6053 delete(rawMsg, key) 6054 } 6055 if err != nil { 6056 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6057 } 6058 } 6059 return nil 6060 } 6061 6062 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRuleCollection. 6063 func (a AzureFirewallNatRuleCollection) MarshalJSON() ([]byte, error) { 6064 objectMap := make(map[string]any) 6065 populate(objectMap, "etag", a.Etag) 6066 populate(objectMap, "id", a.ID) 6067 populate(objectMap, "name", a.Name) 6068 populate(objectMap, "properties", a.Properties) 6069 return json.Marshal(objectMap) 6070 } 6071 6072 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNatRuleCollection. 6073 func (a *AzureFirewallNatRuleCollection) UnmarshalJSON(data []byte) error { 6074 var rawMsg map[string]json.RawMessage 6075 if err := json.Unmarshal(data, &rawMsg); err != nil { 6076 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6077 } 6078 for key, val := range rawMsg { 6079 var err error 6080 switch key { 6081 case "etag": 6082 err = unpopulate(val, "Etag", &a.Etag) 6083 delete(rawMsg, key) 6084 case "id": 6085 err = unpopulate(val, "ID", &a.ID) 6086 delete(rawMsg, key) 6087 case "name": 6088 err = unpopulate(val, "Name", &a.Name) 6089 delete(rawMsg, key) 6090 case "properties": 6091 err = unpopulate(val, "Properties", &a.Properties) 6092 delete(rawMsg, key) 6093 } 6094 if err != nil { 6095 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6096 } 6097 } 6098 return nil 6099 } 6100 6101 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNatRuleCollectionProperties. 6102 func (a AzureFirewallNatRuleCollectionProperties) MarshalJSON() ([]byte, error) { 6103 objectMap := make(map[string]any) 6104 populate(objectMap, "action", a.Action) 6105 populate(objectMap, "priority", a.Priority) 6106 populate(objectMap, "provisioningState", a.ProvisioningState) 6107 populate(objectMap, "rules", a.Rules) 6108 return json.Marshal(objectMap) 6109 } 6110 6111 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNatRuleCollectionProperties. 6112 func (a *AzureFirewallNatRuleCollectionProperties) UnmarshalJSON(data []byte) error { 6113 var rawMsg map[string]json.RawMessage 6114 if err := json.Unmarshal(data, &rawMsg); err != nil { 6115 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6116 } 6117 for key, val := range rawMsg { 6118 var err error 6119 switch key { 6120 case "action": 6121 err = unpopulate(val, "Action", &a.Action) 6122 delete(rawMsg, key) 6123 case "priority": 6124 err = unpopulate(val, "Priority", &a.Priority) 6125 delete(rawMsg, key) 6126 case "provisioningState": 6127 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 6128 delete(rawMsg, key) 6129 case "rules": 6130 err = unpopulate(val, "Rules", &a.Rules) 6131 delete(rawMsg, key) 6132 } 6133 if err != nil { 6134 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6135 } 6136 } 6137 return nil 6138 } 6139 6140 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRule. 6141 func (a AzureFirewallNetworkRule) MarshalJSON() ([]byte, error) { 6142 objectMap := make(map[string]any) 6143 populate(objectMap, "description", a.Description) 6144 populate(objectMap, "destinationAddresses", a.DestinationAddresses) 6145 populate(objectMap, "destinationFqdns", a.DestinationFqdns) 6146 populate(objectMap, "destinationIpGroups", a.DestinationIPGroups) 6147 populate(objectMap, "destinationPorts", a.DestinationPorts) 6148 populate(objectMap, "name", a.Name) 6149 populate(objectMap, "protocols", a.Protocols) 6150 populate(objectMap, "sourceAddresses", a.SourceAddresses) 6151 populate(objectMap, "sourceIpGroups", a.SourceIPGroups) 6152 return json.Marshal(objectMap) 6153 } 6154 6155 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNetworkRule. 6156 func (a *AzureFirewallNetworkRule) UnmarshalJSON(data []byte) error { 6157 var rawMsg map[string]json.RawMessage 6158 if err := json.Unmarshal(data, &rawMsg); err != nil { 6159 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6160 } 6161 for key, val := range rawMsg { 6162 var err error 6163 switch key { 6164 case "description": 6165 err = unpopulate(val, "Description", &a.Description) 6166 delete(rawMsg, key) 6167 case "destinationAddresses": 6168 err = unpopulate(val, "DestinationAddresses", &a.DestinationAddresses) 6169 delete(rawMsg, key) 6170 case "destinationFqdns": 6171 err = unpopulate(val, "DestinationFqdns", &a.DestinationFqdns) 6172 delete(rawMsg, key) 6173 case "destinationIpGroups": 6174 err = unpopulate(val, "DestinationIPGroups", &a.DestinationIPGroups) 6175 delete(rawMsg, key) 6176 case "destinationPorts": 6177 err = unpopulate(val, "DestinationPorts", &a.DestinationPorts) 6178 delete(rawMsg, key) 6179 case "name": 6180 err = unpopulate(val, "Name", &a.Name) 6181 delete(rawMsg, key) 6182 case "protocols": 6183 err = unpopulate(val, "Protocols", &a.Protocols) 6184 delete(rawMsg, key) 6185 case "sourceAddresses": 6186 err = unpopulate(val, "SourceAddresses", &a.SourceAddresses) 6187 delete(rawMsg, key) 6188 case "sourceIpGroups": 6189 err = unpopulate(val, "SourceIPGroups", &a.SourceIPGroups) 6190 delete(rawMsg, key) 6191 } 6192 if err != nil { 6193 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6194 } 6195 } 6196 return nil 6197 } 6198 6199 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRuleCollection. 6200 func (a AzureFirewallNetworkRuleCollection) MarshalJSON() ([]byte, error) { 6201 objectMap := make(map[string]any) 6202 populate(objectMap, "etag", a.Etag) 6203 populate(objectMap, "id", a.ID) 6204 populate(objectMap, "name", a.Name) 6205 populate(objectMap, "properties", a.Properties) 6206 return json.Marshal(objectMap) 6207 } 6208 6209 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNetworkRuleCollection. 6210 func (a *AzureFirewallNetworkRuleCollection) UnmarshalJSON(data []byte) error { 6211 var rawMsg map[string]json.RawMessage 6212 if err := json.Unmarshal(data, &rawMsg); err != nil { 6213 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6214 } 6215 for key, val := range rawMsg { 6216 var err error 6217 switch key { 6218 case "etag": 6219 err = unpopulate(val, "Etag", &a.Etag) 6220 delete(rawMsg, key) 6221 case "id": 6222 err = unpopulate(val, "ID", &a.ID) 6223 delete(rawMsg, key) 6224 case "name": 6225 err = unpopulate(val, "Name", &a.Name) 6226 delete(rawMsg, key) 6227 case "properties": 6228 err = unpopulate(val, "Properties", &a.Properties) 6229 delete(rawMsg, key) 6230 } 6231 if err != nil { 6232 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6233 } 6234 } 6235 return nil 6236 } 6237 6238 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallNetworkRuleCollectionPropertiesFormat. 6239 func (a AzureFirewallNetworkRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 6240 objectMap := make(map[string]any) 6241 populate(objectMap, "action", a.Action) 6242 populate(objectMap, "priority", a.Priority) 6243 populate(objectMap, "provisioningState", a.ProvisioningState) 6244 populate(objectMap, "rules", a.Rules) 6245 return json.Marshal(objectMap) 6246 } 6247 6248 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallNetworkRuleCollectionPropertiesFormat. 6249 func (a *AzureFirewallNetworkRuleCollectionPropertiesFormat) UnmarshalJSON(data []byte) error { 6250 var rawMsg map[string]json.RawMessage 6251 if err := json.Unmarshal(data, &rawMsg); err != nil { 6252 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6253 } 6254 for key, val := range rawMsg { 6255 var err error 6256 switch key { 6257 case "action": 6258 err = unpopulate(val, "Action", &a.Action) 6259 delete(rawMsg, key) 6260 case "priority": 6261 err = unpopulate(val, "Priority", &a.Priority) 6262 delete(rawMsg, key) 6263 case "provisioningState": 6264 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 6265 delete(rawMsg, key) 6266 case "rules": 6267 err = unpopulate(val, "Rules", &a.Rules) 6268 delete(rawMsg, key) 6269 } 6270 if err != nil { 6271 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6272 } 6273 } 6274 return nil 6275 } 6276 6277 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallPacketCaptureFlags. 6278 func (a AzureFirewallPacketCaptureFlags) MarshalJSON() ([]byte, error) { 6279 objectMap := make(map[string]any) 6280 populate(objectMap, "type", a.Type) 6281 return json.Marshal(objectMap) 6282 } 6283 6284 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallPacketCaptureFlags. 6285 func (a *AzureFirewallPacketCaptureFlags) UnmarshalJSON(data []byte) error { 6286 var rawMsg map[string]json.RawMessage 6287 if err := json.Unmarshal(data, &rawMsg); err != nil { 6288 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6289 } 6290 for key, val := range rawMsg { 6291 var err error 6292 switch key { 6293 case "type": 6294 err = unpopulate(val, "Type", &a.Type) 6295 delete(rawMsg, key) 6296 } 6297 if err != nil { 6298 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6299 } 6300 } 6301 return nil 6302 } 6303 6304 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallPacketCaptureRule. 6305 func (a AzureFirewallPacketCaptureRule) MarshalJSON() ([]byte, error) { 6306 objectMap := make(map[string]any) 6307 populate(objectMap, "destinationPorts", a.DestinationPorts) 6308 populate(objectMap, "destinations", a.Destinations) 6309 populate(objectMap, "sources", a.Sources) 6310 return json.Marshal(objectMap) 6311 } 6312 6313 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallPacketCaptureRule. 6314 func (a *AzureFirewallPacketCaptureRule) UnmarshalJSON(data []byte) error { 6315 var rawMsg map[string]json.RawMessage 6316 if err := json.Unmarshal(data, &rawMsg); err != nil { 6317 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6318 } 6319 for key, val := range rawMsg { 6320 var err error 6321 switch key { 6322 case "destinationPorts": 6323 err = unpopulate(val, "DestinationPorts", &a.DestinationPorts) 6324 delete(rawMsg, key) 6325 case "destinations": 6326 err = unpopulate(val, "Destinations", &a.Destinations) 6327 delete(rawMsg, key) 6328 case "sources": 6329 err = unpopulate(val, "Sources", &a.Sources) 6330 delete(rawMsg, key) 6331 } 6332 if err != nil { 6333 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6334 } 6335 } 6336 return nil 6337 } 6338 6339 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallPropertiesFormat. 6340 func (a AzureFirewallPropertiesFormat) MarshalJSON() ([]byte, error) { 6341 objectMap := make(map[string]any) 6342 populate(objectMap, "additionalProperties", a.AdditionalProperties) 6343 populate(objectMap, "applicationRuleCollections", a.ApplicationRuleCollections) 6344 populate(objectMap, "autoscaleConfiguration", a.AutoscaleConfiguration) 6345 populate(objectMap, "firewallPolicy", a.FirewallPolicy) 6346 populate(objectMap, "hubIPAddresses", a.HubIPAddresses) 6347 populate(objectMap, "ipConfigurations", a.IPConfigurations) 6348 populate(objectMap, "ipGroups", a.IPGroups) 6349 populate(objectMap, "managementIpConfiguration", a.ManagementIPConfiguration) 6350 populate(objectMap, "natRuleCollections", a.NatRuleCollections) 6351 populate(objectMap, "networkRuleCollections", a.NetworkRuleCollections) 6352 populate(objectMap, "provisioningState", a.ProvisioningState) 6353 populate(objectMap, "sku", a.SKU) 6354 populate(objectMap, "threatIntelMode", a.ThreatIntelMode) 6355 populate(objectMap, "virtualHub", a.VirtualHub) 6356 return json.Marshal(objectMap) 6357 } 6358 6359 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallPropertiesFormat. 6360 func (a *AzureFirewallPropertiesFormat) UnmarshalJSON(data []byte) error { 6361 var rawMsg map[string]json.RawMessage 6362 if err := json.Unmarshal(data, &rawMsg); err != nil { 6363 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6364 } 6365 for key, val := range rawMsg { 6366 var err error 6367 switch key { 6368 case "additionalProperties": 6369 err = unpopulate(val, "AdditionalProperties", &a.AdditionalProperties) 6370 delete(rawMsg, key) 6371 case "applicationRuleCollections": 6372 err = unpopulate(val, "ApplicationRuleCollections", &a.ApplicationRuleCollections) 6373 delete(rawMsg, key) 6374 case "autoscaleConfiguration": 6375 err = unpopulate(val, "AutoscaleConfiguration", &a.AutoscaleConfiguration) 6376 delete(rawMsg, key) 6377 case "firewallPolicy": 6378 err = unpopulate(val, "FirewallPolicy", &a.FirewallPolicy) 6379 delete(rawMsg, key) 6380 case "hubIPAddresses": 6381 err = unpopulate(val, "HubIPAddresses", &a.HubIPAddresses) 6382 delete(rawMsg, key) 6383 case "ipConfigurations": 6384 err = unpopulate(val, "IPConfigurations", &a.IPConfigurations) 6385 delete(rawMsg, key) 6386 case "ipGroups": 6387 err = unpopulate(val, "IPGroups", &a.IPGroups) 6388 delete(rawMsg, key) 6389 case "managementIpConfiguration": 6390 err = unpopulate(val, "ManagementIPConfiguration", &a.ManagementIPConfiguration) 6391 delete(rawMsg, key) 6392 case "natRuleCollections": 6393 err = unpopulate(val, "NatRuleCollections", &a.NatRuleCollections) 6394 delete(rawMsg, key) 6395 case "networkRuleCollections": 6396 err = unpopulate(val, "NetworkRuleCollections", &a.NetworkRuleCollections) 6397 delete(rawMsg, key) 6398 case "provisioningState": 6399 err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) 6400 delete(rawMsg, key) 6401 case "sku": 6402 err = unpopulate(val, "SKU", &a.SKU) 6403 delete(rawMsg, key) 6404 case "threatIntelMode": 6405 err = unpopulate(val, "ThreatIntelMode", &a.ThreatIntelMode) 6406 delete(rawMsg, key) 6407 case "virtualHub": 6408 err = unpopulate(val, "VirtualHub", &a.VirtualHub) 6409 delete(rawMsg, key) 6410 } 6411 if err != nil { 6412 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6413 } 6414 } 6415 return nil 6416 } 6417 6418 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallPublicIPAddress. 6419 func (a AzureFirewallPublicIPAddress) MarshalJSON() ([]byte, error) { 6420 objectMap := make(map[string]any) 6421 populate(objectMap, "address", a.Address) 6422 return json.Marshal(objectMap) 6423 } 6424 6425 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallPublicIPAddress. 6426 func (a *AzureFirewallPublicIPAddress) UnmarshalJSON(data []byte) error { 6427 var rawMsg map[string]json.RawMessage 6428 if err := json.Unmarshal(data, &rawMsg); err != nil { 6429 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6430 } 6431 for key, val := range rawMsg { 6432 var err error 6433 switch key { 6434 case "address": 6435 err = unpopulate(val, "Address", &a.Address) 6436 delete(rawMsg, key) 6437 } 6438 if err != nil { 6439 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6440 } 6441 } 6442 return nil 6443 } 6444 6445 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallRCAction. 6446 func (a AzureFirewallRCAction) MarshalJSON() ([]byte, error) { 6447 objectMap := make(map[string]any) 6448 populate(objectMap, "type", a.Type) 6449 return json.Marshal(objectMap) 6450 } 6451 6452 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallRCAction. 6453 func (a *AzureFirewallRCAction) UnmarshalJSON(data []byte) error { 6454 var rawMsg map[string]json.RawMessage 6455 if err := json.Unmarshal(data, &rawMsg); err != nil { 6456 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6457 } 6458 for key, val := range rawMsg { 6459 var err error 6460 switch key { 6461 case "type": 6462 err = unpopulate(val, "Type", &a.Type) 6463 delete(rawMsg, key) 6464 } 6465 if err != nil { 6466 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6467 } 6468 } 6469 return nil 6470 } 6471 6472 // MarshalJSON implements the json.Marshaller interface for type AzureFirewallSKU. 6473 func (a AzureFirewallSKU) MarshalJSON() ([]byte, error) { 6474 objectMap := make(map[string]any) 6475 populate(objectMap, "name", a.Name) 6476 populate(objectMap, "tier", a.Tier) 6477 return json.Marshal(objectMap) 6478 } 6479 6480 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureFirewallSKU. 6481 func (a *AzureFirewallSKU) UnmarshalJSON(data []byte) error { 6482 var rawMsg map[string]json.RawMessage 6483 if err := json.Unmarshal(data, &rawMsg); err != nil { 6484 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6485 } 6486 for key, val := range rawMsg { 6487 var err error 6488 switch key { 6489 case "name": 6490 err = unpopulate(val, "Name", &a.Name) 6491 delete(rawMsg, key) 6492 case "tier": 6493 err = unpopulate(val, "Tier", &a.Tier) 6494 delete(rawMsg, key) 6495 } 6496 if err != nil { 6497 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6498 } 6499 } 6500 return nil 6501 } 6502 6503 // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReport. 6504 func (a AzureReachabilityReport) MarshalJSON() ([]byte, error) { 6505 objectMap := make(map[string]any) 6506 populate(objectMap, "aggregationLevel", a.AggregationLevel) 6507 populate(objectMap, "providerLocation", a.ProviderLocation) 6508 populate(objectMap, "reachabilityReport", a.ReachabilityReport) 6509 return json.Marshal(objectMap) 6510 } 6511 6512 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReport. 6513 func (a *AzureReachabilityReport) UnmarshalJSON(data []byte) error { 6514 var rawMsg map[string]json.RawMessage 6515 if err := json.Unmarshal(data, &rawMsg); err != nil { 6516 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6517 } 6518 for key, val := range rawMsg { 6519 var err error 6520 switch key { 6521 case "aggregationLevel": 6522 err = unpopulate(val, "AggregationLevel", &a.AggregationLevel) 6523 delete(rawMsg, key) 6524 case "providerLocation": 6525 err = unpopulate(val, "ProviderLocation", &a.ProviderLocation) 6526 delete(rawMsg, key) 6527 case "reachabilityReport": 6528 err = unpopulate(val, "ReachabilityReport", &a.ReachabilityReport) 6529 delete(rawMsg, key) 6530 } 6531 if err != nil { 6532 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6533 } 6534 } 6535 return nil 6536 } 6537 6538 // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportItem. 6539 func (a AzureReachabilityReportItem) MarshalJSON() ([]byte, error) { 6540 objectMap := make(map[string]any) 6541 populate(objectMap, "azureLocation", a.AzureLocation) 6542 populate(objectMap, "latencies", a.Latencies) 6543 populate(objectMap, "provider", a.Provider) 6544 return json.Marshal(objectMap) 6545 } 6546 6547 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportItem. 6548 func (a *AzureReachabilityReportItem) UnmarshalJSON(data []byte) error { 6549 var rawMsg map[string]json.RawMessage 6550 if err := json.Unmarshal(data, &rawMsg); err != nil { 6551 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6552 } 6553 for key, val := range rawMsg { 6554 var err error 6555 switch key { 6556 case "azureLocation": 6557 err = unpopulate(val, "AzureLocation", &a.AzureLocation) 6558 delete(rawMsg, key) 6559 case "latencies": 6560 err = unpopulate(val, "Latencies", &a.Latencies) 6561 delete(rawMsg, key) 6562 case "provider": 6563 err = unpopulate(val, "Provider", &a.Provider) 6564 delete(rawMsg, key) 6565 } 6566 if err != nil { 6567 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6568 } 6569 } 6570 return nil 6571 } 6572 6573 // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportLatencyInfo. 6574 func (a AzureReachabilityReportLatencyInfo) MarshalJSON() ([]byte, error) { 6575 objectMap := make(map[string]any) 6576 populate(objectMap, "score", a.Score) 6577 populateDateTimeRFC3339(objectMap, "timeStamp", a.TimeStamp) 6578 return json.Marshal(objectMap) 6579 } 6580 6581 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportLatencyInfo. 6582 func (a *AzureReachabilityReportLatencyInfo) UnmarshalJSON(data []byte) error { 6583 var rawMsg map[string]json.RawMessage 6584 if err := json.Unmarshal(data, &rawMsg); err != nil { 6585 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6586 } 6587 for key, val := range rawMsg { 6588 var err error 6589 switch key { 6590 case "score": 6591 err = unpopulate(val, "Score", &a.Score) 6592 delete(rawMsg, key) 6593 case "timeStamp": 6594 err = unpopulateDateTimeRFC3339(val, "TimeStamp", &a.TimeStamp) 6595 delete(rawMsg, key) 6596 } 6597 if err != nil { 6598 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6599 } 6600 } 6601 return nil 6602 } 6603 6604 // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportLocation. 6605 func (a AzureReachabilityReportLocation) MarshalJSON() ([]byte, error) { 6606 objectMap := make(map[string]any) 6607 populate(objectMap, "city", a.City) 6608 populate(objectMap, "country", a.Country) 6609 populate(objectMap, "state", a.State) 6610 return json.Marshal(objectMap) 6611 } 6612 6613 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportLocation. 6614 func (a *AzureReachabilityReportLocation) UnmarshalJSON(data []byte) error { 6615 var rawMsg map[string]json.RawMessage 6616 if err := json.Unmarshal(data, &rawMsg); err != nil { 6617 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6618 } 6619 for key, val := range rawMsg { 6620 var err error 6621 switch key { 6622 case "city": 6623 err = unpopulate(val, "City", &a.City) 6624 delete(rawMsg, key) 6625 case "country": 6626 err = unpopulate(val, "Country", &a.Country) 6627 delete(rawMsg, key) 6628 case "state": 6629 err = unpopulate(val, "State", &a.State) 6630 delete(rawMsg, key) 6631 } 6632 if err != nil { 6633 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6634 } 6635 } 6636 return nil 6637 } 6638 6639 // MarshalJSON implements the json.Marshaller interface for type AzureReachabilityReportParameters. 6640 func (a AzureReachabilityReportParameters) MarshalJSON() ([]byte, error) { 6641 objectMap := make(map[string]any) 6642 populate(objectMap, "azureLocations", a.AzureLocations) 6643 populateDateTimeRFC3339(objectMap, "endTime", a.EndTime) 6644 populate(objectMap, "providerLocation", a.ProviderLocation) 6645 populate(objectMap, "providers", a.Providers) 6646 populateDateTimeRFC3339(objectMap, "startTime", a.StartTime) 6647 return json.Marshal(objectMap) 6648 } 6649 6650 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureReachabilityReportParameters. 6651 func (a *AzureReachabilityReportParameters) UnmarshalJSON(data []byte) error { 6652 var rawMsg map[string]json.RawMessage 6653 if err := json.Unmarshal(data, &rawMsg); err != nil { 6654 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6655 } 6656 for key, val := range rawMsg { 6657 var err error 6658 switch key { 6659 case "azureLocations": 6660 err = unpopulate(val, "AzureLocations", &a.AzureLocations) 6661 delete(rawMsg, key) 6662 case "endTime": 6663 err = unpopulateDateTimeRFC3339(val, "EndTime", &a.EndTime) 6664 delete(rawMsg, key) 6665 case "providerLocation": 6666 err = unpopulate(val, "ProviderLocation", &a.ProviderLocation) 6667 delete(rawMsg, key) 6668 case "providers": 6669 err = unpopulate(val, "Providers", &a.Providers) 6670 delete(rawMsg, key) 6671 case "startTime": 6672 err = unpopulateDateTimeRFC3339(val, "StartTime", &a.StartTime) 6673 delete(rawMsg, key) 6674 } 6675 if err != nil { 6676 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6677 } 6678 } 6679 return nil 6680 } 6681 6682 // MarshalJSON implements the json.Marshaller interface for type AzureWebCategory. 6683 func (a AzureWebCategory) MarshalJSON() ([]byte, error) { 6684 objectMap := make(map[string]any) 6685 populate(objectMap, "etag", a.Etag) 6686 populate(objectMap, "id", a.ID) 6687 populate(objectMap, "name", a.Name) 6688 populate(objectMap, "properties", a.Properties) 6689 populate(objectMap, "type", a.Type) 6690 return json.Marshal(objectMap) 6691 } 6692 6693 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureWebCategory. 6694 func (a *AzureWebCategory) UnmarshalJSON(data []byte) error { 6695 var rawMsg map[string]json.RawMessage 6696 if err := json.Unmarshal(data, &rawMsg); err != nil { 6697 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6698 } 6699 for key, val := range rawMsg { 6700 var err error 6701 switch key { 6702 case "etag": 6703 err = unpopulate(val, "Etag", &a.Etag) 6704 delete(rawMsg, key) 6705 case "id": 6706 err = unpopulate(val, "ID", &a.ID) 6707 delete(rawMsg, key) 6708 case "name": 6709 err = unpopulate(val, "Name", &a.Name) 6710 delete(rawMsg, key) 6711 case "properties": 6712 err = unpopulate(val, "Properties", &a.Properties) 6713 delete(rawMsg, key) 6714 case "type": 6715 err = unpopulate(val, "Type", &a.Type) 6716 delete(rawMsg, key) 6717 } 6718 if err != nil { 6719 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6720 } 6721 } 6722 return nil 6723 } 6724 6725 // MarshalJSON implements the json.Marshaller interface for type AzureWebCategoryListResult. 6726 func (a AzureWebCategoryListResult) MarshalJSON() ([]byte, error) { 6727 objectMap := make(map[string]any) 6728 populate(objectMap, "nextLink", a.NextLink) 6729 populate(objectMap, "value", a.Value) 6730 return json.Marshal(objectMap) 6731 } 6732 6733 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureWebCategoryListResult. 6734 func (a *AzureWebCategoryListResult) UnmarshalJSON(data []byte) error { 6735 var rawMsg map[string]json.RawMessage 6736 if err := json.Unmarshal(data, &rawMsg); err != nil { 6737 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6738 } 6739 for key, val := range rawMsg { 6740 var err error 6741 switch key { 6742 case "nextLink": 6743 err = unpopulate(val, "NextLink", &a.NextLink) 6744 delete(rawMsg, key) 6745 case "value": 6746 err = unpopulate(val, "Value", &a.Value) 6747 delete(rawMsg, key) 6748 } 6749 if err != nil { 6750 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6751 } 6752 } 6753 return nil 6754 } 6755 6756 // MarshalJSON implements the json.Marshaller interface for type AzureWebCategoryPropertiesFormat. 6757 func (a AzureWebCategoryPropertiesFormat) MarshalJSON() ([]byte, error) { 6758 objectMap := make(map[string]any) 6759 populate(objectMap, "group", a.Group) 6760 return json.Marshal(objectMap) 6761 } 6762 6763 // UnmarshalJSON implements the json.Unmarshaller interface for type AzureWebCategoryPropertiesFormat. 6764 func (a *AzureWebCategoryPropertiesFormat) UnmarshalJSON(data []byte) error { 6765 var rawMsg map[string]json.RawMessage 6766 if err := json.Unmarshal(data, &rawMsg); err != nil { 6767 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6768 } 6769 for key, val := range rawMsg { 6770 var err error 6771 switch key { 6772 case "group": 6773 err = unpopulate(val, "Group", &a.Group) 6774 delete(rawMsg, key) 6775 } 6776 if err != nil { 6777 return fmt.Errorf("unmarshalling type %T: %v", a, err) 6778 } 6779 } 6780 return nil 6781 } 6782 6783 // MarshalJSON implements the json.Marshaller interface for type BGPCommunity. 6784 func (b BGPCommunity) MarshalJSON() ([]byte, error) { 6785 objectMap := make(map[string]any) 6786 populate(objectMap, "communityName", b.CommunityName) 6787 populate(objectMap, "communityPrefixes", b.CommunityPrefixes) 6788 populate(objectMap, "communityValue", b.CommunityValue) 6789 populate(objectMap, "isAuthorizedToUse", b.IsAuthorizedToUse) 6790 populate(objectMap, "serviceGroup", b.ServiceGroup) 6791 populate(objectMap, "serviceSupportedRegion", b.ServiceSupportedRegion) 6792 return json.Marshal(objectMap) 6793 } 6794 6795 // UnmarshalJSON implements the json.Unmarshaller interface for type BGPCommunity. 6796 func (b *BGPCommunity) UnmarshalJSON(data []byte) error { 6797 var rawMsg map[string]json.RawMessage 6798 if err := json.Unmarshal(data, &rawMsg); err != nil { 6799 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6800 } 6801 for key, val := range rawMsg { 6802 var err error 6803 switch key { 6804 case "communityName": 6805 err = unpopulate(val, "CommunityName", &b.CommunityName) 6806 delete(rawMsg, key) 6807 case "communityPrefixes": 6808 err = unpopulate(val, "CommunityPrefixes", &b.CommunityPrefixes) 6809 delete(rawMsg, key) 6810 case "communityValue": 6811 err = unpopulate(val, "CommunityValue", &b.CommunityValue) 6812 delete(rawMsg, key) 6813 case "isAuthorizedToUse": 6814 err = unpopulate(val, "IsAuthorizedToUse", &b.IsAuthorizedToUse) 6815 delete(rawMsg, key) 6816 case "serviceGroup": 6817 err = unpopulate(val, "ServiceGroup", &b.ServiceGroup) 6818 delete(rawMsg, key) 6819 case "serviceSupportedRegion": 6820 err = unpopulate(val, "ServiceSupportedRegion", &b.ServiceSupportedRegion) 6821 delete(rawMsg, key) 6822 } 6823 if err != nil { 6824 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6825 } 6826 } 6827 return nil 6828 } 6829 6830 // MarshalJSON implements the json.Marshaller interface for type BackendAddressInboundNatRulePortMappings. 6831 func (b BackendAddressInboundNatRulePortMappings) MarshalJSON() ([]byte, error) { 6832 objectMap := make(map[string]any) 6833 populate(objectMap, "inboundNatRulePortMappings", b.InboundNatRulePortMappings) 6834 return json.Marshal(objectMap) 6835 } 6836 6837 // UnmarshalJSON implements the json.Unmarshaller interface for type BackendAddressInboundNatRulePortMappings. 6838 func (b *BackendAddressInboundNatRulePortMappings) UnmarshalJSON(data []byte) error { 6839 var rawMsg map[string]json.RawMessage 6840 if err := json.Unmarshal(data, &rawMsg); err != nil { 6841 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6842 } 6843 for key, val := range rawMsg { 6844 var err error 6845 switch key { 6846 case "inboundNatRulePortMappings": 6847 err = unpopulate(val, "InboundNatRulePortMappings", &b.InboundNatRulePortMappings) 6848 delete(rawMsg, key) 6849 } 6850 if err != nil { 6851 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6852 } 6853 } 6854 return nil 6855 } 6856 6857 // MarshalJSON implements the json.Marshaller interface for type BackendAddressPool. 6858 func (b BackendAddressPool) MarshalJSON() ([]byte, error) { 6859 objectMap := make(map[string]any) 6860 populate(objectMap, "etag", b.Etag) 6861 populate(objectMap, "id", b.ID) 6862 populate(objectMap, "name", b.Name) 6863 populate(objectMap, "properties", b.Properties) 6864 populate(objectMap, "type", b.Type) 6865 return json.Marshal(objectMap) 6866 } 6867 6868 // UnmarshalJSON implements the json.Unmarshaller interface for type BackendAddressPool. 6869 func (b *BackendAddressPool) UnmarshalJSON(data []byte) error { 6870 var rawMsg map[string]json.RawMessage 6871 if err := json.Unmarshal(data, &rawMsg); err != nil { 6872 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6873 } 6874 for key, val := range rawMsg { 6875 var err error 6876 switch key { 6877 case "etag": 6878 err = unpopulate(val, "Etag", &b.Etag) 6879 delete(rawMsg, key) 6880 case "id": 6881 err = unpopulate(val, "ID", &b.ID) 6882 delete(rawMsg, key) 6883 case "name": 6884 err = unpopulate(val, "Name", &b.Name) 6885 delete(rawMsg, key) 6886 case "properties": 6887 err = unpopulate(val, "Properties", &b.Properties) 6888 delete(rawMsg, key) 6889 case "type": 6890 err = unpopulate(val, "Type", &b.Type) 6891 delete(rawMsg, key) 6892 } 6893 if err != nil { 6894 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6895 } 6896 } 6897 return nil 6898 } 6899 6900 // MarshalJSON implements the json.Marshaller interface for type BackendAddressPoolPropertiesFormat. 6901 func (b BackendAddressPoolPropertiesFormat) MarshalJSON() ([]byte, error) { 6902 objectMap := make(map[string]any) 6903 populate(objectMap, "backendIPConfigurations", b.BackendIPConfigurations) 6904 populate(objectMap, "drainPeriodInSeconds", b.DrainPeriodInSeconds) 6905 populate(objectMap, "inboundNatRules", b.InboundNatRules) 6906 populate(objectMap, "loadBalancerBackendAddresses", b.LoadBalancerBackendAddresses) 6907 populate(objectMap, "loadBalancingRules", b.LoadBalancingRules) 6908 populate(objectMap, "location", b.Location) 6909 populate(objectMap, "outboundRule", b.OutboundRule) 6910 populate(objectMap, "outboundRules", b.OutboundRules) 6911 populate(objectMap, "provisioningState", b.ProvisioningState) 6912 populate(objectMap, "syncMode", b.SyncMode) 6913 populate(objectMap, "tunnelInterfaces", b.TunnelInterfaces) 6914 populate(objectMap, "virtualNetwork", b.VirtualNetwork) 6915 return json.Marshal(objectMap) 6916 } 6917 6918 // UnmarshalJSON implements the json.Unmarshaller interface for type BackendAddressPoolPropertiesFormat. 6919 func (b *BackendAddressPoolPropertiesFormat) UnmarshalJSON(data []byte) error { 6920 var rawMsg map[string]json.RawMessage 6921 if err := json.Unmarshal(data, &rawMsg); err != nil { 6922 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6923 } 6924 for key, val := range rawMsg { 6925 var err error 6926 switch key { 6927 case "backendIPConfigurations": 6928 err = unpopulate(val, "BackendIPConfigurations", &b.BackendIPConfigurations) 6929 delete(rawMsg, key) 6930 case "drainPeriodInSeconds": 6931 err = unpopulate(val, "DrainPeriodInSeconds", &b.DrainPeriodInSeconds) 6932 delete(rawMsg, key) 6933 case "inboundNatRules": 6934 err = unpopulate(val, "InboundNatRules", &b.InboundNatRules) 6935 delete(rawMsg, key) 6936 case "loadBalancerBackendAddresses": 6937 err = unpopulate(val, "LoadBalancerBackendAddresses", &b.LoadBalancerBackendAddresses) 6938 delete(rawMsg, key) 6939 case "loadBalancingRules": 6940 err = unpopulate(val, "LoadBalancingRules", &b.LoadBalancingRules) 6941 delete(rawMsg, key) 6942 case "location": 6943 err = unpopulate(val, "Location", &b.Location) 6944 delete(rawMsg, key) 6945 case "outboundRule": 6946 err = unpopulate(val, "OutboundRule", &b.OutboundRule) 6947 delete(rawMsg, key) 6948 case "outboundRules": 6949 err = unpopulate(val, "OutboundRules", &b.OutboundRules) 6950 delete(rawMsg, key) 6951 case "provisioningState": 6952 err = unpopulate(val, "ProvisioningState", &b.ProvisioningState) 6953 delete(rawMsg, key) 6954 case "syncMode": 6955 err = unpopulate(val, "SyncMode", &b.SyncMode) 6956 delete(rawMsg, key) 6957 case "tunnelInterfaces": 6958 err = unpopulate(val, "TunnelInterfaces", &b.TunnelInterfaces) 6959 delete(rawMsg, key) 6960 case "virtualNetwork": 6961 err = unpopulate(val, "VirtualNetwork", &b.VirtualNetwork) 6962 delete(rawMsg, key) 6963 } 6964 if err != nil { 6965 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6966 } 6967 } 6968 return nil 6969 } 6970 6971 // MarshalJSON implements the json.Marshaller interface for type BaseAdminRule. 6972 func (b BaseAdminRule) MarshalJSON() ([]byte, error) { 6973 objectMap := make(map[string]any) 6974 populate(objectMap, "etag", b.Etag) 6975 populate(objectMap, "id", b.ID) 6976 objectMap["kind"] = b.Kind 6977 populate(objectMap, "name", b.Name) 6978 populate(objectMap, "systemData", b.SystemData) 6979 populate(objectMap, "type", b.Type) 6980 return json.Marshal(objectMap) 6981 } 6982 6983 // UnmarshalJSON implements the json.Unmarshaller interface for type BaseAdminRule. 6984 func (b *BaseAdminRule) UnmarshalJSON(data []byte) error { 6985 var rawMsg map[string]json.RawMessage 6986 if err := json.Unmarshal(data, &rawMsg); err != nil { 6987 return fmt.Errorf("unmarshalling type %T: %v", b, err) 6988 } 6989 for key, val := range rawMsg { 6990 var err error 6991 switch key { 6992 case "etag": 6993 err = unpopulate(val, "Etag", &b.Etag) 6994 delete(rawMsg, key) 6995 case "id": 6996 err = unpopulate(val, "ID", &b.ID) 6997 delete(rawMsg, key) 6998 case "kind": 6999 err = unpopulate(val, "Kind", &b.Kind) 7000 delete(rawMsg, key) 7001 case "name": 7002 err = unpopulate(val, "Name", &b.Name) 7003 delete(rawMsg, key) 7004 case "systemData": 7005 err = unpopulate(val, "SystemData", &b.SystemData) 7006 delete(rawMsg, key) 7007 case "type": 7008 err = unpopulate(val, "Type", &b.Type) 7009 delete(rawMsg, key) 7010 } 7011 if err != nil { 7012 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7013 } 7014 } 7015 return nil 7016 } 7017 7018 // MarshalJSON implements the json.Marshaller interface for type BastionActiveSession. 7019 func (b BastionActiveSession) MarshalJSON() ([]byte, error) { 7020 objectMap := make(map[string]any) 7021 populate(objectMap, "protocol", b.Protocol) 7022 populate(objectMap, "resourceType", b.ResourceType) 7023 populate(objectMap, "sessionDurationInMins", b.SessionDurationInMins) 7024 populate(objectMap, "sessionId", b.SessionID) 7025 populateAny(objectMap, "startTime", b.StartTime) 7026 populate(objectMap, "targetHostName", b.TargetHostName) 7027 populate(objectMap, "targetIpAddress", b.TargetIPAddress) 7028 populate(objectMap, "targetResourceGroup", b.TargetResourceGroup) 7029 populate(objectMap, "targetResourceId", b.TargetResourceID) 7030 populate(objectMap, "targetSubscriptionId", b.TargetSubscriptionID) 7031 populate(objectMap, "userName", b.UserName) 7032 return json.Marshal(objectMap) 7033 } 7034 7035 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionActiveSession. 7036 func (b *BastionActiveSession) UnmarshalJSON(data []byte) error { 7037 var rawMsg map[string]json.RawMessage 7038 if err := json.Unmarshal(data, &rawMsg); err != nil { 7039 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7040 } 7041 for key, val := range rawMsg { 7042 var err error 7043 switch key { 7044 case "protocol": 7045 err = unpopulate(val, "Protocol", &b.Protocol) 7046 delete(rawMsg, key) 7047 case "resourceType": 7048 err = unpopulate(val, "ResourceType", &b.ResourceType) 7049 delete(rawMsg, key) 7050 case "sessionDurationInMins": 7051 err = unpopulate(val, "SessionDurationInMins", &b.SessionDurationInMins) 7052 delete(rawMsg, key) 7053 case "sessionId": 7054 err = unpopulate(val, "SessionID", &b.SessionID) 7055 delete(rawMsg, key) 7056 case "startTime": 7057 err = unpopulate(val, "StartTime", &b.StartTime) 7058 delete(rawMsg, key) 7059 case "targetHostName": 7060 err = unpopulate(val, "TargetHostName", &b.TargetHostName) 7061 delete(rawMsg, key) 7062 case "targetIpAddress": 7063 err = unpopulate(val, "TargetIPAddress", &b.TargetIPAddress) 7064 delete(rawMsg, key) 7065 case "targetResourceGroup": 7066 err = unpopulate(val, "TargetResourceGroup", &b.TargetResourceGroup) 7067 delete(rawMsg, key) 7068 case "targetResourceId": 7069 err = unpopulate(val, "TargetResourceID", &b.TargetResourceID) 7070 delete(rawMsg, key) 7071 case "targetSubscriptionId": 7072 err = unpopulate(val, "TargetSubscriptionID", &b.TargetSubscriptionID) 7073 delete(rawMsg, key) 7074 case "userName": 7075 err = unpopulate(val, "UserName", &b.UserName) 7076 delete(rawMsg, key) 7077 } 7078 if err != nil { 7079 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7080 } 7081 } 7082 return nil 7083 } 7084 7085 // MarshalJSON implements the json.Marshaller interface for type BastionActiveSessionListResult. 7086 func (b BastionActiveSessionListResult) MarshalJSON() ([]byte, error) { 7087 objectMap := make(map[string]any) 7088 populate(objectMap, "nextLink", b.NextLink) 7089 populate(objectMap, "value", b.Value) 7090 return json.Marshal(objectMap) 7091 } 7092 7093 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionActiveSessionListResult. 7094 func (b *BastionActiveSessionListResult) UnmarshalJSON(data []byte) error { 7095 var rawMsg map[string]json.RawMessage 7096 if err := json.Unmarshal(data, &rawMsg); err != nil { 7097 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7098 } 7099 for key, val := range rawMsg { 7100 var err error 7101 switch key { 7102 case "nextLink": 7103 err = unpopulate(val, "NextLink", &b.NextLink) 7104 delete(rawMsg, key) 7105 case "value": 7106 err = unpopulate(val, "Value", &b.Value) 7107 delete(rawMsg, key) 7108 } 7109 if err != nil { 7110 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7111 } 7112 } 7113 return nil 7114 } 7115 7116 // MarshalJSON implements the json.Marshaller interface for type BastionHost. 7117 func (b BastionHost) MarshalJSON() ([]byte, error) { 7118 objectMap := make(map[string]any) 7119 populate(objectMap, "etag", b.Etag) 7120 populate(objectMap, "id", b.ID) 7121 populate(objectMap, "location", b.Location) 7122 populate(objectMap, "name", b.Name) 7123 populate(objectMap, "properties", b.Properties) 7124 populate(objectMap, "sku", b.SKU) 7125 populate(objectMap, "tags", b.Tags) 7126 populate(objectMap, "type", b.Type) 7127 populate(objectMap, "zones", b.Zones) 7128 return json.Marshal(objectMap) 7129 } 7130 7131 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionHost. 7132 func (b *BastionHost) UnmarshalJSON(data []byte) error { 7133 var rawMsg map[string]json.RawMessage 7134 if err := json.Unmarshal(data, &rawMsg); err != nil { 7135 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7136 } 7137 for key, val := range rawMsg { 7138 var err error 7139 switch key { 7140 case "etag": 7141 err = unpopulate(val, "Etag", &b.Etag) 7142 delete(rawMsg, key) 7143 case "id": 7144 err = unpopulate(val, "ID", &b.ID) 7145 delete(rawMsg, key) 7146 case "location": 7147 err = unpopulate(val, "Location", &b.Location) 7148 delete(rawMsg, key) 7149 case "name": 7150 err = unpopulate(val, "Name", &b.Name) 7151 delete(rawMsg, key) 7152 case "properties": 7153 err = unpopulate(val, "Properties", &b.Properties) 7154 delete(rawMsg, key) 7155 case "sku": 7156 err = unpopulate(val, "SKU", &b.SKU) 7157 delete(rawMsg, key) 7158 case "tags": 7159 err = unpopulate(val, "Tags", &b.Tags) 7160 delete(rawMsg, key) 7161 case "type": 7162 err = unpopulate(val, "Type", &b.Type) 7163 delete(rawMsg, key) 7164 case "zones": 7165 err = unpopulate(val, "Zones", &b.Zones) 7166 delete(rawMsg, key) 7167 } 7168 if err != nil { 7169 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7170 } 7171 } 7172 return nil 7173 } 7174 7175 // MarshalJSON implements the json.Marshaller interface for type BastionHostIPConfiguration. 7176 func (b BastionHostIPConfiguration) MarshalJSON() ([]byte, error) { 7177 objectMap := make(map[string]any) 7178 populate(objectMap, "etag", b.Etag) 7179 populate(objectMap, "id", b.ID) 7180 populate(objectMap, "name", b.Name) 7181 populate(objectMap, "properties", b.Properties) 7182 populate(objectMap, "type", b.Type) 7183 return json.Marshal(objectMap) 7184 } 7185 7186 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionHostIPConfiguration. 7187 func (b *BastionHostIPConfiguration) UnmarshalJSON(data []byte) error { 7188 var rawMsg map[string]json.RawMessage 7189 if err := json.Unmarshal(data, &rawMsg); err != nil { 7190 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7191 } 7192 for key, val := range rawMsg { 7193 var err error 7194 switch key { 7195 case "etag": 7196 err = unpopulate(val, "Etag", &b.Etag) 7197 delete(rawMsg, key) 7198 case "id": 7199 err = unpopulate(val, "ID", &b.ID) 7200 delete(rawMsg, key) 7201 case "name": 7202 err = unpopulate(val, "Name", &b.Name) 7203 delete(rawMsg, key) 7204 case "properties": 7205 err = unpopulate(val, "Properties", &b.Properties) 7206 delete(rawMsg, key) 7207 case "type": 7208 err = unpopulate(val, "Type", &b.Type) 7209 delete(rawMsg, key) 7210 } 7211 if err != nil { 7212 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7213 } 7214 } 7215 return nil 7216 } 7217 7218 // MarshalJSON implements the json.Marshaller interface for type BastionHostIPConfigurationPropertiesFormat. 7219 func (b BastionHostIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 7220 objectMap := make(map[string]any) 7221 populate(objectMap, "privateIPAllocationMethod", b.PrivateIPAllocationMethod) 7222 populate(objectMap, "provisioningState", b.ProvisioningState) 7223 populate(objectMap, "publicIPAddress", b.PublicIPAddress) 7224 populate(objectMap, "subnet", b.Subnet) 7225 return json.Marshal(objectMap) 7226 } 7227 7228 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionHostIPConfigurationPropertiesFormat. 7229 func (b *BastionHostIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 7230 var rawMsg map[string]json.RawMessage 7231 if err := json.Unmarshal(data, &rawMsg); err != nil { 7232 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7233 } 7234 for key, val := range rawMsg { 7235 var err error 7236 switch key { 7237 case "privateIPAllocationMethod": 7238 err = unpopulate(val, "PrivateIPAllocationMethod", &b.PrivateIPAllocationMethod) 7239 delete(rawMsg, key) 7240 case "provisioningState": 7241 err = unpopulate(val, "ProvisioningState", &b.ProvisioningState) 7242 delete(rawMsg, key) 7243 case "publicIPAddress": 7244 err = unpopulate(val, "PublicIPAddress", &b.PublicIPAddress) 7245 delete(rawMsg, key) 7246 case "subnet": 7247 err = unpopulate(val, "Subnet", &b.Subnet) 7248 delete(rawMsg, key) 7249 } 7250 if err != nil { 7251 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7252 } 7253 } 7254 return nil 7255 } 7256 7257 // MarshalJSON implements the json.Marshaller interface for type BastionHostListResult. 7258 func (b BastionHostListResult) MarshalJSON() ([]byte, error) { 7259 objectMap := make(map[string]any) 7260 populate(objectMap, "nextLink", b.NextLink) 7261 populate(objectMap, "value", b.Value) 7262 return json.Marshal(objectMap) 7263 } 7264 7265 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionHostListResult. 7266 func (b *BastionHostListResult) UnmarshalJSON(data []byte) error { 7267 var rawMsg map[string]json.RawMessage 7268 if err := json.Unmarshal(data, &rawMsg); err != nil { 7269 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7270 } 7271 for key, val := range rawMsg { 7272 var err error 7273 switch key { 7274 case "nextLink": 7275 err = unpopulate(val, "NextLink", &b.NextLink) 7276 delete(rawMsg, key) 7277 case "value": 7278 err = unpopulate(val, "Value", &b.Value) 7279 delete(rawMsg, key) 7280 } 7281 if err != nil { 7282 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7283 } 7284 } 7285 return nil 7286 } 7287 7288 // MarshalJSON implements the json.Marshaller interface for type BastionHostPropertiesFormat. 7289 func (b BastionHostPropertiesFormat) MarshalJSON() ([]byte, error) { 7290 objectMap := make(map[string]any) 7291 populate(objectMap, "dnsName", b.DNSName) 7292 populate(objectMap, "disableCopyPaste", b.DisableCopyPaste) 7293 populate(objectMap, "enableFileCopy", b.EnableFileCopy) 7294 populate(objectMap, "enableIpConnect", b.EnableIPConnect) 7295 populate(objectMap, "enableKerberos", b.EnableKerberos) 7296 populate(objectMap, "enablePrivateOnlyBastion", b.EnablePrivateOnlyBastion) 7297 populate(objectMap, "enableSessionRecording", b.EnableSessionRecording) 7298 populate(objectMap, "enableShareableLink", b.EnableShareableLink) 7299 populate(objectMap, "enableTunneling", b.EnableTunneling) 7300 populate(objectMap, "ipConfigurations", b.IPConfigurations) 7301 populate(objectMap, "networkAcls", b.NetworkACLs) 7302 populate(objectMap, "provisioningState", b.ProvisioningState) 7303 populate(objectMap, "scaleUnits", b.ScaleUnits) 7304 populate(objectMap, "virtualNetwork", b.VirtualNetwork) 7305 return json.Marshal(objectMap) 7306 } 7307 7308 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionHostPropertiesFormat. 7309 func (b *BastionHostPropertiesFormat) UnmarshalJSON(data []byte) error { 7310 var rawMsg map[string]json.RawMessage 7311 if err := json.Unmarshal(data, &rawMsg); err != nil { 7312 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7313 } 7314 for key, val := range rawMsg { 7315 var err error 7316 switch key { 7317 case "dnsName": 7318 err = unpopulate(val, "DNSName", &b.DNSName) 7319 delete(rawMsg, key) 7320 case "disableCopyPaste": 7321 err = unpopulate(val, "DisableCopyPaste", &b.DisableCopyPaste) 7322 delete(rawMsg, key) 7323 case "enableFileCopy": 7324 err = unpopulate(val, "EnableFileCopy", &b.EnableFileCopy) 7325 delete(rawMsg, key) 7326 case "enableIpConnect": 7327 err = unpopulate(val, "EnableIPConnect", &b.EnableIPConnect) 7328 delete(rawMsg, key) 7329 case "enableKerberos": 7330 err = unpopulate(val, "EnableKerberos", &b.EnableKerberos) 7331 delete(rawMsg, key) 7332 case "enablePrivateOnlyBastion": 7333 err = unpopulate(val, "EnablePrivateOnlyBastion", &b.EnablePrivateOnlyBastion) 7334 delete(rawMsg, key) 7335 case "enableSessionRecording": 7336 err = unpopulate(val, "EnableSessionRecording", &b.EnableSessionRecording) 7337 delete(rawMsg, key) 7338 case "enableShareableLink": 7339 err = unpopulate(val, "EnableShareableLink", &b.EnableShareableLink) 7340 delete(rawMsg, key) 7341 case "enableTunneling": 7342 err = unpopulate(val, "EnableTunneling", &b.EnableTunneling) 7343 delete(rawMsg, key) 7344 case "ipConfigurations": 7345 err = unpopulate(val, "IPConfigurations", &b.IPConfigurations) 7346 delete(rawMsg, key) 7347 case "networkAcls": 7348 err = unpopulate(val, "NetworkACLs", &b.NetworkACLs) 7349 delete(rawMsg, key) 7350 case "provisioningState": 7351 err = unpopulate(val, "ProvisioningState", &b.ProvisioningState) 7352 delete(rawMsg, key) 7353 case "scaleUnits": 7354 err = unpopulate(val, "ScaleUnits", &b.ScaleUnits) 7355 delete(rawMsg, key) 7356 case "virtualNetwork": 7357 err = unpopulate(val, "VirtualNetwork", &b.VirtualNetwork) 7358 delete(rawMsg, key) 7359 } 7360 if err != nil { 7361 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7362 } 7363 } 7364 return nil 7365 } 7366 7367 // MarshalJSON implements the json.Marshaller interface for type BastionHostPropertiesFormatNetworkACLs. 7368 func (b BastionHostPropertiesFormatNetworkACLs) MarshalJSON() ([]byte, error) { 7369 objectMap := make(map[string]any) 7370 populate(objectMap, "ipRules", b.IPRules) 7371 return json.Marshal(objectMap) 7372 } 7373 7374 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionHostPropertiesFormatNetworkACLs. 7375 func (b *BastionHostPropertiesFormatNetworkACLs) UnmarshalJSON(data []byte) error { 7376 var rawMsg map[string]json.RawMessage 7377 if err := json.Unmarshal(data, &rawMsg); err != nil { 7378 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7379 } 7380 for key, val := range rawMsg { 7381 var err error 7382 switch key { 7383 case "ipRules": 7384 err = unpopulate(val, "IPRules", &b.IPRules) 7385 delete(rawMsg, key) 7386 } 7387 if err != nil { 7388 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7389 } 7390 } 7391 return nil 7392 } 7393 7394 // MarshalJSON implements the json.Marshaller interface for type BastionSessionDeleteResult. 7395 func (b BastionSessionDeleteResult) MarshalJSON() ([]byte, error) { 7396 objectMap := make(map[string]any) 7397 populate(objectMap, "nextLink", b.NextLink) 7398 populate(objectMap, "value", b.Value) 7399 return json.Marshal(objectMap) 7400 } 7401 7402 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionSessionDeleteResult. 7403 func (b *BastionSessionDeleteResult) UnmarshalJSON(data []byte) error { 7404 var rawMsg map[string]json.RawMessage 7405 if err := json.Unmarshal(data, &rawMsg); err != nil { 7406 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7407 } 7408 for key, val := range rawMsg { 7409 var err error 7410 switch key { 7411 case "nextLink": 7412 err = unpopulate(val, "NextLink", &b.NextLink) 7413 delete(rawMsg, key) 7414 case "value": 7415 err = unpopulate(val, "Value", &b.Value) 7416 delete(rawMsg, key) 7417 } 7418 if err != nil { 7419 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7420 } 7421 } 7422 return nil 7423 } 7424 7425 // MarshalJSON implements the json.Marshaller interface for type BastionSessionState. 7426 func (b BastionSessionState) MarshalJSON() ([]byte, error) { 7427 objectMap := make(map[string]any) 7428 populate(objectMap, "message", b.Message) 7429 populate(objectMap, "sessionId", b.SessionID) 7430 populate(objectMap, "state", b.State) 7431 return json.Marshal(objectMap) 7432 } 7433 7434 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionSessionState. 7435 func (b *BastionSessionState) UnmarshalJSON(data []byte) error { 7436 var rawMsg map[string]json.RawMessage 7437 if err := json.Unmarshal(data, &rawMsg); err != nil { 7438 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7439 } 7440 for key, val := range rawMsg { 7441 var err error 7442 switch key { 7443 case "message": 7444 err = unpopulate(val, "Message", &b.Message) 7445 delete(rawMsg, key) 7446 case "sessionId": 7447 err = unpopulate(val, "SessionID", &b.SessionID) 7448 delete(rawMsg, key) 7449 case "state": 7450 err = unpopulate(val, "State", &b.State) 7451 delete(rawMsg, key) 7452 } 7453 if err != nil { 7454 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7455 } 7456 } 7457 return nil 7458 } 7459 7460 // MarshalJSON implements the json.Marshaller interface for type BastionShareableLink. 7461 func (b BastionShareableLink) MarshalJSON() ([]byte, error) { 7462 objectMap := make(map[string]any) 7463 populate(objectMap, "bsl", b.Bsl) 7464 populate(objectMap, "createdAt", b.CreatedAt) 7465 populate(objectMap, "message", b.Message) 7466 populate(objectMap, "vm", b.VM) 7467 return json.Marshal(objectMap) 7468 } 7469 7470 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionShareableLink. 7471 func (b *BastionShareableLink) UnmarshalJSON(data []byte) error { 7472 var rawMsg map[string]json.RawMessage 7473 if err := json.Unmarshal(data, &rawMsg); err != nil { 7474 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7475 } 7476 for key, val := range rawMsg { 7477 var err error 7478 switch key { 7479 case "bsl": 7480 err = unpopulate(val, "Bsl", &b.Bsl) 7481 delete(rawMsg, key) 7482 case "createdAt": 7483 err = unpopulate(val, "CreatedAt", &b.CreatedAt) 7484 delete(rawMsg, key) 7485 case "message": 7486 err = unpopulate(val, "Message", &b.Message) 7487 delete(rawMsg, key) 7488 case "vm": 7489 err = unpopulate(val, "VM", &b.VM) 7490 delete(rawMsg, key) 7491 } 7492 if err != nil { 7493 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7494 } 7495 } 7496 return nil 7497 } 7498 7499 // MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkListRequest. 7500 func (b BastionShareableLinkListRequest) MarshalJSON() ([]byte, error) { 7501 objectMap := make(map[string]any) 7502 populate(objectMap, "vms", b.VMs) 7503 return json.Marshal(objectMap) 7504 } 7505 7506 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionShareableLinkListRequest. 7507 func (b *BastionShareableLinkListRequest) UnmarshalJSON(data []byte) error { 7508 var rawMsg map[string]json.RawMessage 7509 if err := json.Unmarshal(data, &rawMsg); err != nil { 7510 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7511 } 7512 for key, val := range rawMsg { 7513 var err error 7514 switch key { 7515 case "vms": 7516 err = unpopulate(val, "VMs", &b.VMs) 7517 delete(rawMsg, key) 7518 } 7519 if err != nil { 7520 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7521 } 7522 } 7523 return nil 7524 } 7525 7526 // MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkListResult. 7527 func (b BastionShareableLinkListResult) MarshalJSON() ([]byte, error) { 7528 objectMap := make(map[string]any) 7529 populate(objectMap, "nextLink", b.NextLink) 7530 populate(objectMap, "value", b.Value) 7531 return json.Marshal(objectMap) 7532 } 7533 7534 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionShareableLinkListResult. 7535 func (b *BastionShareableLinkListResult) UnmarshalJSON(data []byte) error { 7536 var rawMsg map[string]json.RawMessage 7537 if err := json.Unmarshal(data, &rawMsg); err != nil { 7538 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7539 } 7540 for key, val := range rawMsg { 7541 var err error 7542 switch key { 7543 case "nextLink": 7544 err = unpopulate(val, "NextLink", &b.NextLink) 7545 delete(rawMsg, key) 7546 case "value": 7547 err = unpopulate(val, "Value", &b.Value) 7548 delete(rawMsg, key) 7549 } 7550 if err != nil { 7551 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7552 } 7553 } 7554 return nil 7555 } 7556 7557 // MarshalJSON implements the json.Marshaller interface for type BastionShareableLinkTokenListRequest. 7558 func (b BastionShareableLinkTokenListRequest) MarshalJSON() ([]byte, error) { 7559 objectMap := make(map[string]any) 7560 populate(objectMap, "tokens", b.Tokens) 7561 return json.Marshal(objectMap) 7562 } 7563 7564 // UnmarshalJSON implements the json.Unmarshaller interface for type BastionShareableLinkTokenListRequest. 7565 func (b *BastionShareableLinkTokenListRequest) UnmarshalJSON(data []byte) error { 7566 var rawMsg map[string]json.RawMessage 7567 if err := json.Unmarshal(data, &rawMsg); err != nil { 7568 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7569 } 7570 for key, val := range rawMsg { 7571 var err error 7572 switch key { 7573 case "tokens": 7574 err = unpopulate(val, "Tokens", &b.Tokens) 7575 delete(rawMsg, key) 7576 } 7577 if err != nil { 7578 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7579 } 7580 } 7581 return nil 7582 } 7583 7584 // MarshalJSON implements the json.Marshaller interface for type BgpConnection. 7585 func (b BgpConnection) MarshalJSON() ([]byte, error) { 7586 objectMap := make(map[string]any) 7587 populate(objectMap, "etag", b.Etag) 7588 populate(objectMap, "id", b.ID) 7589 populate(objectMap, "name", b.Name) 7590 populate(objectMap, "properties", b.Properties) 7591 populate(objectMap, "type", b.Type) 7592 return json.Marshal(objectMap) 7593 } 7594 7595 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpConnection. 7596 func (b *BgpConnection) UnmarshalJSON(data []byte) error { 7597 var rawMsg map[string]json.RawMessage 7598 if err := json.Unmarshal(data, &rawMsg); err != nil { 7599 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7600 } 7601 for key, val := range rawMsg { 7602 var err error 7603 switch key { 7604 case "etag": 7605 err = unpopulate(val, "Etag", &b.Etag) 7606 delete(rawMsg, key) 7607 case "id": 7608 err = unpopulate(val, "ID", &b.ID) 7609 delete(rawMsg, key) 7610 case "name": 7611 err = unpopulate(val, "Name", &b.Name) 7612 delete(rawMsg, key) 7613 case "properties": 7614 err = unpopulate(val, "Properties", &b.Properties) 7615 delete(rawMsg, key) 7616 case "type": 7617 err = unpopulate(val, "Type", &b.Type) 7618 delete(rawMsg, key) 7619 } 7620 if err != nil { 7621 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7622 } 7623 } 7624 return nil 7625 } 7626 7627 // MarshalJSON implements the json.Marshaller interface for type BgpConnectionProperties. 7628 func (b BgpConnectionProperties) MarshalJSON() ([]byte, error) { 7629 objectMap := make(map[string]any) 7630 populate(objectMap, "connectionState", b.ConnectionState) 7631 populate(objectMap, "hubVirtualNetworkConnection", b.HubVirtualNetworkConnection) 7632 populate(objectMap, "peerAsn", b.PeerAsn) 7633 populate(objectMap, "peerIp", b.PeerIP) 7634 populate(objectMap, "provisioningState", b.ProvisioningState) 7635 return json.Marshal(objectMap) 7636 } 7637 7638 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpConnectionProperties. 7639 func (b *BgpConnectionProperties) UnmarshalJSON(data []byte) error { 7640 var rawMsg map[string]json.RawMessage 7641 if err := json.Unmarshal(data, &rawMsg); err != nil { 7642 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7643 } 7644 for key, val := range rawMsg { 7645 var err error 7646 switch key { 7647 case "connectionState": 7648 err = unpopulate(val, "ConnectionState", &b.ConnectionState) 7649 delete(rawMsg, key) 7650 case "hubVirtualNetworkConnection": 7651 err = unpopulate(val, "HubVirtualNetworkConnection", &b.HubVirtualNetworkConnection) 7652 delete(rawMsg, key) 7653 case "peerAsn": 7654 err = unpopulate(val, "PeerAsn", &b.PeerAsn) 7655 delete(rawMsg, key) 7656 case "peerIp": 7657 err = unpopulate(val, "PeerIP", &b.PeerIP) 7658 delete(rawMsg, key) 7659 case "provisioningState": 7660 err = unpopulate(val, "ProvisioningState", &b.ProvisioningState) 7661 delete(rawMsg, key) 7662 } 7663 if err != nil { 7664 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7665 } 7666 } 7667 return nil 7668 } 7669 7670 // MarshalJSON implements the json.Marshaller interface for type BgpPeerStatus. 7671 func (b BgpPeerStatus) MarshalJSON() ([]byte, error) { 7672 objectMap := make(map[string]any) 7673 populate(objectMap, "asn", b.Asn) 7674 populate(objectMap, "connectedDuration", b.ConnectedDuration) 7675 populate(objectMap, "localAddress", b.LocalAddress) 7676 populate(objectMap, "messagesReceived", b.MessagesReceived) 7677 populate(objectMap, "messagesSent", b.MessagesSent) 7678 populate(objectMap, "neighbor", b.Neighbor) 7679 populate(objectMap, "routesReceived", b.RoutesReceived) 7680 populate(objectMap, "state", b.State) 7681 return json.Marshal(objectMap) 7682 } 7683 7684 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpPeerStatus. 7685 func (b *BgpPeerStatus) UnmarshalJSON(data []byte) error { 7686 var rawMsg map[string]json.RawMessage 7687 if err := json.Unmarshal(data, &rawMsg); err != nil { 7688 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7689 } 7690 for key, val := range rawMsg { 7691 var err error 7692 switch key { 7693 case "asn": 7694 err = unpopulate(val, "Asn", &b.Asn) 7695 delete(rawMsg, key) 7696 case "connectedDuration": 7697 err = unpopulate(val, "ConnectedDuration", &b.ConnectedDuration) 7698 delete(rawMsg, key) 7699 case "localAddress": 7700 err = unpopulate(val, "LocalAddress", &b.LocalAddress) 7701 delete(rawMsg, key) 7702 case "messagesReceived": 7703 err = unpopulate(val, "MessagesReceived", &b.MessagesReceived) 7704 delete(rawMsg, key) 7705 case "messagesSent": 7706 err = unpopulate(val, "MessagesSent", &b.MessagesSent) 7707 delete(rawMsg, key) 7708 case "neighbor": 7709 err = unpopulate(val, "Neighbor", &b.Neighbor) 7710 delete(rawMsg, key) 7711 case "routesReceived": 7712 err = unpopulate(val, "RoutesReceived", &b.RoutesReceived) 7713 delete(rawMsg, key) 7714 case "state": 7715 err = unpopulate(val, "State", &b.State) 7716 delete(rawMsg, key) 7717 } 7718 if err != nil { 7719 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7720 } 7721 } 7722 return nil 7723 } 7724 7725 // MarshalJSON implements the json.Marshaller interface for type BgpPeerStatusListResult. 7726 func (b BgpPeerStatusListResult) MarshalJSON() ([]byte, error) { 7727 objectMap := make(map[string]any) 7728 populate(objectMap, "value", b.Value) 7729 return json.Marshal(objectMap) 7730 } 7731 7732 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpPeerStatusListResult. 7733 func (b *BgpPeerStatusListResult) UnmarshalJSON(data []byte) error { 7734 var rawMsg map[string]json.RawMessage 7735 if err := json.Unmarshal(data, &rawMsg); err != nil { 7736 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7737 } 7738 for key, val := range rawMsg { 7739 var err error 7740 switch key { 7741 case "value": 7742 err = unpopulate(val, "Value", &b.Value) 7743 delete(rawMsg, key) 7744 } 7745 if err != nil { 7746 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7747 } 7748 } 7749 return nil 7750 } 7751 7752 // MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunity. 7753 func (b BgpServiceCommunity) MarshalJSON() ([]byte, error) { 7754 objectMap := make(map[string]any) 7755 populate(objectMap, "id", b.ID) 7756 populate(objectMap, "location", b.Location) 7757 populate(objectMap, "name", b.Name) 7758 populate(objectMap, "properties", b.Properties) 7759 populate(objectMap, "tags", b.Tags) 7760 populate(objectMap, "type", b.Type) 7761 return json.Marshal(objectMap) 7762 } 7763 7764 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpServiceCommunity. 7765 func (b *BgpServiceCommunity) UnmarshalJSON(data []byte) error { 7766 var rawMsg map[string]json.RawMessage 7767 if err := json.Unmarshal(data, &rawMsg); err != nil { 7768 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7769 } 7770 for key, val := range rawMsg { 7771 var err error 7772 switch key { 7773 case "id": 7774 err = unpopulate(val, "ID", &b.ID) 7775 delete(rawMsg, key) 7776 case "location": 7777 err = unpopulate(val, "Location", &b.Location) 7778 delete(rawMsg, key) 7779 case "name": 7780 err = unpopulate(val, "Name", &b.Name) 7781 delete(rawMsg, key) 7782 case "properties": 7783 err = unpopulate(val, "Properties", &b.Properties) 7784 delete(rawMsg, key) 7785 case "tags": 7786 err = unpopulate(val, "Tags", &b.Tags) 7787 delete(rawMsg, key) 7788 case "type": 7789 err = unpopulate(val, "Type", &b.Type) 7790 delete(rawMsg, key) 7791 } 7792 if err != nil { 7793 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7794 } 7795 } 7796 return nil 7797 } 7798 7799 // MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunityListResult. 7800 func (b BgpServiceCommunityListResult) MarshalJSON() ([]byte, error) { 7801 objectMap := make(map[string]any) 7802 populate(objectMap, "nextLink", b.NextLink) 7803 populate(objectMap, "value", b.Value) 7804 return json.Marshal(objectMap) 7805 } 7806 7807 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpServiceCommunityListResult. 7808 func (b *BgpServiceCommunityListResult) UnmarshalJSON(data []byte) error { 7809 var rawMsg map[string]json.RawMessage 7810 if err := json.Unmarshal(data, &rawMsg); err != nil { 7811 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7812 } 7813 for key, val := range rawMsg { 7814 var err error 7815 switch key { 7816 case "nextLink": 7817 err = unpopulate(val, "NextLink", &b.NextLink) 7818 delete(rawMsg, key) 7819 case "value": 7820 err = unpopulate(val, "Value", &b.Value) 7821 delete(rawMsg, key) 7822 } 7823 if err != nil { 7824 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7825 } 7826 } 7827 return nil 7828 } 7829 7830 // MarshalJSON implements the json.Marshaller interface for type BgpServiceCommunityPropertiesFormat. 7831 func (b BgpServiceCommunityPropertiesFormat) MarshalJSON() ([]byte, error) { 7832 objectMap := make(map[string]any) 7833 populate(objectMap, "bgpCommunities", b.BgpCommunities) 7834 populate(objectMap, "serviceName", b.ServiceName) 7835 return json.Marshal(objectMap) 7836 } 7837 7838 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpServiceCommunityPropertiesFormat. 7839 func (b *BgpServiceCommunityPropertiesFormat) UnmarshalJSON(data []byte) error { 7840 var rawMsg map[string]json.RawMessage 7841 if err := json.Unmarshal(data, &rawMsg); err != nil { 7842 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7843 } 7844 for key, val := range rawMsg { 7845 var err error 7846 switch key { 7847 case "bgpCommunities": 7848 err = unpopulate(val, "BgpCommunities", &b.BgpCommunities) 7849 delete(rawMsg, key) 7850 case "serviceName": 7851 err = unpopulate(val, "ServiceName", &b.ServiceName) 7852 delete(rawMsg, key) 7853 } 7854 if err != nil { 7855 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7856 } 7857 } 7858 return nil 7859 } 7860 7861 // MarshalJSON implements the json.Marshaller interface for type BgpSettings. 7862 func (b BgpSettings) MarshalJSON() ([]byte, error) { 7863 objectMap := make(map[string]any) 7864 populate(objectMap, "asn", b.Asn) 7865 populate(objectMap, "bgpPeeringAddress", b.BgpPeeringAddress) 7866 populate(objectMap, "bgpPeeringAddresses", b.BgpPeeringAddresses) 7867 populate(objectMap, "peerWeight", b.PeerWeight) 7868 return json.Marshal(objectMap) 7869 } 7870 7871 // UnmarshalJSON implements the json.Unmarshaller interface for type BgpSettings. 7872 func (b *BgpSettings) UnmarshalJSON(data []byte) error { 7873 var rawMsg map[string]json.RawMessage 7874 if err := json.Unmarshal(data, &rawMsg); err != nil { 7875 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7876 } 7877 for key, val := range rawMsg { 7878 var err error 7879 switch key { 7880 case "asn": 7881 err = unpopulate(val, "Asn", &b.Asn) 7882 delete(rawMsg, key) 7883 case "bgpPeeringAddress": 7884 err = unpopulate(val, "BgpPeeringAddress", &b.BgpPeeringAddress) 7885 delete(rawMsg, key) 7886 case "bgpPeeringAddresses": 7887 err = unpopulate(val, "BgpPeeringAddresses", &b.BgpPeeringAddresses) 7888 delete(rawMsg, key) 7889 case "peerWeight": 7890 err = unpopulate(val, "PeerWeight", &b.PeerWeight) 7891 delete(rawMsg, key) 7892 } 7893 if err != nil { 7894 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7895 } 7896 } 7897 return nil 7898 } 7899 7900 // MarshalJSON implements the json.Marshaller interface for type BreakOutCategoryPolicies. 7901 func (b BreakOutCategoryPolicies) MarshalJSON() ([]byte, error) { 7902 objectMap := make(map[string]any) 7903 populate(objectMap, "allow", b.Allow) 7904 populate(objectMap, "default", b.Default) 7905 populate(objectMap, "optimize", b.Optimize) 7906 return json.Marshal(objectMap) 7907 } 7908 7909 // UnmarshalJSON implements the json.Unmarshaller interface for type BreakOutCategoryPolicies. 7910 func (b *BreakOutCategoryPolicies) UnmarshalJSON(data []byte) error { 7911 var rawMsg map[string]json.RawMessage 7912 if err := json.Unmarshal(data, &rawMsg); err != nil { 7913 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7914 } 7915 for key, val := range rawMsg { 7916 var err error 7917 switch key { 7918 case "allow": 7919 err = unpopulate(val, "Allow", &b.Allow) 7920 delete(rawMsg, key) 7921 case "default": 7922 err = unpopulate(val, "Default", &b.Default) 7923 delete(rawMsg, key) 7924 case "optimize": 7925 err = unpopulate(val, "Optimize", &b.Optimize) 7926 delete(rawMsg, key) 7927 } 7928 if err != nil { 7929 return fmt.Errorf("unmarshalling type %T: %v", b, err) 7930 } 7931 } 7932 return nil 7933 } 7934 7935 // MarshalJSON implements the json.Marshaller interface for type CheckPrivateLinkServiceVisibilityRequest. 7936 func (c CheckPrivateLinkServiceVisibilityRequest) MarshalJSON() ([]byte, error) { 7937 objectMap := make(map[string]any) 7938 populate(objectMap, "privateLinkServiceAlias", c.PrivateLinkServiceAlias) 7939 return json.Marshal(objectMap) 7940 } 7941 7942 // UnmarshalJSON implements the json.Unmarshaller interface for type CheckPrivateLinkServiceVisibilityRequest. 7943 func (c *CheckPrivateLinkServiceVisibilityRequest) UnmarshalJSON(data []byte) error { 7944 var rawMsg map[string]json.RawMessage 7945 if err := json.Unmarshal(data, &rawMsg); err != nil { 7946 return fmt.Errorf("unmarshalling type %T: %v", c, err) 7947 } 7948 for key, val := range rawMsg { 7949 var err error 7950 switch key { 7951 case "privateLinkServiceAlias": 7952 err = unpopulate(val, "PrivateLinkServiceAlias", &c.PrivateLinkServiceAlias) 7953 delete(rawMsg, key) 7954 } 7955 if err != nil { 7956 return fmt.Errorf("unmarshalling type %T: %v", c, err) 7957 } 7958 } 7959 return nil 7960 } 7961 7962 // MarshalJSON implements the json.Marshaller interface for type ChildResource. 7963 func (c ChildResource) MarshalJSON() ([]byte, error) { 7964 objectMap := make(map[string]any) 7965 populate(objectMap, "etag", c.Etag) 7966 populate(objectMap, "id", c.ID) 7967 populate(objectMap, "name", c.Name) 7968 populate(objectMap, "type", c.Type) 7969 return json.Marshal(objectMap) 7970 } 7971 7972 // UnmarshalJSON implements the json.Unmarshaller interface for type ChildResource. 7973 func (c *ChildResource) UnmarshalJSON(data []byte) error { 7974 var rawMsg map[string]json.RawMessage 7975 if err := json.Unmarshal(data, &rawMsg); err != nil { 7976 return fmt.Errorf("unmarshalling type %T: %v", c, err) 7977 } 7978 for key, val := range rawMsg { 7979 var err error 7980 switch key { 7981 case "etag": 7982 err = unpopulate(val, "Etag", &c.Etag) 7983 delete(rawMsg, key) 7984 case "id": 7985 err = unpopulate(val, "ID", &c.ID) 7986 delete(rawMsg, key) 7987 case "name": 7988 err = unpopulate(val, "Name", &c.Name) 7989 delete(rawMsg, key) 7990 case "type": 7991 err = unpopulate(val, "Type", &c.Type) 7992 delete(rawMsg, key) 7993 } 7994 if err != nil { 7995 return fmt.Errorf("unmarshalling type %T: %v", c, err) 7996 } 7997 } 7998 return nil 7999 } 8000 8001 // MarshalJSON implements the json.Marshaller interface for type CommonErrorAdditionalInfo. 8002 func (c CommonErrorAdditionalInfo) MarshalJSON() ([]byte, error) { 8003 objectMap := make(map[string]any) 8004 populateAny(objectMap, "info", c.Info) 8005 populate(objectMap, "type", c.Type) 8006 return json.Marshal(objectMap) 8007 } 8008 8009 // UnmarshalJSON implements the json.Unmarshaller interface for type CommonErrorAdditionalInfo. 8010 func (c *CommonErrorAdditionalInfo) UnmarshalJSON(data []byte) error { 8011 var rawMsg map[string]json.RawMessage 8012 if err := json.Unmarshal(data, &rawMsg); err != nil { 8013 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8014 } 8015 for key, val := range rawMsg { 8016 var err error 8017 switch key { 8018 case "info": 8019 err = unpopulate(val, "Info", &c.Info) 8020 delete(rawMsg, key) 8021 case "type": 8022 err = unpopulate(val, "Type", &c.Type) 8023 delete(rawMsg, key) 8024 } 8025 if err != nil { 8026 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8027 } 8028 } 8029 return nil 8030 } 8031 8032 // MarshalJSON implements the json.Marshaller interface for type CommonErrorDetail. 8033 func (c CommonErrorDetail) MarshalJSON() ([]byte, error) { 8034 objectMap := make(map[string]any) 8035 populate(objectMap, "additionalInfo", c.AdditionalInfo) 8036 populate(objectMap, "code", c.Code) 8037 populate(objectMap, "details", c.Details) 8038 populate(objectMap, "message", c.Message) 8039 populate(objectMap, "target", c.Target) 8040 return json.Marshal(objectMap) 8041 } 8042 8043 // UnmarshalJSON implements the json.Unmarshaller interface for type CommonErrorDetail. 8044 func (c *CommonErrorDetail) UnmarshalJSON(data []byte) error { 8045 var rawMsg map[string]json.RawMessage 8046 if err := json.Unmarshal(data, &rawMsg); err != nil { 8047 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8048 } 8049 for key, val := range rawMsg { 8050 var err error 8051 switch key { 8052 case "additionalInfo": 8053 err = unpopulate(val, "AdditionalInfo", &c.AdditionalInfo) 8054 delete(rawMsg, key) 8055 case "code": 8056 err = unpopulate(val, "Code", &c.Code) 8057 delete(rawMsg, key) 8058 case "details": 8059 err = unpopulate(val, "Details", &c.Details) 8060 delete(rawMsg, key) 8061 case "message": 8062 err = unpopulate(val, "Message", &c.Message) 8063 delete(rawMsg, key) 8064 case "target": 8065 err = unpopulate(val, "Target", &c.Target) 8066 delete(rawMsg, key) 8067 } 8068 if err != nil { 8069 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8070 } 8071 } 8072 return nil 8073 } 8074 8075 // MarshalJSON implements the json.Marshaller interface for type CommonErrorResponse. 8076 func (c CommonErrorResponse) MarshalJSON() ([]byte, error) { 8077 objectMap := make(map[string]any) 8078 populate(objectMap, "error", c.Error) 8079 return json.Marshal(objectMap) 8080 } 8081 8082 // UnmarshalJSON implements the json.Unmarshaller interface for type CommonErrorResponse. 8083 func (c *CommonErrorResponse) UnmarshalJSON(data []byte) error { 8084 var rawMsg map[string]json.RawMessage 8085 if err := json.Unmarshal(data, &rawMsg); err != nil { 8086 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8087 } 8088 for key, val := range rawMsg { 8089 var err error 8090 switch key { 8091 case "error": 8092 err = unpopulate(val, "Error", &c.Error) 8093 delete(rawMsg, key) 8094 } 8095 if err != nil { 8096 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8097 } 8098 } 8099 return nil 8100 } 8101 8102 // MarshalJSON implements the json.Marshaller interface for type CommonProxyResource. 8103 func (c CommonProxyResource) MarshalJSON() ([]byte, error) { 8104 objectMap := make(map[string]any) 8105 populate(objectMap, "id", c.ID) 8106 populate(objectMap, "name", c.Name) 8107 populate(objectMap, "systemData", c.SystemData) 8108 populate(objectMap, "type", c.Type) 8109 return json.Marshal(objectMap) 8110 } 8111 8112 // UnmarshalJSON implements the json.Unmarshaller interface for type CommonProxyResource. 8113 func (c *CommonProxyResource) UnmarshalJSON(data []byte) error { 8114 var rawMsg map[string]json.RawMessage 8115 if err := json.Unmarshal(data, &rawMsg); err != nil { 8116 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8117 } 8118 for key, val := range rawMsg { 8119 var err error 8120 switch key { 8121 case "id": 8122 err = unpopulate(val, "ID", &c.ID) 8123 delete(rawMsg, key) 8124 case "name": 8125 err = unpopulate(val, "Name", &c.Name) 8126 delete(rawMsg, key) 8127 case "systemData": 8128 err = unpopulate(val, "SystemData", &c.SystemData) 8129 delete(rawMsg, key) 8130 case "type": 8131 err = unpopulate(val, "Type", &c.Type) 8132 delete(rawMsg, key) 8133 } 8134 if err != nil { 8135 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8136 } 8137 } 8138 return nil 8139 } 8140 8141 // MarshalJSON implements the json.Marshaller interface for type CommonResource. 8142 func (c CommonResource) MarshalJSON() ([]byte, error) { 8143 objectMap := make(map[string]any) 8144 populate(objectMap, "id", c.ID) 8145 populate(objectMap, "name", c.Name) 8146 populate(objectMap, "systemData", c.SystemData) 8147 populate(objectMap, "type", c.Type) 8148 return json.Marshal(objectMap) 8149 } 8150 8151 // UnmarshalJSON implements the json.Unmarshaller interface for type CommonResource. 8152 func (c *CommonResource) UnmarshalJSON(data []byte) error { 8153 var rawMsg map[string]json.RawMessage 8154 if err := json.Unmarshal(data, &rawMsg); err != nil { 8155 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8156 } 8157 for key, val := range rawMsg { 8158 var err error 8159 switch key { 8160 case "id": 8161 err = unpopulate(val, "ID", &c.ID) 8162 delete(rawMsg, key) 8163 case "name": 8164 err = unpopulate(val, "Name", &c.Name) 8165 delete(rawMsg, key) 8166 case "systemData": 8167 err = unpopulate(val, "SystemData", &c.SystemData) 8168 delete(rawMsg, key) 8169 case "type": 8170 err = unpopulate(val, "Type", &c.Type) 8171 delete(rawMsg, key) 8172 } 8173 if err != nil { 8174 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8175 } 8176 } 8177 return nil 8178 } 8179 8180 // MarshalJSON implements the json.Marshaller interface for type CommonTrackedResource. 8181 func (c CommonTrackedResource) MarshalJSON() ([]byte, error) { 8182 objectMap := make(map[string]any) 8183 populate(objectMap, "id", c.ID) 8184 populate(objectMap, "location", c.Location) 8185 populate(objectMap, "name", c.Name) 8186 populate(objectMap, "systemData", c.SystemData) 8187 populate(objectMap, "tags", c.Tags) 8188 populate(objectMap, "type", c.Type) 8189 return json.Marshal(objectMap) 8190 } 8191 8192 // UnmarshalJSON implements the json.Unmarshaller interface for type CommonTrackedResource. 8193 func (c *CommonTrackedResource) UnmarshalJSON(data []byte) error { 8194 var rawMsg map[string]json.RawMessage 8195 if err := json.Unmarshal(data, &rawMsg); err != nil { 8196 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8197 } 8198 for key, val := range rawMsg { 8199 var err error 8200 switch key { 8201 case "id": 8202 err = unpopulate(val, "ID", &c.ID) 8203 delete(rawMsg, key) 8204 case "location": 8205 err = unpopulate(val, "Location", &c.Location) 8206 delete(rawMsg, key) 8207 case "name": 8208 err = unpopulate(val, "Name", &c.Name) 8209 delete(rawMsg, key) 8210 case "systemData": 8211 err = unpopulate(val, "SystemData", &c.SystemData) 8212 delete(rawMsg, key) 8213 case "tags": 8214 err = unpopulate(val, "Tags", &c.Tags) 8215 delete(rawMsg, key) 8216 case "type": 8217 err = unpopulate(val, "Type", &c.Type) 8218 delete(rawMsg, key) 8219 } 8220 if err != nil { 8221 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8222 } 8223 } 8224 return nil 8225 } 8226 8227 // MarshalJSON implements the json.Marshaller interface for type Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. 8228 func (c Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties) MarshalJSON() ([]byte, error) { 8229 objectMap := make(map[string]any) 8230 populate(objectMap, "clientId", c.ClientID) 8231 populate(objectMap, "principalId", c.PrincipalID) 8232 return json.Marshal(objectMap) 8233 } 8234 8235 // UnmarshalJSON implements the json.Unmarshaller interface for type Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. 8236 func (c *Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties) UnmarshalJSON(data []byte) error { 8237 var rawMsg map[string]json.RawMessage 8238 if err := json.Unmarshal(data, &rawMsg); err != nil { 8239 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8240 } 8241 for key, val := range rawMsg { 8242 var err error 8243 switch key { 8244 case "clientId": 8245 err = unpopulate(val, "ClientID", &c.ClientID) 8246 delete(rawMsg, key) 8247 case "principalId": 8248 err = unpopulate(val, "PrincipalID", &c.PrincipalID) 8249 delete(rawMsg, key) 8250 } 8251 if err != nil { 8252 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8253 } 8254 } 8255 return nil 8256 } 8257 8258 // MarshalJSON implements the json.Marshaller interface for type ConfigurationDiagnosticParameters. 8259 func (c ConfigurationDiagnosticParameters) MarshalJSON() ([]byte, error) { 8260 objectMap := make(map[string]any) 8261 populate(objectMap, "profiles", c.Profiles) 8262 populate(objectMap, "targetResourceId", c.TargetResourceID) 8263 populate(objectMap, "verbosityLevel", c.VerbosityLevel) 8264 return json.Marshal(objectMap) 8265 } 8266 8267 // UnmarshalJSON implements the json.Unmarshaller interface for type ConfigurationDiagnosticParameters. 8268 func (c *ConfigurationDiagnosticParameters) UnmarshalJSON(data []byte) error { 8269 var rawMsg map[string]json.RawMessage 8270 if err := json.Unmarshal(data, &rawMsg); err != nil { 8271 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8272 } 8273 for key, val := range rawMsg { 8274 var err error 8275 switch key { 8276 case "profiles": 8277 err = unpopulate(val, "Profiles", &c.Profiles) 8278 delete(rawMsg, key) 8279 case "targetResourceId": 8280 err = unpopulate(val, "TargetResourceID", &c.TargetResourceID) 8281 delete(rawMsg, key) 8282 case "verbosityLevel": 8283 err = unpopulate(val, "VerbosityLevel", &c.VerbosityLevel) 8284 delete(rawMsg, key) 8285 } 8286 if err != nil { 8287 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8288 } 8289 } 8290 return nil 8291 } 8292 8293 // MarshalJSON implements the json.Marshaller interface for type ConfigurationDiagnosticProfile. 8294 func (c ConfigurationDiagnosticProfile) MarshalJSON() ([]byte, error) { 8295 objectMap := make(map[string]any) 8296 populate(objectMap, "destination", c.Destination) 8297 populate(objectMap, "destinationPort", c.DestinationPort) 8298 populate(objectMap, "direction", c.Direction) 8299 populate(objectMap, "protocol", c.Protocol) 8300 populate(objectMap, "source", c.Source) 8301 return json.Marshal(objectMap) 8302 } 8303 8304 // UnmarshalJSON implements the json.Unmarshaller interface for type ConfigurationDiagnosticProfile. 8305 func (c *ConfigurationDiagnosticProfile) UnmarshalJSON(data []byte) error { 8306 var rawMsg map[string]json.RawMessage 8307 if err := json.Unmarshal(data, &rawMsg); err != nil { 8308 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8309 } 8310 for key, val := range rawMsg { 8311 var err error 8312 switch key { 8313 case "destination": 8314 err = unpopulate(val, "Destination", &c.Destination) 8315 delete(rawMsg, key) 8316 case "destinationPort": 8317 err = unpopulate(val, "DestinationPort", &c.DestinationPort) 8318 delete(rawMsg, key) 8319 case "direction": 8320 err = unpopulate(val, "Direction", &c.Direction) 8321 delete(rawMsg, key) 8322 case "protocol": 8323 err = unpopulate(val, "Protocol", &c.Protocol) 8324 delete(rawMsg, key) 8325 case "source": 8326 err = unpopulate(val, "Source", &c.Source) 8327 delete(rawMsg, key) 8328 } 8329 if err != nil { 8330 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8331 } 8332 } 8333 return nil 8334 } 8335 8336 // MarshalJSON implements the json.Marshaller interface for type ConfigurationDiagnosticResponse. 8337 func (c ConfigurationDiagnosticResponse) MarshalJSON() ([]byte, error) { 8338 objectMap := make(map[string]any) 8339 populate(objectMap, "results", c.Results) 8340 return json.Marshal(objectMap) 8341 } 8342 8343 // UnmarshalJSON implements the json.Unmarshaller interface for type ConfigurationDiagnosticResponse. 8344 func (c *ConfigurationDiagnosticResponse) UnmarshalJSON(data []byte) error { 8345 var rawMsg map[string]json.RawMessage 8346 if err := json.Unmarshal(data, &rawMsg); err != nil { 8347 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8348 } 8349 for key, val := range rawMsg { 8350 var err error 8351 switch key { 8352 case "results": 8353 err = unpopulate(val, "Results", &c.Results) 8354 delete(rawMsg, key) 8355 } 8356 if err != nil { 8357 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8358 } 8359 } 8360 return nil 8361 } 8362 8363 // MarshalJSON implements the json.Marshaller interface for type ConfigurationDiagnosticResult. 8364 func (c ConfigurationDiagnosticResult) MarshalJSON() ([]byte, error) { 8365 objectMap := make(map[string]any) 8366 populate(objectMap, "networkSecurityGroupResult", c.NetworkSecurityGroupResult) 8367 populate(objectMap, "profile", c.Profile) 8368 return json.Marshal(objectMap) 8369 } 8370 8371 // UnmarshalJSON implements the json.Unmarshaller interface for type ConfigurationDiagnosticResult. 8372 func (c *ConfigurationDiagnosticResult) UnmarshalJSON(data []byte) error { 8373 var rawMsg map[string]json.RawMessage 8374 if err := json.Unmarshal(data, &rawMsg); err != nil { 8375 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8376 } 8377 for key, val := range rawMsg { 8378 var err error 8379 switch key { 8380 case "networkSecurityGroupResult": 8381 err = unpopulate(val, "NetworkSecurityGroupResult", &c.NetworkSecurityGroupResult) 8382 delete(rawMsg, key) 8383 case "profile": 8384 err = unpopulate(val, "Profile", &c.Profile) 8385 delete(rawMsg, key) 8386 } 8387 if err != nil { 8388 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8389 } 8390 } 8391 return nil 8392 } 8393 8394 // MarshalJSON implements the json.Marshaller interface for type ConfigurationGroup. 8395 func (c ConfigurationGroup) MarshalJSON() ([]byte, error) { 8396 objectMap := make(map[string]any) 8397 populate(objectMap, "id", c.ID) 8398 populate(objectMap, "properties", c.Properties) 8399 return json.Marshal(objectMap) 8400 } 8401 8402 // UnmarshalJSON implements the json.Unmarshaller interface for type ConfigurationGroup. 8403 func (c *ConfigurationGroup) UnmarshalJSON(data []byte) error { 8404 var rawMsg map[string]json.RawMessage 8405 if err := json.Unmarshal(data, &rawMsg); err != nil { 8406 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8407 } 8408 for key, val := range rawMsg { 8409 var err error 8410 switch key { 8411 case "id": 8412 err = unpopulate(val, "ID", &c.ID) 8413 delete(rawMsg, key) 8414 case "properties": 8415 err = unpopulate(val, "Properties", &c.Properties) 8416 delete(rawMsg, key) 8417 } 8418 if err != nil { 8419 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8420 } 8421 } 8422 return nil 8423 } 8424 8425 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitor. 8426 func (c ConnectionMonitor) MarshalJSON() ([]byte, error) { 8427 objectMap := make(map[string]any) 8428 populate(objectMap, "location", c.Location) 8429 populate(objectMap, "properties", c.Properties) 8430 populate(objectMap, "tags", c.Tags) 8431 return json.Marshal(objectMap) 8432 } 8433 8434 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitor. 8435 func (c *ConnectionMonitor) UnmarshalJSON(data []byte) error { 8436 var rawMsg map[string]json.RawMessage 8437 if err := json.Unmarshal(data, &rawMsg); err != nil { 8438 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8439 } 8440 for key, val := range rawMsg { 8441 var err error 8442 switch key { 8443 case "location": 8444 err = unpopulate(val, "Location", &c.Location) 8445 delete(rawMsg, key) 8446 case "properties": 8447 err = unpopulate(val, "Properties", &c.Properties) 8448 delete(rawMsg, key) 8449 case "tags": 8450 err = unpopulate(val, "Tags", &c.Tags) 8451 delete(rawMsg, key) 8452 } 8453 if err != nil { 8454 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8455 } 8456 } 8457 return nil 8458 } 8459 8460 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorDestination. 8461 func (c ConnectionMonitorDestination) MarshalJSON() ([]byte, error) { 8462 objectMap := make(map[string]any) 8463 populate(objectMap, "address", c.Address) 8464 populate(objectMap, "port", c.Port) 8465 populate(objectMap, "resourceId", c.ResourceID) 8466 return json.Marshal(objectMap) 8467 } 8468 8469 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorDestination. 8470 func (c *ConnectionMonitorDestination) UnmarshalJSON(data []byte) error { 8471 var rawMsg map[string]json.RawMessage 8472 if err := json.Unmarshal(data, &rawMsg); err != nil { 8473 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8474 } 8475 for key, val := range rawMsg { 8476 var err error 8477 switch key { 8478 case "address": 8479 err = unpopulate(val, "Address", &c.Address) 8480 delete(rawMsg, key) 8481 case "port": 8482 err = unpopulate(val, "Port", &c.Port) 8483 delete(rawMsg, key) 8484 case "resourceId": 8485 err = unpopulate(val, "ResourceID", &c.ResourceID) 8486 delete(rawMsg, key) 8487 } 8488 if err != nil { 8489 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8490 } 8491 } 8492 return nil 8493 } 8494 8495 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpoint. 8496 func (c ConnectionMonitorEndpoint) MarshalJSON() ([]byte, error) { 8497 objectMap := make(map[string]any) 8498 populate(objectMap, "address", c.Address) 8499 populate(objectMap, "coverageLevel", c.CoverageLevel) 8500 populate(objectMap, "filter", c.Filter) 8501 populate(objectMap, "locationDetails", c.LocationDetails) 8502 populate(objectMap, "name", c.Name) 8503 populate(objectMap, "resourceId", c.ResourceID) 8504 populate(objectMap, "scope", c.Scope) 8505 populate(objectMap, "subscriptionId", c.SubscriptionID) 8506 populate(objectMap, "type", c.Type) 8507 return json.Marshal(objectMap) 8508 } 8509 8510 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorEndpoint. 8511 func (c *ConnectionMonitorEndpoint) UnmarshalJSON(data []byte) error { 8512 var rawMsg map[string]json.RawMessage 8513 if err := json.Unmarshal(data, &rawMsg); err != nil { 8514 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8515 } 8516 for key, val := range rawMsg { 8517 var err error 8518 switch key { 8519 case "address": 8520 err = unpopulate(val, "Address", &c.Address) 8521 delete(rawMsg, key) 8522 case "coverageLevel": 8523 err = unpopulate(val, "CoverageLevel", &c.CoverageLevel) 8524 delete(rawMsg, key) 8525 case "filter": 8526 err = unpopulate(val, "Filter", &c.Filter) 8527 delete(rawMsg, key) 8528 case "locationDetails": 8529 err = unpopulate(val, "LocationDetails", &c.LocationDetails) 8530 delete(rawMsg, key) 8531 case "name": 8532 err = unpopulate(val, "Name", &c.Name) 8533 delete(rawMsg, key) 8534 case "resourceId": 8535 err = unpopulate(val, "ResourceID", &c.ResourceID) 8536 delete(rawMsg, key) 8537 case "scope": 8538 err = unpopulate(val, "Scope", &c.Scope) 8539 delete(rawMsg, key) 8540 case "subscriptionId": 8541 err = unpopulate(val, "SubscriptionID", &c.SubscriptionID) 8542 delete(rawMsg, key) 8543 case "type": 8544 err = unpopulate(val, "Type", &c.Type) 8545 delete(rawMsg, key) 8546 } 8547 if err != nil { 8548 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8549 } 8550 } 8551 return nil 8552 } 8553 8554 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointFilter. 8555 func (c ConnectionMonitorEndpointFilter) MarshalJSON() ([]byte, error) { 8556 objectMap := make(map[string]any) 8557 populate(objectMap, "items", c.Items) 8558 populate(objectMap, "type", c.Type) 8559 return json.Marshal(objectMap) 8560 } 8561 8562 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorEndpointFilter. 8563 func (c *ConnectionMonitorEndpointFilter) UnmarshalJSON(data []byte) error { 8564 var rawMsg map[string]json.RawMessage 8565 if err := json.Unmarshal(data, &rawMsg); err != nil { 8566 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8567 } 8568 for key, val := range rawMsg { 8569 var err error 8570 switch key { 8571 case "items": 8572 err = unpopulate(val, "Items", &c.Items) 8573 delete(rawMsg, key) 8574 case "type": 8575 err = unpopulate(val, "Type", &c.Type) 8576 delete(rawMsg, key) 8577 } 8578 if err != nil { 8579 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8580 } 8581 } 8582 return nil 8583 } 8584 8585 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointFilterItem. 8586 func (c ConnectionMonitorEndpointFilterItem) MarshalJSON() ([]byte, error) { 8587 objectMap := make(map[string]any) 8588 populate(objectMap, "address", c.Address) 8589 populate(objectMap, "type", c.Type) 8590 return json.Marshal(objectMap) 8591 } 8592 8593 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorEndpointFilterItem. 8594 func (c *ConnectionMonitorEndpointFilterItem) UnmarshalJSON(data []byte) error { 8595 var rawMsg map[string]json.RawMessage 8596 if err := json.Unmarshal(data, &rawMsg); err != nil { 8597 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8598 } 8599 for key, val := range rawMsg { 8600 var err error 8601 switch key { 8602 case "address": 8603 err = unpopulate(val, "Address", &c.Address) 8604 delete(rawMsg, key) 8605 case "type": 8606 err = unpopulate(val, "Type", &c.Type) 8607 delete(rawMsg, key) 8608 } 8609 if err != nil { 8610 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8611 } 8612 } 8613 return nil 8614 } 8615 8616 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointLocationDetails. 8617 func (c ConnectionMonitorEndpointLocationDetails) MarshalJSON() ([]byte, error) { 8618 objectMap := make(map[string]any) 8619 populate(objectMap, "region", c.Region) 8620 return json.Marshal(objectMap) 8621 } 8622 8623 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorEndpointLocationDetails. 8624 func (c *ConnectionMonitorEndpointLocationDetails) UnmarshalJSON(data []byte) error { 8625 var rawMsg map[string]json.RawMessage 8626 if err := json.Unmarshal(data, &rawMsg); err != nil { 8627 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8628 } 8629 for key, val := range rawMsg { 8630 var err error 8631 switch key { 8632 case "region": 8633 err = unpopulate(val, "Region", &c.Region) 8634 delete(rawMsg, key) 8635 } 8636 if err != nil { 8637 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8638 } 8639 } 8640 return nil 8641 } 8642 8643 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointScope. 8644 func (c ConnectionMonitorEndpointScope) MarshalJSON() ([]byte, error) { 8645 objectMap := make(map[string]any) 8646 populate(objectMap, "exclude", c.Exclude) 8647 populate(objectMap, "include", c.Include) 8648 return json.Marshal(objectMap) 8649 } 8650 8651 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorEndpointScope. 8652 func (c *ConnectionMonitorEndpointScope) UnmarshalJSON(data []byte) error { 8653 var rawMsg map[string]json.RawMessage 8654 if err := json.Unmarshal(data, &rawMsg); err != nil { 8655 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8656 } 8657 for key, val := range rawMsg { 8658 var err error 8659 switch key { 8660 case "exclude": 8661 err = unpopulate(val, "Exclude", &c.Exclude) 8662 delete(rawMsg, key) 8663 case "include": 8664 err = unpopulate(val, "Include", &c.Include) 8665 delete(rawMsg, key) 8666 } 8667 if err != nil { 8668 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8669 } 8670 } 8671 return nil 8672 } 8673 8674 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorEndpointScopeItem. 8675 func (c ConnectionMonitorEndpointScopeItem) MarshalJSON() ([]byte, error) { 8676 objectMap := make(map[string]any) 8677 populate(objectMap, "address", c.Address) 8678 return json.Marshal(objectMap) 8679 } 8680 8681 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorEndpointScopeItem. 8682 func (c *ConnectionMonitorEndpointScopeItem) UnmarshalJSON(data []byte) error { 8683 var rawMsg map[string]json.RawMessage 8684 if err := json.Unmarshal(data, &rawMsg); err != nil { 8685 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8686 } 8687 for key, val := range rawMsg { 8688 var err error 8689 switch key { 8690 case "address": 8691 err = unpopulate(val, "Address", &c.Address) 8692 delete(rawMsg, key) 8693 } 8694 if err != nil { 8695 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8696 } 8697 } 8698 return nil 8699 } 8700 8701 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorHTTPConfiguration. 8702 func (c ConnectionMonitorHTTPConfiguration) MarshalJSON() ([]byte, error) { 8703 objectMap := make(map[string]any) 8704 populate(objectMap, "method", c.Method) 8705 populate(objectMap, "path", c.Path) 8706 populate(objectMap, "port", c.Port) 8707 populate(objectMap, "preferHTTPS", c.PreferHTTPS) 8708 populate(objectMap, "requestHeaders", c.RequestHeaders) 8709 populate(objectMap, "validStatusCodeRanges", c.ValidStatusCodeRanges) 8710 return json.Marshal(objectMap) 8711 } 8712 8713 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorHTTPConfiguration. 8714 func (c *ConnectionMonitorHTTPConfiguration) UnmarshalJSON(data []byte) error { 8715 var rawMsg map[string]json.RawMessage 8716 if err := json.Unmarshal(data, &rawMsg); err != nil { 8717 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8718 } 8719 for key, val := range rawMsg { 8720 var err error 8721 switch key { 8722 case "method": 8723 err = unpopulate(val, "Method", &c.Method) 8724 delete(rawMsg, key) 8725 case "path": 8726 err = unpopulate(val, "Path", &c.Path) 8727 delete(rawMsg, key) 8728 case "port": 8729 err = unpopulate(val, "Port", &c.Port) 8730 delete(rawMsg, key) 8731 case "preferHTTPS": 8732 err = unpopulate(val, "PreferHTTPS", &c.PreferHTTPS) 8733 delete(rawMsg, key) 8734 case "requestHeaders": 8735 err = unpopulate(val, "RequestHeaders", &c.RequestHeaders) 8736 delete(rawMsg, key) 8737 case "validStatusCodeRanges": 8738 err = unpopulate(val, "ValidStatusCodeRanges", &c.ValidStatusCodeRanges) 8739 delete(rawMsg, key) 8740 } 8741 if err != nil { 8742 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8743 } 8744 } 8745 return nil 8746 } 8747 8748 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorIcmpConfiguration. 8749 func (c ConnectionMonitorIcmpConfiguration) MarshalJSON() ([]byte, error) { 8750 objectMap := make(map[string]any) 8751 populate(objectMap, "disableTraceRoute", c.DisableTraceRoute) 8752 return json.Marshal(objectMap) 8753 } 8754 8755 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorIcmpConfiguration. 8756 func (c *ConnectionMonitorIcmpConfiguration) UnmarshalJSON(data []byte) error { 8757 var rawMsg map[string]json.RawMessage 8758 if err := json.Unmarshal(data, &rawMsg); err != nil { 8759 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8760 } 8761 for key, val := range rawMsg { 8762 var err error 8763 switch key { 8764 case "disableTraceRoute": 8765 err = unpopulate(val, "DisableTraceRoute", &c.DisableTraceRoute) 8766 delete(rawMsg, key) 8767 } 8768 if err != nil { 8769 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8770 } 8771 } 8772 return nil 8773 } 8774 8775 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorListResult. 8776 func (c ConnectionMonitorListResult) MarshalJSON() ([]byte, error) { 8777 objectMap := make(map[string]any) 8778 populate(objectMap, "value", c.Value) 8779 return json.Marshal(objectMap) 8780 } 8781 8782 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorListResult. 8783 func (c *ConnectionMonitorListResult) UnmarshalJSON(data []byte) error { 8784 var rawMsg map[string]json.RawMessage 8785 if err := json.Unmarshal(data, &rawMsg); err != nil { 8786 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8787 } 8788 for key, val := range rawMsg { 8789 var err error 8790 switch key { 8791 case "value": 8792 err = unpopulate(val, "Value", &c.Value) 8793 delete(rawMsg, key) 8794 } 8795 if err != nil { 8796 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8797 } 8798 } 8799 return nil 8800 } 8801 8802 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorOutput. 8803 func (c ConnectionMonitorOutput) MarshalJSON() ([]byte, error) { 8804 objectMap := make(map[string]any) 8805 populate(objectMap, "type", c.Type) 8806 populate(objectMap, "workspaceSettings", c.WorkspaceSettings) 8807 return json.Marshal(objectMap) 8808 } 8809 8810 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorOutput. 8811 func (c *ConnectionMonitorOutput) UnmarshalJSON(data []byte) error { 8812 var rawMsg map[string]json.RawMessage 8813 if err := json.Unmarshal(data, &rawMsg); err != nil { 8814 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8815 } 8816 for key, val := range rawMsg { 8817 var err error 8818 switch key { 8819 case "type": 8820 err = unpopulate(val, "Type", &c.Type) 8821 delete(rawMsg, key) 8822 case "workspaceSettings": 8823 err = unpopulate(val, "WorkspaceSettings", &c.WorkspaceSettings) 8824 delete(rawMsg, key) 8825 } 8826 if err != nil { 8827 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8828 } 8829 } 8830 return nil 8831 } 8832 8833 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorParameters. 8834 func (c ConnectionMonitorParameters) MarshalJSON() ([]byte, error) { 8835 objectMap := make(map[string]any) 8836 populate(objectMap, "autoStart", c.AutoStart) 8837 populate(objectMap, "destination", c.Destination) 8838 populate(objectMap, "endpoints", c.Endpoints) 8839 populate(objectMap, "monitoringIntervalInSeconds", c.MonitoringIntervalInSeconds) 8840 populate(objectMap, "notes", c.Notes) 8841 populate(objectMap, "outputs", c.Outputs) 8842 populate(objectMap, "source", c.Source) 8843 populate(objectMap, "testConfigurations", c.TestConfigurations) 8844 populate(objectMap, "testGroups", c.TestGroups) 8845 return json.Marshal(objectMap) 8846 } 8847 8848 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorParameters. 8849 func (c *ConnectionMonitorParameters) UnmarshalJSON(data []byte) error { 8850 var rawMsg map[string]json.RawMessage 8851 if err := json.Unmarshal(data, &rawMsg); err != nil { 8852 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8853 } 8854 for key, val := range rawMsg { 8855 var err error 8856 switch key { 8857 case "autoStart": 8858 err = unpopulate(val, "AutoStart", &c.AutoStart) 8859 delete(rawMsg, key) 8860 case "destination": 8861 err = unpopulate(val, "Destination", &c.Destination) 8862 delete(rawMsg, key) 8863 case "endpoints": 8864 err = unpopulate(val, "Endpoints", &c.Endpoints) 8865 delete(rawMsg, key) 8866 case "monitoringIntervalInSeconds": 8867 err = unpopulate(val, "MonitoringIntervalInSeconds", &c.MonitoringIntervalInSeconds) 8868 delete(rawMsg, key) 8869 case "notes": 8870 err = unpopulate(val, "Notes", &c.Notes) 8871 delete(rawMsg, key) 8872 case "outputs": 8873 err = unpopulate(val, "Outputs", &c.Outputs) 8874 delete(rawMsg, key) 8875 case "source": 8876 err = unpopulate(val, "Source", &c.Source) 8877 delete(rawMsg, key) 8878 case "testConfigurations": 8879 err = unpopulate(val, "TestConfigurations", &c.TestConfigurations) 8880 delete(rawMsg, key) 8881 case "testGroups": 8882 err = unpopulate(val, "TestGroups", &c.TestGroups) 8883 delete(rawMsg, key) 8884 } 8885 if err != nil { 8886 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8887 } 8888 } 8889 return nil 8890 } 8891 8892 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorQueryResult. 8893 func (c ConnectionMonitorQueryResult) MarshalJSON() ([]byte, error) { 8894 objectMap := make(map[string]any) 8895 populate(objectMap, "sourceStatus", c.SourceStatus) 8896 populate(objectMap, "states", c.States) 8897 return json.Marshal(objectMap) 8898 } 8899 8900 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorQueryResult. 8901 func (c *ConnectionMonitorQueryResult) UnmarshalJSON(data []byte) error { 8902 var rawMsg map[string]json.RawMessage 8903 if err := json.Unmarshal(data, &rawMsg); err != nil { 8904 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8905 } 8906 for key, val := range rawMsg { 8907 var err error 8908 switch key { 8909 case "sourceStatus": 8910 err = unpopulate(val, "SourceStatus", &c.SourceStatus) 8911 delete(rawMsg, key) 8912 case "states": 8913 err = unpopulate(val, "States", &c.States) 8914 delete(rawMsg, key) 8915 } 8916 if err != nil { 8917 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8918 } 8919 } 8920 return nil 8921 } 8922 8923 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResult. 8924 func (c ConnectionMonitorResult) MarshalJSON() ([]byte, error) { 8925 objectMap := make(map[string]any) 8926 populate(objectMap, "etag", c.Etag) 8927 populate(objectMap, "id", c.ID) 8928 populate(objectMap, "location", c.Location) 8929 populate(objectMap, "name", c.Name) 8930 populate(objectMap, "properties", c.Properties) 8931 populate(objectMap, "tags", c.Tags) 8932 populate(objectMap, "type", c.Type) 8933 return json.Marshal(objectMap) 8934 } 8935 8936 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorResult. 8937 func (c *ConnectionMonitorResult) UnmarshalJSON(data []byte) error { 8938 var rawMsg map[string]json.RawMessage 8939 if err := json.Unmarshal(data, &rawMsg); err != nil { 8940 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8941 } 8942 for key, val := range rawMsg { 8943 var err error 8944 switch key { 8945 case "etag": 8946 err = unpopulate(val, "Etag", &c.Etag) 8947 delete(rawMsg, key) 8948 case "id": 8949 err = unpopulate(val, "ID", &c.ID) 8950 delete(rawMsg, key) 8951 case "location": 8952 err = unpopulate(val, "Location", &c.Location) 8953 delete(rawMsg, key) 8954 case "name": 8955 err = unpopulate(val, "Name", &c.Name) 8956 delete(rawMsg, key) 8957 case "properties": 8958 err = unpopulate(val, "Properties", &c.Properties) 8959 delete(rawMsg, key) 8960 case "tags": 8961 err = unpopulate(val, "Tags", &c.Tags) 8962 delete(rawMsg, key) 8963 case "type": 8964 err = unpopulate(val, "Type", &c.Type) 8965 delete(rawMsg, key) 8966 } 8967 if err != nil { 8968 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8969 } 8970 } 8971 return nil 8972 } 8973 8974 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorResultProperties. 8975 func (c ConnectionMonitorResultProperties) MarshalJSON() ([]byte, error) { 8976 objectMap := make(map[string]any) 8977 populate(objectMap, "autoStart", c.AutoStart) 8978 populate(objectMap, "connectionMonitorType", c.ConnectionMonitorType) 8979 populate(objectMap, "destination", c.Destination) 8980 populate(objectMap, "endpoints", c.Endpoints) 8981 populate(objectMap, "monitoringIntervalInSeconds", c.MonitoringIntervalInSeconds) 8982 populate(objectMap, "monitoringStatus", c.MonitoringStatus) 8983 populate(objectMap, "notes", c.Notes) 8984 populate(objectMap, "outputs", c.Outputs) 8985 populate(objectMap, "provisioningState", c.ProvisioningState) 8986 populate(objectMap, "source", c.Source) 8987 populateDateTimeRFC3339(objectMap, "startTime", c.StartTime) 8988 populate(objectMap, "testConfigurations", c.TestConfigurations) 8989 populate(objectMap, "testGroups", c.TestGroups) 8990 return json.Marshal(objectMap) 8991 } 8992 8993 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorResultProperties. 8994 func (c *ConnectionMonitorResultProperties) UnmarshalJSON(data []byte) error { 8995 var rawMsg map[string]json.RawMessage 8996 if err := json.Unmarshal(data, &rawMsg); err != nil { 8997 return fmt.Errorf("unmarshalling type %T: %v", c, err) 8998 } 8999 for key, val := range rawMsg { 9000 var err error 9001 switch key { 9002 case "autoStart": 9003 err = unpopulate(val, "AutoStart", &c.AutoStart) 9004 delete(rawMsg, key) 9005 case "connectionMonitorType": 9006 err = unpopulate(val, "ConnectionMonitorType", &c.ConnectionMonitorType) 9007 delete(rawMsg, key) 9008 case "destination": 9009 err = unpopulate(val, "Destination", &c.Destination) 9010 delete(rawMsg, key) 9011 case "endpoints": 9012 err = unpopulate(val, "Endpoints", &c.Endpoints) 9013 delete(rawMsg, key) 9014 case "monitoringIntervalInSeconds": 9015 err = unpopulate(val, "MonitoringIntervalInSeconds", &c.MonitoringIntervalInSeconds) 9016 delete(rawMsg, key) 9017 case "monitoringStatus": 9018 err = unpopulate(val, "MonitoringStatus", &c.MonitoringStatus) 9019 delete(rawMsg, key) 9020 case "notes": 9021 err = unpopulate(val, "Notes", &c.Notes) 9022 delete(rawMsg, key) 9023 case "outputs": 9024 err = unpopulate(val, "Outputs", &c.Outputs) 9025 delete(rawMsg, key) 9026 case "provisioningState": 9027 err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) 9028 delete(rawMsg, key) 9029 case "source": 9030 err = unpopulate(val, "Source", &c.Source) 9031 delete(rawMsg, key) 9032 case "startTime": 9033 err = unpopulateDateTimeRFC3339(val, "StartTime", &c.StartTime) 9034 delete(rawMsg, key) 9035 case "testConfigurations": 9036 err = unpopulate(val, "TestConfigurations", &c.TestConfigurations) 9037 delete(rawMsg, key) 9038 case "testGroups": 9039 err = unpopulate(val, "TestGroups", &c.TestGroups) 9040 delete(rawMsg, key) 9041 } 9042 if err != nil { 9043 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9044 } 9045 } 9046 return nil 9047 } 9048 9049 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorSource. 9050 func (c ConnectionMonitorSource) MarshalJSON() ([]byte, error) { 9051 objectMap := make(map[string]any) 9052 populate(objectMap, "port", c.Port) 9053 populate(objectMap, "resourceId", c.ResourceID) 9054 return json.Marshal(objectMap) 9055 } 9056 9057 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorSource. 9058 func (c *ConnectionMonitorSource) UnmarshalJSON(data []byte) error { 9059 var rawMsg map[string]json.RawMessage 9060 if err := json.Unmarshal(data, &rawMsg); err != nil { 9061 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9062 } 9063 for key, val := range rawMsg { 9064 var err error 9065 switch key { 9066 case "port": 9067 err = unpopulate(val, "Port", &c.Port) 9068 delete(rawMsg, key) 9069 case "resourceId": 9070 err = unpopulate(val, "ResourceID", &c.ResourceID) 9071 delete(rawMsg, key) 9072 } 9073 if err != nil { 9074 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9075 } 9076 } 9077 return nil 9078 } 9079 9080 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorSuccessThreshold. 9081 func (c ConnectionMonitorSuccessThreshold) MarshalJSON() ([]byte, error) { 9082 objectMap := make(map[string]any) 9083 populate(objectMap, "checksFailedPercent", c.ChecksFailedPercent) 9084 populate(objectMap, "roundTripTimeMs", c.RoundTripTimeMs) 9085 return json.Marshal(objectMap) 9086 } 9087 9088 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorSuccessThreshold. 9089 func (c *ConnectionMonitorSuccessThreshold) UnmarshalJSON(data []byte) error { 9090 var rawMsg map[string]json.RawMessage 9091 if err := json.Unmarshal(data, &rawMsg); err != nil { 9092 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9093 } 9094 for key, val := range rawMsg { 9095 var err error 9096 switch key { 9097 case "checksFailedPercent": 9098 err = unpopulate(val, "ChecksFailedPercent", &c.ChecksFailedPercent) 9099 delete(rawMsg, key) 9100 case "roundTripTimeMs": 9101 err = unpopulate(val, "RoundTripTimeMs", &c.RoundTripTimeMs) 9102 delete(rawMsg, key) 9103 } 9104 if err != nil { 9105 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9106 } 9107 } 9108 return nil 9109 } 9110 9111 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorTCPConfiguration. 9112 func (c ConnectionMonitorTCPConfiguration) MarshalJSON() ([]byte, error) { 9113 objectMap := make(map[string]any) 9114 populate(objectMap, "destinationPortBehavior", c.DestinationPortBehavior) 9115 populate(objectMap, "disableTraceRoute", c.DisableTraceRoute) 9116 populate(objectMap, "port", c.Port) 9117 return json.Marshal(objectMap) 9118 } 9119 9120 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorTCPConfiguration. 9121 func (c *ConnectionMonitorTCPConfiguration) UnmarshalJSON(data []byte) error { 9122 var rawMsg map[string]json.RawMessage 9123 if err := json.Unmarshal(data, &rawMsg); err != nil { 9124 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9125 } 9126 for key, val := range rawMsg { 9127 var err error 9128 switch key { 9129 case "destinationPortBehavior": 9130 err = unpopulate(val, "DestinationPortBehavior", &c.DestinationPortBehavior) 9131 delete(rawMsg, key) 9132 case "disableTraceRoute": 9133 err = unpopulate(val, "DisableTraceRoute", &c.DisableTraceRoute) 9134 delete(rawMsg, key) 9135 case "port": 9136 err = unpopulate(val, "Port", &c.Port) 9137 delete(rawMsg, key) 9138 } 9139 if err != nil { 9140 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9141 } 9142 } 9143 return nil 9144 } 9145 9146 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorTestConfiguration. 9147 func (c ConnectionMonitorTestConfiguration) MarshalJSON() ([]byte, error) { 9148 objectMap := make(map[string]any) 9149 populate(objectMap, "httpConfiguration", c.HTTPConfiguration) 9150 populate(objectMap, "icmpConfiguration", c.IcmpConfiguration) 9151 populate(objectMap, "name", c.Name) 9152 populate(objectMap, "preferredIPVersion", c.PreferredIPVersion) 9153 populate(objectMap, "protocol", c.Protocol) 9154 populate(objectMap, "successThreshold", c.SuccessThreshold) 9155 populate(objectMap, "tcpConfiguration", c.TCPConfiguration) 9156 populate(objectMap, "testFrequencySec", c.TestFrequencySec) 9157 return json.Marshal(objectMap) 9158 } 9159 9160 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorTestConfiguration. 9161 func (c *ConnectionMonitorTestConfiguration) UnmarshalJSON(data []byte) error { 9162 var rawMsg map[string]json.RawMessage 9163 if err := json.Unmarshal(data, &rawMsg); err != nil { 9164 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9165 } 9166 for key, val := range rawMsg { 9167 var err error 9168 switch key { 9169 case "httpConfiguration": 9170 err = unpopulate(val, "HTTPConfiguration", &c.HTTPConfiguration) 9171 delete(rawMsg, key) 9172 case "icmpConfiguration": 9173 err = unpopulate(val, "IcmpConfiguration", &c.IcmpConfiguration) 9174 delete(rawMsg, key) 9175 case "name": 9176 err = unpopulate(val, "Name", &c.Name) 9177 delete(rawMsg, key) 9178 case "preferredIPVersion": 9179 err = unpopulate(val, "PreferredIPVersion", &c.PreferredIPVersion) 9180 delete(rawMsg, key) 9181 case "protocol": 9182 err = unpopulate(val, "Protocol", &c.Protocol) 9183 delete(rawMsg, key) 9184 case "successThreshold": 9185 err = unpopulate(val, "SuccessThreshold", &c.SuccessThreshold) 9186 delete(rawMsg, key) 9187 case "tcpConfiguration": 9188 err = unpopulate(val, "TCPConfiguration", &c.TCPConfiguration) 9189 delete(rawMsg, key) 9190 case "testFrequencySec": 9191 err = unpopulate(val, "TestFrequencySec", &c.TestFrequencySec) 9192 delete(rawMsg, key) 9193 } 9194 if err != nil { 9195 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9196 } 9197 } 9198 return nil 9199 } 9200 9201 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorTestGroup. 9202 func (c ConnectionMonitorTestGroup) MarshalJSON() ([]byte, error) { 9203 objectMap := make(map[string]any) 9204 populate(objectMap, "destinations", c.Destinations) 9205 populate(objectMap, "disable", c.Disable) 9206 populate(objectMap, "name", c.Name) 9207 populate(objectMap, "sources", c.Sources) 9208 populate(objectMap, "testConfigurations", c.TestConfigurations) 9209 return json.Marshal(objectMap) 9210 } 9211 9212 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorTestGroup. 9213 func (c *ConnectionMonitorTestGroup) UnmarshalJSON(data []byte) error { 9214 var rawMsg map[string]json.RawMessage 9215 if err := json.Unmarshal(data, &rawMsg); err != nil { 9216 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9217 } 9218 for key, val := range rawMsg { 9219 var err error 9220 switch key { 9221 case "destinations": 9222 err = unpopulate(val, "Destinations", &c.Destinations) 9223 delete(rawMsg, key) 9224 case "disable": 9225 err = unpopulate(val, "Disable", &c.Disable) 9226 delete(rawMsg, key) 9227 case "name": 9228 err = unpopulate(val, "Name", &c.Name) 9229 delete(rawMsg, key) 9230 case "sources": 9231 err = unpopulate(val, "Sources", &c.Sources) 9232 delete(rawMsg, key) 9233 case "testConfigurations": 9234 err = unpopulate(val, "TestConfigurations", &c.TestConfigurations) 9235 delete(rawMsg, key) 9236 } 9237 if err != nil { 9238 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9239 } 9240 } 9241 return nil 9242 } 9243 9244 // MarshalJSON implements the json.Marshaller interface for type ConnectionMonitorWorkspaceSettings. 9245 func (c ConnectionMonitorWorkspaceSettings) MarshalJSON() ([]byte, error) { 9246 objectMap := make(map[string]any) 9247 populate(objectMap, "workspaceResourceId", c.WorkspaceResourceID) 9248 return json.Marshal(objectMap) 9249 } 9250 9251 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionMonitorWorkspaceSettings. 9252 func (c *ConnectionMonitorWorkspaceSettings) UnmarshalJSON(data []byte) error { 9253 var rawMsg map[string]json.RawMessage 9254 if err := json.Unmarshal(data, &rawMsg); err != nil { 9255 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9256 } 9257 for key, val := range rawMsg { 9258 var err error 9259 switch key { 9260 case "workspaceResourceId": 9261 err = unpopulate(val, "WorkspaceResourceID", &c.WorkspaceResourceID) 9262 delete(rawMsg, key) 9263 } 9264 if err != nil { 9265 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9266 } 9267 } 9268 return nil 9269 } 9270 9271 // MarshalJSON implements the json.Marshaller interface for type ConnectionResetSharedKey. 9272 func (c ConnectionResetSharedKey) MarshalJSON() ([]byte, error) { 9273 objectMap := make(map[string]any) 9274 populate(objectMap, "keyLength", c.KeyLength) 9275 return json.Marshal(objectMap) 9276 } 9277 9278 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionResetSharedKey. 9279 func (c *ConnectionResetSharedKey) UnmarshalJSON(data []byte) error { 9280 var rawMsg map[string]json.RawMessage 9281 if err := json.Unmarshal(data, &rawMsg); err != nil { 9282 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9283 } 9284 for key, val := range rawMsg { 9285 var err error 9286 switch key { 9287 case "keyLength": 9288 err = unpopulate(val, "KeyLength", &c.KeyLength) 9289 delete(rawMsg, key) 9290 } 9291 if err != nil { 9292 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9293 } 9294 } 9295 return nil 9296 } 9297 9298 // MarshalJSON implements the json.Marshaller interface for type ConnectionSharedKey. 9299 func (c ConnectionSharedKey) MarshalJSON() ([]byte, error) { 9300 objectMap := make(map[string]any) 9301 populate(objectMap, "id", c.ID) 9302 populate(objectMap, "value", c.Value) 9303 return json.Marshal(objectMap) 9304 } 9305 9306 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionSharedKey. 9307 func (c *ConnectionSharedKey) UnmarshalJSON(data []byte) error { 9308 var rawMsg map[string]json.RawMessage 9309 if err := json.Unmarshal(data, &rawMsg); err != nil { 9310 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9311 } 9312 for key, val := range rawMsg { 9313 var err error 9314 switch key { 9315 case "id": 9316 err = unpopulate(val, "ID", &c.ID) 9317 delete(rawMsg, key) 9318 case "value": 9319 err = unpopulate(val, "Value", &c.Value) 9320 delete(rawMsg, key) 9321 } 9322 if err != nil { 9323 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9324 } 9325 } 9326 return nil 9327 } 9328 9329 // MarshalJSON implements the json.Marshaller interface for type ConnectionSharedKeyResult. 9330 func (c ConnectionSharedKeyResult) MarshalJSON() ([]byte, error) { 9331 objectMap := make(map[string]any) 9332 populate(objectMap, "id", c.ID) 9333 populate(objectMap, "name", c.Name) 9334 populate(objectMap, "properties", c.Properties) 9335 populate(objectMap, "type", c.Type) 9336 return json.Marshal(objectMap) 9337 } 9338 9339 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionSharedKeyResult. 9340 func (c *ConnectionSharedKeyResult) UnmarshalJSON(data []byte) error { 9341 var rawMsg map[string]json.RawMessage 9342 if err := json.Unmarshal(data, &rawMsg); err != nil { 9343 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9344 } 9345 for key, val := range rawMsg { 9346 var err error 9347 switch key { 9348 case "id": 9349 err = unpopulate(val, "ID", &c.ID) 9350 delete(rawMsg, key) 9351 case "name": 9352 err = unpopulate(val, "Name", &c.Name) 9353 delete(rawMsg, key) 9354 case "properties": 9355 err = unpopulate(val, "Properties", &c.Properties) 9356 delete(rawMsg, key) 9357 case "type": 9358 err = unpopulate(val, "Type", &c.Type) 9359 delete(rawMsg, key) 9360 } 9361 if err != nil { 9362 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9363 } 9364 } 9365 return nil 9366 } 9367 9368 // MarshalJSON implements the json.Marshaller interface for type ConnectionSharedKeyResultList. 9369 func (c ConnectionSharedKeyResultList) MarshalJSON() ([]byte, error) { 9370 objectMap := make(map[string]any) 9371 populate(objectMap, "nextLink", c.NextLink) 9372 populate(objectMap, "value", c.Value) 9373 return json.Marshal(objectMap) 9374 } 9375 9376 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionSharedKeyResultList. 9377 func (c *ConnectionSharedKeyResultList) UnmarshalJSON(data []byte) error { 9378 var rawMsg map[string]json.RawMessage 9379 if err := json.Unmarshal(data, &rawMsg); err != nil { 9380 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9381 } 9382 for key, val := range rawMsg { 9383 var err error 9384 switch key { 9385 case "nextLink": 9386 err = unpopulate(val, "NextLink", &c.NextLink) 9387 delete(rawMsg, key) 9388 case "value": 9389 err = unpopulate(val, "Value", &c.Value) 9390 delete(rawMsg, key) 9391 } 9392 if err != nil { 9393 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9394 } 9395 } 9396 return nil 9397 } 9398 9399 // MarshalJSON implements the json.Marshaller interface for type ConnectionStateSnapshot. 9400 func (c ConnectionStateSnapshot) MarshalJSON() ([]byte, error) { 9401 objectMap := make(map[string]any) 9402 populate(objectMap, "avgLatencyInMs", c.AvgLatencyInMs) 9403 populate(objectMap, "connectionState", c.ConnectionState) 9404 populateDateTimeRFC3339(objectMap, "endTime", c.EndTime) 9405 populate(objectMap, "evaluationState", c.EvaluationState) 9406 populate(objectMap, "hops", c.Hops) 9407 populate(objectMap, "maxLatencyInMs", c.MaxLatencyInMs) 9408 populate(objectMap, "minLatencyInMs", c.MinLatencyInMs) 9409 populate(objectMap, "probesFailed", c.ProbesFailed) 9410 populate(objectMap, "probesSent", c.ProbesSent) 9411 populateDateTimeRFC3339(objectMap, "startTime", c.StartTime) 9412 return json.Marshal(objectMap) 9413 } 9414 9415 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectionStateSnapshot. 9416 func (c *ConnectionStateSnapshot) UnmarshalJSON(data []byte) error { 9417 var rawMsg map[string]json.RawMessage 9418 if err := json.Unmarshal(data, &rawMsg); err != nil { 9419 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9420 } 9421 for key, val := range rawMsg { 9422 var err error 9423 switch key { 9424 case "avgLatencyInMs": 9425 err = unpopulate(val, "AvgLatencyInMs", &c.AvgLatencyInMs) 9426 delete(rawMsg, key) 9427 case "connectionState": 9428 err = unpopulate(val, "ConnectionState", &c.ConnectionState) 9429 delete(rawMsg, key) 9430 case "endTime": 9431 err = unpopulateDateTimeRFC3339(val, "EndTime", &c.EndTime) 9432 delete(rawMsg, key) 9433 case "evaluationState": 9434 err = unpopulate(val, "EvaluationState", &c.EvaluationState) 9435 delete(rawMsg, key) 9436 case "hops": 9437 err = unpopulate(val, "Hops", &c.Hops) 9438 delete(rawMsg, key) 9439 case "maxLatencyInMs": 9440 err = unpopulate(val, "MaxLatencyInMs", &c.MaxLatencyInMs) 9441 delete(rawMsg, key) 9442 case "minLatencyInMs": 9443 err = unpopulate(val, "MinLatencyInMs", &c.MinLatencyInMs) 9444 delete(rawMsg, key) 9445 case "probesFailed": 9446 err = unpopulate(val, "ProbesFailed", &c.ProbesFailed) 9447 delete(rawMsg, key) 9448 case "probesSent": 9449 err = unpopulate(val, "ProbesSent", &c.ProbesSent) 9450 delete(rawMsg, key) 9451 case "startTime": 9452 err = unpopulateDateTimeRFC3339(val, "StartTime", &c.StartTime) 9453 delete(rawMsg, key) 9454 } 9455 if err != nil { 9456 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9457 } 9458 } 9459 return nil 9460 } 9461 9462 // MarshalJSON implements the json.Marshaller interface for type ConnectivityConfiguration. 9463 func (c ConnectivityConfiguration) MarshalJSON() ([]byte, error) { 9464 objectMap := make(map[string]any) 9465 populate(objectMap, "etag", c.Etag) 9466 populate(objectMap, "id", c.ID) 9467 populate(objectMap, "name", c.Name) 9468 populate(objectMap, "properties", c.Properties) 9469 populate(objectMap, "systemData", c.SystemData) 9470 populate(objectMap, "type", c.Type) 9471 return json.Marshal(objectMap) 9472 } 9473 9474 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityConfiguration. 9475 func (c *ConnectivityConfiguration) UnmarshalJSON(data []byte) error { 9476 var rawMsg map[string]json.RawMessage 9477 if err := json.Unmarshal(data, &rawMsg); err != nil { 9478 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9479 } 9480 for key, val := range rawMsg { 9481 var err error 9482 switch key { 9483 case "etag": 9484 err = unpopulate(val, "Etag", &c.Etag) 9485 delete(rawMsg, key) 9486 case "id": 9487 err = unpopulate(val, "ID", &c.ID) 9488 delete(rawMsg, key) 9489 case "name": 9490 err = unpopulate(val, "Name", &c.Name) 9491 delete(rawMsg, key) 9492 case "properties": 9493 err = unpopulate(val, "Properties", &c.Properties) 9494 delete(rawMsg, key) 9495 case "systemData": 9496 err = unpopulate(val, "SystemData", &c.SystemData) 9497 delete(rawMsg, key) 9498 case "type": 9499 err = unpopulate(val, "Type", &c.Type) 9500 delete(rawMsg, key) 9501 } 9502 if err != nil { 9503 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9504 } 9505 } 9506 return nil 9507 } 9508 9509 // MarshalJSON implements the json.Marshaller interface for type ConnectivityConfigurationListResult. 9510 func (c ConnectivityConfigurationListResult) MarshalJSON() ([]byte, error) { 9511 objectMap := make(map[string]any) 9512 populate(objectMap, "nextLink", c.NextLink) 9513 populate(objectMap, "value", c.Value) 9514 return json.Marshal(objectMap) 9515 } 9516 9517 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityConfigurationListResult. 9518 func (c *ConnectivityConfigurationListResult) UnmarshalJSON(data []byte) error { 9519 var rawMsg map[string]json.RawMessage 9520 if err := json.Unmarshal(data, &rawMsg); err != nil { 9521 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9522 } 9523 for key, val := range rawMsg { 9524 var err error 9525 switch key { 9526 case "nextLink": 9527 err = unpopulate(val, "NextLink", &c.NextLink) 9528 delete(rawMsg, key) 9529 case "value": 9530 err = unpopulate(val, "Value", &c.Value) 9531 delete(rawMsg, key) 9532 } 9533 if err != nil { 9534 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9535 } 9536 } 9537 return nil 9538 } 9539 9540 // MarshalJSON implements the json.Marshaller interface for type ConnectivityConfigurationProperties. 9541 func (c ConnectivityConfigurationProperties) MarshalJSON() ([]byte, error) { 9542 objectMap := make(map[string]any) 9543 populate(objectMap, "appliesToGroups", c.AppliesToGroups) 9544 populate(objectMap, "connectivityTopology", c.ConnectivityTopology) 9545 populate(objectMap, "deleteExistingPeering", c.DeleteExistingPeering) 9546 populate(objectMap, "description", c.Description) 9547 populate(objectMap, "hubs", c.Hubs) 9548 populate(objectMap, "isGlobal", c.IsGlobal) 9549 populate(objectMap, "provisioningState", c.ProvisioningState) 9550 populate(objectMap, "resourceGuid", c.ResourceGUID) 9551 return json.Marshal(objectMap) 9552 } 9553 9554 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityConfigurationProperties. 9555 func (c *ConnectivityConfigurationProperties) UnmarshalJSON(data []byte) error { 9556 var rawMsg map[string]json.RawMessage 9557 if err := json.Unmarshal(data, &rawMsg); err != nil { 9558 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9559 } 9560 for key, val := range rawMsg { 9561 var err error 9562 switch key { 9563 case "appliesToGroups": 9564 err = unpopulate(val, "AppliesToGroups", &c.AppliesToGroups) 9565 delete(rawMsg, key) 9566 case "connectivityTopology": 9567 err = unpopulate(val, "ConnectivityTopology", &c.ConnectivityTopology) 9568 delete(rawMsg, key) 9569 case "deleteExistingPeering": 9570 err = unpopulate(val, "DeleteExistingPeering", &c.DeleteExistingPeering) 9571 delete(rawMsg, key) 9572 case "description": 9573 err = unpopulate(val, "Description", &c.Description) 9574 delete(rawMsg, key) 9575 case "hubs": 9576 err = unpopulate(val, "Hubs", &c.Hubs) 9577 delete(rawMsg, key) 9578 case "isGlobal": 9579 err = unpopulate(val, "IsGlobal", &c.IsGlobal) 9580 delete(rawMsg, key) 9581 case "provisioningState": 9582 err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) 9583 delete(rawMsg, key) 9584 case "resourceGuid": 9585 err = unpopulate(val, "ResourceGUID", &c.ResourceGUID) 9586 delete(rawMsg, key) 9587 } 9588 if err != nil { 9589 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9590 } 9591 } 9592 return nil 9593 } 9594 9595 // MarshalJSON implements the json.Marshaller interface for type ConnectivityDestination. 9596 func (c ConnectivityDestination) MarshalJSON() ([]byte, error) { 9597 objectMap := make(map[string]any) 9598 populate(objectMap, "address", c.Address) 9599 populate(objectMap, "port", c.Port) 9600 populate(objectMap, "resourceId", c.ResourceID) 9601 return json.Marshal(objectMap) 9602 } 9603 9604 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityDestination. 9605 func (c *ConnectivityDestination) UnmarshalJSON(data []byte) error { 9606 var rawMsg map[string]json.RawMessage 9607 if err := json.Unmarshal(data, &rawMsg); err != nil { 9608 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9609 } 9610 for key, val := range rawMsg { 9611 var err error 9612 switch key { 9613 case "address": 9614 err = unpopulate(val, "Address", &c.Address) 9615 delete(rawMsg, key) 9616 case "port": 9617 err = unpopulate(val, "Port", &c.Port) 9618 delete(rawMsg, key) 9619 case "resourceId": 9620 err = unpopulate(val, "ResourceID", &c.ResourceID) 9621 delete(rawMsg, key) 9622 } 9623 if err != nil { 9624 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9625 } 9626 } 9627 return nil 9628 } 9629 9630 // MarshalJSON implements the json.Marshaller interface for type ConnectivityGroupItem. 9631 func (c ConnectivityGroupItem) MarshalJSON() ([]byte, error) { 9632 objectMap := make(map[string]any) 9633 populate(objectMap, "groupConnectivity", c.GroupConnectivity) 9634 populate(objectMap, "isGlobal", c.IsGlobal) 9635 populate(objectMap, "networkGroupId", c.NetworkGroupID) 9636 populate(objectMap, "useHubGateway", c.UseHubGateway) 9637 return json.Marshal(objectMap) 9638 } 9639 9640 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityGroupItem. 9641 func (c *ConnectivityGroupItem) UnmarshalJSON(data []byte) error { 9642 var rawMsg map[string]json.RawMessage 9643 if err := json.Unmarshal(data, &rawMsg); err != nil { 9644 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9645 } 9646 for key, val := range rawMsg { 9647 var err error 9648 switch key { 9649 case "groupConnectivity": 9650 err = unpopulate(val, "GroupConnectivity", &c.GroupConnectivity) 9651 delete(rawMsg, key) 9652 case "isGlobal": 9653 err = unpopulate(val, "IsGlobal", &c.IsGlobal) 9654 delete(rawMsg, key) 9655 case "networkGroupId": 9656 err = unpopulate(val, "NetworkGroupID", &c.NetworkGroupID) 9657 delete(rawMsg, key) 9658 case "useHubGateway": 9659 err = unpopulate(val, "UseHubGateway", &c.UseHubGateway) 9660 delete(rawMsg, key) 9661 } 9662 if err != nil { 9663 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9664 } 9665 } 9666 return nil 9667 } 9668 9669 // MarshalJSON implements the json.Marshaller interface for type ConnectivityHop. 9670 func (c ConnectivityHop) MarshalJSON() ([]byte, error) { 9671 objectMap := make(map[string]any) 9672 populate(objectMap, "address", c.Address) 9673 populate(objectMap, "id", c.ID) 9674 populate(objectMap, "issues", c.Issues) 9675 populate(objectMap, "links", c.Links) 9676 populate(objectMap, "nextHopIds", c.NextHopIDs) 9677 populate(objectMap, "previousHopIds", c.PreviousHopIDs) 9678 populate(objectMap, "previousLinks", c.PreviousLinks) 9679 populate(objectMap, "resourceId", c.ResourceID) 9680 populate(objectMap, "type", c.Type) 9681 return json.Marshal(objectMap) 9682 } 9683 9684 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityHop. 9685 func (c *ConnectivityHop) UnmarshalJSON(data []byte) error { 9686 var rawMsg map[string]json.RawMessage 9687 if err := json.Unmarshal(data, &rawMsg); err != nil { 9688 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9689 } 9690 for key, val := range rawMsg { 9691 var err error 9692 switch key { 9693 case "address": 9694 err = unpopulate(val, "Address", &c.Address) 9695 delete(rawMsg, key) 9696 case "id": 9697 err = unpopulate(val, "ID", &c.ID) 9698 delete(rawMsg, key) 9699 case "issues": 9700 err = unpopulate(val, "Issues", &c.Issues) 9701 delete(rawMsg, key) 9702 case "links": 9703 err = unpopulate(val, "Links", &c.Links) 9704 delete(rawMsg, key) 9705 case "nextHopIds": 9706 err = unpopulate(val, "NextHopIDs", &c.NextHopIDs) 9707 delete(rawMsg, key) 9708 case "previousHopIds": 9709 err = unpopulate(val, "PreviousHopIDs", &c.PreviousHopIDs) 9710 delete(rawMsg, key) 9711 case "previousLinks": 9712 err = unpopulate(val, "PreviousLinks", &c.PreviousLinks) 9713 delete(rawMsg, key) 9714 case "resourceId": 9715 err = unpopulate(val, "ResourceID", &c.ResourceID) 9716 delete(rawMsg, key) 9717 case "type": 9718 err = unpopulate(val, "Type", &c.Type) 9719 delete(rawMsg, key) 9720 } 9721 if err != nil { 9722 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9723 } 9724 } 9725 return nil 9726 } 9727 9728 // MarshalJSON implements the json.Marshaller interface for type ConnectivityInformation. 9729 func (c ConnectivityInformation) MarshalJSON() ([]byte, error) { 9730 objectMap := make(map[string]any) 9731 populate(objectMap, "avgLatencyInMs", c.AvgLatencyInMs) 9732 populate(objectMap, "connectionStatus", c.ConnectionStatus) 9733 populate(objectMap, "hops", c.Hops) 9734 populate(objectMap, "maxLatencyInMs", c.MaxLatencyInMs) 9735 populate(objectMap, "minLatencyInMs", c.MinLatencyInMs) 9736 populate(objectMap, "probesFailed", c.ProbesFailed) 9737 populate(objectMap, "probesSent", c.ProbesSent) 9738 return json.Marshal(objectMap) 9739 } 9740 9741 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityInformation. 9742 func (c *ConnectivityInformation) UnmarshalJSON(data []byte) error { 9743 var rawMsg map[string]json.RawMessage 9744 if err := json.Unmarshal(data, &rawMsg); err != nil { 9745 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9746 } 9747 for key, val := range rawMsg { 9748 var err error 9749 switch key { 9750 case "avgLatencyInMs": 9751 err = unpopulate(val, "AvgLatencyInMs", &c.AvgLatencyInMs) 9752 delete(rawMsg, key) 9753 case "connectionStatus": 9754 err = unpopulate(val, "ConnectionStatus", &c.ConnectionStatus) 9755 delete(rawMsg, key) 9756 case "hops": 9757 err = unpopulate(val, "Hops", &c.Hops) 9758 delete(rawMsg, key) 9759 case "maxLatencyInMs": 9760 err = unpopulate(val, "MaxLatencyInMs", &c.MaxLatencyInMs) 9761 delete(rawMsg, key) 9762 case "minLatencyInMs": 9763 err = unpopulate(val, "MinLatencyInMs", &c.MinLatencyInMs) 9764 delete(rawMsg, key) 9765 case "probesFailed": 9766 err = unpopulate(val, "ProbesFailed", &c.ProbesFailed) 9767 delete(rawMsg, key) 9768 case "probesSent": 9769 err = unpopulate(val, "ProbesSent", &c.ProbesSent) 9770 delete(rawMsg, key) 9771 } 9772 if err != nil { 9773 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9774 } 9775 } 9776 return nil 9777 } 9778 9779 // MarshalJSON implements the json.Marshaller interface for type ConnectivityIssue. 9780 func (c ConnectivityIssue) MarshalJSON() ([]byte, error) { 9781 objectMap := make(map[string]any) 9782 populate(objectMap, "context", c.Context) 9783 populate(objectMap, "origin", c.Origin) 9784 populate(objectMap, "severity", c.Severity) 9785 populate(objectMap, "type", c.Type) 9786 return json.Marshal(objectMap) 9787 } 9788 9789 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityIssue. 9790 func (c *ConnectivityIssue) UnmarshalJSON(data []byte) error { 9791 var rawMsg map[string]json.RawMessage 9792 if err := json.Unmarshal(data, &rawMsg); err != nil { 9793 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9794 } 9795 for key, val := range rawMsg { 9796 var err error 9797 switch key { 9798 case "context": 9799 err = unpopulate(val, "Context", &c.Context) 9800 delete(rawMsg, key) 9801 case "origin": 9802 err = unpopulate(val, "Origin", &c.Origin) 9803 delete(rawMsg, key) 9804 case "severity": 9805 err = unpopulate(val, "Severity", &c.Severity) 9806 delete(rawMsg, key) 9807 case "type": 9808 err = unpopulate(val, "Type", &c.Type) 9809 delete(rawMsg, key) 9810 } 9811 if err != nil { 9812 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9813 } 9814 } 9815 return nil 9816 } 9817 9818 // MarshalJSON implements the json.Marshaller interface for type ConnectivityParameters. 9819 func (c ConnectivityParameters) MarshalJSON() ([]byte, error) { 9820 objectMap := make(map[string]any) 9821 populate(objectMap, "destination", c.Destination) 9822 populate(objectMap, "preferredIPVersion", c.PreferredIPVersion) 9823 populate(objectMap, "protocol", c.Protocol) 9824 populate(objectMap, "protocolConfiguration", c.ProtocolConfiguration) 9825 populate(objectMap, "source", c.Source) 9826 return json.Marshal(objectMap) 9827 } 9828 9829 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityParameters. 9830 func (c *ConnectivityParameters) UnmarshalJSON(data []byte) error { 9831 var rawMsg map[string]json.RawMessage 9832 if err := json.Unmarshal(data, &rawMsg); err != nil { 9833 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9834 } 9835 for key, val := range rawMsg { 9836 var err error 9837 switch key { 9838 case "destination": 9839 err = unpopulate(val, "Destination", &c.Destination) 9840 delete(rawMsg, key) 9841 case "preferredIPVersion": 9842 err = unpopulate(val, "PreferredIPVersion", &c.PreferredIPVersion) 9843 delete(rawMsg, key) 9844 case "protocol": 9845 err = unpopulate(val, "Protocol", &c.Protocol) 9846 delete(rawMsg, key) 9847 case "protocolConfiguration": 9848 err = unpopulate(val, "ProtocolConfiguration", &c.ProtocolConfiguration) 9849 delete(rawMsg, key) 9850 case "source": 9851 err = unpopulate(val, "Source", &c.Source) 9852 delete(rawMsg, key) 9853 } 9854 if err != nil { 9855 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9856 } 9857 } 9858 return nil 9859 } 9860 9861 // MarshalJSON implements the json.Marshaller interface for type ConnectivitySource. 9862 func (c ConnectivitySource) MarshalJSON() ([]byte, error) { 9863 objectMap := make(map[string]any) 9864 populate(objectMap, "port", c.Port) 9865 populate(objectMap, "resourceId", c.ResourceID) 9866 return json.Marshal(objectMap) 9867 } 9868 9869 // UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivitySource. 9870 func (c *ConnectivitySource) UnmarshalJSON(data []byte) error { 9871 var rawMsg map[string]json.RawMessage 9872 if err := json.Unmarshal(data, &rawMsg); err != nil { 9873 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9874 } 9875 for key, val := range rawMsg { 9876 var err error 9877 switch key { 9878 case "port": 9879 err = unpopulate(val, "Port", &c.Port) 9880 delete(rawMsg, key) 9881 case "resourceId": 9882 err = unpopulate(val, "ResourceID", &c.ResourceID) 9883 delete(rawMsg, key) 9884 } 9885 if err != nil { 9886 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9887 } 9888 } 9889 return nil 9890 } 9891 9892 // MarshalJSON implements the json.Marshaller interface for type Container. 9893 func (c Container) MarshalJSON() ([]byte, error) { 9894 objectMap := make(map[string]any) 9895 populate(objectMap, "id", c.ID) 9896 return json.Marshal(objectMap) 9897 } 9898 9899 // UnmarshalJSON implements the json.Unmarshaller interface for type Container. 9900 func (c *Container) UnmarshalJSON(data []byte) error { 9901 var rawMsg map[string]json.RawMessage 9902 if err := json.Unmarshal(data, &rawMsg); err != nil { 9903 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9904 } 9905 for key, val := range rawMsg { 9906 var err error 9907 switch key { 9908 case "id": 9909 err = unpopulate(val, "ID", &c.ID) 9910 delete(rawMsg, key) 9911 } 9912 if err != nil { 9913 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9914 } 9915 } 9916 return nil 9917 } 9918 9919 // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterface. 9920 func (c ContainerNetworkInterface) MarshalJSON() ([]byte, error) { 9921 objectMap := make(map[string]any) 9922 populate(objectMap, "etag", c.Etag) 9923 populate(objectMap, "id", c.ID) 9924 populate(objectMap, "name", c.Name) 9925 populate(objectMap, "properties", c.Properties) 9926 populate(objectMap, "type", c.Type) 9927 return json.Marshal(objectMap) 9928 } 9929 9930 // UnmarshalJSON implements the json.Unmarshaller interface for type ContainerNetworkInterface. 9931 func (c *ContainerNetworkInterface) UnmarshalJSON(data []byte) error { 9932 var rawMsg map[string]json.RawMessage 9933 if err := json.Unmarshal(data, &rawMsg); err != nil { 9934 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9935 } 9936 for key, val := range rawMsg { 9937 var err error 9938 switch key { 9939 case "etag": 9940 err = unpopulate(val, "Etag", &c.Etag) 9941 delete(rawMsg, key) 9942 case "id": 9943 err = unpopulate(val, "ID", &c.ID) 9944 delete(rawMsg, key) 9945 case "name": 9946 err = unpopulate(val, "Name", &c.Name) 9947 delete(rawMsg, key) 9948 case "properties": 9949 err = unpopulate(val, "Properties", &c.Properties) 9950 delete(rawMsg, key) 9951 case "type": 9952 err = unpopulate(val, "Type", &c.Type) 9953 delete(rawMsg, key) 9954 } 9955 if err != nil { 9956 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9957 } 9958 } 9959 return nil 9960 } 9961 9962 // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceConfiguration. 9963 func (c ContainerNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) { 9964 objectMap := make(map[string]any) 9965 populate(objectMap, "etag", c.Etag) 9966 populate(objectMap, "id", c.ID) 9967 populate(objectMap, "name", c.Name) 9968 populate(objectMap, "properties", c.Properties) 9969 populate(objectMap, "type", c.Type) 9970 return json.Marshal(objectMap) 9971 } 9972 9973 // UnmarshalJSON implements the json.Unmarshaller interface for type ContainerNetworkInterfaceConfiguration. 9974 func (c *ContainerNetworkInterfaceConfiguration) UnmarshalJSON(data []byte) error { 9975 var rawMsg map[string]json.RawMessage 9976 if err := json.Unmarshal(data, &rawMsg); err != nil { 9977 return fmt.Errorf("unmarshalling type %T: %v", c, err) 9978 } 9979 for key, val := range rawMsg { 9980 var err error 9981 switch key { 9982 case "etag": 9983 err = unpopulate(val, "Etag", &c.Etag) 9984 delete(rawMsg, key) 9985 case "id": 9986 err = unpopulate(val, "ID", &c.ID) 9987 delete(rawMsg, key) 9988 case "name": 9989 err = unpopulate(val, "Name", &c.Name) 9990 delete(rawMsg, key) 9991 case "properties": 9992 err = unpopulate(val, "Properties", &c.Properties) 9993 delete(rawMsg, key) 9994 case "type": 9995 err = unpopulate(val, "Type", &c.Type) 9996 delete(rawMsg, key) 9997 } 9998 if err != nil { 9999 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10000 } 10001 } 10002 return nil 10003 } 10004 10005 // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceConfigurationPropertiesFormat. 10006 func (c ContainerNetworkInterfaceConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 10007 objectMap := make(map[string]any) 10008 populate(objectMap, "containerNetworkInterfaces", c.ContainerNetworkInterfaces) 10009 populate(objectMap, "ipConfigurations", c.IPConfigurations) 10010 populate(objectMap, "provisioningState", c.ProvisioningState) 10011 return json.Marshal(objectMap) 10012 } 10013 10014 // UnmarshalJSON implements the json.Unmarshaller interface for type ContainerNetworkInterfaceConfigurationPropertiesFormat. 10015 func (c *ContainerNetworkInterfaceConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 10016 var rawMsg map[string]json.RawMessage 10017 if err := json.Unmarshal(data, &rawMsg); err != nil { 10018 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10019 } 10020 for key, val := range rawMsg { 10021 var err error 10022 switch key { 10023 case "containerNetworkInterfaces": 10024 err = unpopulate(val, "ContainerNetworkInterfaces", &c.ContainerNetworkInterfaces) 10025 delete(rawMsg, key) 10026 case "ipConfigurations": 10027 err = unpopulate(val, "IPConfigurations", &c.IPConfigurations) 10028 delete(rawMsg, key) 10029 case "provisioningState": 10030 err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) 10031 delete(rawMsg, key) 10032 } 10033 if err != nil { 10034 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10035 } 10036 } 10037 return nil 10038 } 10039 10040 // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceIPConfiguration. 10041 func (c ContainerNetworkInterfaceIPConfiguration) MarshalJSON() ([]byte, error) { 10042 objectMap := make(map[string]any) 10043 populate(objectMap, "etag", c.Etag) 10044 populate(objectMap, "name", c.Name) 10045 populate(objectMap, "properties", c.Properties) 10046 populate(objectMap, "type", c.Type) 10047 return json.Marshal(objectMap) 10048 } 10049 10050 // UnmarshalJSON implements the json.Unmarshaller interface for type ContainerNetworkInterfaceIPConfiguration. 10051 func (c *ContainerNetworkInterfaceIPConfiguration) UnmarshalJSON(data []byte) error { 10052 var rawMsg map[string]json.RawMessage 10053 if err := json.Unmarshal(data, &rawMsg); err != nil { 10054 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10055 } 10056 for key, val := range rawMsg { 10057 var err error 10058 switch key { 10059 case "etag": 10060 err = unpopulate(val, "Etag", &c.Etag) 10061 delete(rawMsg, key) 10062 case "name": 10063 err = unpopulate(val, "Name", &c.Name) 10064 delete(rawMsg, key) 10065 case "properties": 10066 err = unpopulate(val, "Properties", &c.Properties) 10067 delete(rawMsg, key) 10068 case "type": 10069 err = unpopulate(val, "Type", &c.Type) 10070 delete(rawMsg, key) 10071 } 10072 if err != nil { 10073 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10074 } 10075 } 10076 return nil 10077 } 10078 10079 // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfaceIPConfigurationPropertiesFormat. 10080 func (c ContainerNetworkInterfaceIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 10081 objectMap := make(map[string]any) 10082 populate(objectMap, "provisioningState", c.ProvisioningState) 10083 return json.Marshal(objectMap) 10084 } 10085 10086 // UnmarshalJSON implements the json.Unmarshaller interface for type ContainerNetworkInterfaceIPConfigurationPropertiesFormat. 10087 func (c *ContainerNetworkInterfaceIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 10088 var rawMsg map[string]json.RawMessage 10089 if err := json.Unmarshal(data, &rawMsg); err != nil { 10090 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10091 } 10092 for key, val := range rawMsg { 10093 var err error 10094 switch key { 10095 case "provisioningState": 10096 err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) 10097 delete(rawMsg, key) 10098 } 10099 if err != nil { 10100 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10101 } 10102 } 10103 return nil 10104 } 10105 10106 // MarshalJSON implements the json.Marshaller interface for type ContainerNetworkInterfacePropertiesFormat. 10107 func (c ContainerNetworkInterfacePropertiesFormat) MarshalJSON() ([]byte, error) { 10108 objectMap := make(map[string]any) 10109 populate(objectMap, "container", c.Container) 10110 populate(objectMap, "containerNetworkInterfaceConfiguration", c.ContainerNetworkInterfaceConfiguration) 10111 populate(objectMap, "ipConfigurations", c.IPConfigurations) 10112 populate(objectMap, "provisioningState", c.ProvisioningState) 10113 return json.Marshal(objectMap) 10114 } 10115 10116 // UnmarshalJSON implements the json.Unmarshaller interface for type ContainerNetworkInterfacePropertiesFormat. 10117 func (c *ContainerNetworkInterfacePropertiesFormat) UnmarshalJSON(data []byte) error { 10118 var rawMsg map[string]json.RawMessage 10119 if err := json.Unmarshal(data, &rawMsg); err != nil { 10120 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10121 } 10122 for key, val := range rawMsg { 10123 var err error 10124 switch key { 10125 case "container": 10126 err = unpopulate(val, "Container", &c.Container) 10127 delete(rawMsg, key) 10128 case "containerNetworkInterfaceConfiguration": 10129 err = unpopulate(val, "ContainerNetworkInterfaceConfiguration", &c.ContainerNetworkInterfaceConfiguration) 10130 delete(rawMsg, key) 10131 case "ipConfigurations": 10132 err = unpopulate(val, "IPConfigurations", &c.IPConfigurations) 10133 delete(rawMsg, key) 10134 case "provisioningState": 10135 err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) 10136 delete(rawMsg, key) 10137 } 10138 if err != nil { 10139 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10140 } 10141 } 10142 return nil 10143 } 10144 10145 // MarshalJSON implements the json.Marshaller interface for type Criterion. 10146 func (c Criterion) MarshalJSON() ([]byte, error) { 10147 objectMap := make(map[string]any) 10148 populate(objectMap, "asPath", c.AsPath) 10149 populate(objectMap, "community", c.Community) 10150 populate(objectMap, "matchCondition", c.MatchCondition) 10151 populate(objectMap, "routePrefix", c.RoutePrefix) 10152 return json.Marshal(objectMap) 10153 } 10154 10155 // UnmarshalJSON implements the json.Unmarshaller interface for type Criterion. 10156 func (c *Criterion) UnmarshalJSON(data []byte) error { 10157 var rawMsg map[string]json.RawMessage 10158 if err := json.Unmarshal(data, &rawMsg); err != nil { 10159 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10160 } 10161 for key, val := range rawMsg { 10162 var err error 10163 switch key { 10164 case "asPath": 10165 err = unpopulate(val, "AsPath", &c.AsPath) 10166 delete(rawMsg, key) 10167 case "community": 10168 err = unpopulate(val, "Community", &c.Community) 10169 delete(rawMsg, key) 10170 case "matchCondition": 10171 err = unpopulate(val, "MatchCondition", &c.MatchCondition) 10172 delete(rawMsg, key) 10173 case "routePrefix": 10174 err = unpopulate(val, "RoutePrefix", &c.RoutePrefix) 10175 delete(rawMsg, key) 10176 } 10177 if err != nil { 10178 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10179 } 10180 } 10181 return nil 10182 } 10183 10184 // MarshalJSON implements the json.Marshaller interface for type CrossTenantScopes. 10185 func (c CrossTenantScopes) MarshalJSON() ([]byte, error) { 10186 objectMap := make(map[string]any) 10187 populate(objectMap, "managementGroups", c.ManagementGroups) 10188 populate(objectMap, "subscriptions", c.Subscriptions) 10189 populate(objectMap, "tenantId", c.TenantID) 10190 return json.Marshal(objectMap) 10191 } 10192 10193 // UnmarshalJSON implements the json.Unmarshaller interface for type CrossTenantScopes. 10194 func (c *CrossTenantScopes) UnmarshalJSON(data []byte) error { 10195 var rawMsg map[string]json.RawMessage 10196 if err := json.Unmarshal(data, &rawMsg); err != nil { 10197 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10198 } 10199 for key, val := range rawMsg { 10200 var err error 10201 switch key { 10202 case "managementGroups": 10203 err = unpopulate(val, "ManagementGroups", &c.ManagementGroups) 10204 delete(rawMsg, key) 10205 case "subscriptions": 10206 err = unpopulate(val, "Subscriptions", &c.Subscriptions) 10207 delete(rawMsg, key) 10208 case "tenantId": 10209 err = unpopulate(val, "TenantID", &c.TenantID) 10210 delete(rawMsg, key) 10211 } 10212 if err != nil { 10213 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10214 } 10215 } 10216 return nil 10217 } 10218 10219 // MarshalJSON implements the json.Marshaller interface for type CustomDNSConfigPropertiesFormat. 10220 func (c CustomDNSConfigPropertiesFormat) MarshalJSON() ([]byte, error) { 10221 objectMap := make(map[string]any) 10222 populate(objectMap, "fqdn", c.Fqdn) 10223 populate(objectMap, "ipAddresses", c.IPAddresses) 10224 return json.Marshal(objectMap) 10225 } 10226 10227 // UnmarshalJSON implements the json.Unmarshaller interface for type CustomDNSConfigPropertiesFormat. 10228 func (c *CustomDNSConfigPropertiesFormat) UnmarshalJSON(data []byte) error { 10229 var rawMsg map[string]json.RawMessage 10230 if err := json.Unmarshal(data, &rawMsg); err != nil { 10231 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10232 } 10233 for key, val := range rawMsg { 10234 var err error 10235 switch key { 10236 case "fqdn": 10237 err = unpopulate(val, "Fqdn", &c.Fqdn) 10238 delete(rawMsg, key) 10239 case "ipAddresses": 10240 err = unpopulate(val, "IPAddresses", &c.IPAddresses) 10241 delete(rawMsg, key) 10242 } 10243 if err != nil { 10244 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10245 } 10246 } 10247 return nil 10248 } 10249 10250 // MarshalJSON implements the json.Marshaller interface for type CustomIPPrefix. 10251 func (c CustomIPPrefix) MarshalJSON() ([]byte, error) { 10252 objectMap := make(map[string]any) 10253 populate(objectMap, "etag", c.Etag) 10254 populate(objectMap, "extendedLocation", c.ExtendedLocation) 10255 populate(objectMap, "id", c.ID) 10256 populate(objectMap, "location", c.Location) 10257 populate(objectMap, "name", c.Name) 10258 populate(objectMap, "properties", c.Properties) 10259 populate(objectMap, "tags", c.Tags) 10260 populate(objectMap, "type", c.Type) 10261 populate(objectMap, "zones", c.Zones) 10262 return json.Marshal(objectMap) 10263 } 10264 10265 // UnmarshalJSON implements the json.Unmarshaller interface for type CustomIPPrefix. 10266 func (c *CustomIPPrefix) UnmarshalJSON(data []byte) error { 10267 var rawMsg map[string]json.RawMessage 10268 if err := json.Unmarshal(data, &rawMsg); err != nil { 10269 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10270 } 10271 for key, val := range rawMsg { 10272 var err error 10273 switch key { 10274 case "etag": 10275 err = unpopulate(val, "Etag", &c.Etag) 10276 delete(rawMsg, key) 10277 case "extendedLocation": 10278 err = unpopulate(val, "ExtendedLocation", &c.ExtendedLocation) 10279 delete(rawMsg, key) 10280 case "id": 10281 err = unpopulate(val, "ID", &c.ID) 10282 delete(rawMsg, key) 10283 case "location": 10284 err = unpopulate(val, "Location", &c.Location) 10285 delete(rawMsg, key) 10286 case "name": 10287 err = unpopulate(val, "Name", &c.Name) 10288 delete(rawMsg, key) 10289 case "properties": 10290 err = unpopulate(val, "Properties", &c.Properties) 10291 delete(rawMsg, key) 10292 case "tags": 10293 err = unpopulate(val, "Tags", &c.Tags) 10294 delete(rawMsg, key) 10295 case "type": 10296 err = unpopulate(val, "Type", &c.Type) 10297 delete(rawMsg, key) 10298 case "zones": 10299 err = unpopulate(val, "Zones", &c.Zones) 10300 delete(rawMsg, key) 10301 } 10302 if err != nil { 10303 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10304 } 10305 } 10306 return nil 10307 } 10308 10309 // MarshalJSON implements the json.Marshaller interface for type CustomIPPrefixListResult. 10310 func (c CustomIPPrefixListResult) MarshalJSON() ([]byte, error) { 10311 objectMap := make(map[string]any) 10312 populate(objectMap, "nextLink", c.NextLink) 10313 populate(objectMap, "value", c.Value) 10314 return json.Marshal(objectMap) 10315 } 10316 10317 // UnmarshalJSON implements the json.Unmarshaller interface for type CustomIPPrefixListResult. 10318 func (c *CustomIPPrefixListResult) UnmarshalJSON(data []byte) error { 10319 var rawMsg map[string]json.RawMessage 10320 if err := json.Unmarshal(data, &rawMsg); err != nil { 10321 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10322 } 10323 for key, val := range rawMsg { 10324 var err error 10325 switch key { 10326 case "nextLink": 10327 err = unpopulate(val, "NextLink", &c.NextLink) 10328 delete(rawMsg, key) 10329 case "value": 10330 err = unpopulate(val, "Value", &c.Value) 10331 delete(rawMsg, key) 10332 } 10333 if err != nil { 10334 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10335 } 10336 } 10337 return nil 10338 } 10339 10340 // MarshalJSON implements the json.Marshaller interface for type CustomIPPrefixPropertiesFormat. 10341 func (c CustomIPPrefixPropertiesFormat) MarshalJSON() ([]byte, error) { 10342 objectMap := make(map[string]any) 10343 populate(objectMap, "asn", c.Asn) 10344 populate(objectMap, "authorizationMessage", c.AuthorizationMessage) 10345 populate(objectMap, "childCustomIpPrefixes", c.ChildCustomIPPrefixes) 10346 populate(objectMap, "cidr", c.Cidr) 10347 populate(objectMap, "commissionedState", c.CommissionedState) 10348 populate(objectMap, "customIpPrefixParent", c.CustomIPPrefixParent) 10349 populate(objectMap, "expressRouteAdvertise", c.ExpressRouteAdvertise) 10350 populate(objectMap, "failedReason", c.FailedReason) 10351 populate(objectMap, "geo", c.Geo) 10352 populate(objectMap, "noInternetAdvertise", c.NoInternetAdvertise) 10353 populate(objectMap, "prefixType", c.PrefixType) 10354 populate(objectMap, "provisioningState", c.ProvisioningState) 10355 populate(objectMap, "publicIpPrefixes", c.PublicIPPrefixes) 10356 populate(objectMap, "resourceGuid", c.ResourceGUID) 10357 populate(objectMap, "signedMessage", c.SignedMessage) 10358 return json.Marshal(objectMap) 10359 } 10360 10361 // UnmarshalJSON implements the json.Unmarshaller interface for type CustomIPPrefixPropertiesFormat. 10362 func (c *CustomIPPrefixPropertiesFormat) UnmarshalJSON(data []byte) error { 10363 var rawMsg map[string]json.RawMessage 10364 if err := json.Unmarshal(data, &rawMsg); err != nil { 10365 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10366 } 10367 for key, val := range rawMsg { 10368 var err error 10369 switch key { 10370 case "asn": 10371 err = unpopulate(val, "Asn", &c.Asn) 10372 delete(rawMsg, key) 10373 case "authorizationMessage": 10374 err = unpopulate(val, "AuthorizationMessage", &c.AuthorizationMessage) 10375 delete(rawMsg, key) 10376 case "childCustomIpPrefixes": 10377 err = unpopulate(val, "ChildCustomIPPrefixes", &c.ChildCustomIPPrefixes) 10378 delete(rawMsg, key) 10379 case "cidr": 10380 err = unpopulate(val, "Cidr", &c.Cidr) 10381 delete(rawMsg, key) 10382 case "commissionedState": 10383 err = unpopulate(val, "CommissionedState", &c.CommissionedState) 10384 delete(rawMsg, key) 10385 case "customIpPrefixParent": 10386 err = unpopulate(val, "CustomIPPrefixParent", &c.CustomIPPrefixParent) 10387 delete(rawMsg, key) 10388 case "expressRouteAdvertise": 10389 err = unpopulate(val, "ExpressRouteAdvertise", &c.ExpressRouteAdvertise) 10390 delete(rawMsg, key) 10391 case "failedReason": 10392 err = unpopulate(val, "FailedReason", &c.FailedReason) 10393 delete(rawMsg, key) 10394 case "geo": 10395 err = unpopulate(val, "Geo", &c.Geo) 10396 delete(rawMsg, key) 10397 case "noInternetAdvertise": 10398 err = unpopulate(val, "NoInternetAdvertise", &c.NoInternetAdvertise) 10399 delete(rawMsg, key) 10400 case "prefixType": 10401 err = unpopulate(val, "PrefixType", &c.PrefixType) 10402 delete(rawMsg, key) 10403 case "provisioningState": 10404 err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) 10405 delete(rawMsg, key) 10406 case "publicIpPrefixes": 10407 err = unpopulate(val, "PublicIPPrefixes", &c.PublicIPPrefixes) 10408 delete(rawMsg, key) 10409 case "resourceGuid": 10410 err = unpopulate(val, "ResourceGUID", &c.ResourceGUID) 10411 delete(rawMsg, key) 10412 case "signedMessage": 10413 err = unpopulate(val, "SignedMessage", &c.SignedMessage) 10414 delete(rawMsg, key) 10415 } 10416 if err != nil { 10417 return fmt.Errorf("unmarshalling type %T: %v", c, err) 10418 } 10419 } 10420 return nil 10421 } 10422 10423 // MarshalJSON implements the json.Marshaller interface for type DNSNameAvailabilityResult. 10424 func (d DNSNameAvailabilityResult) MarshalJSON() ([]byte, error) { 10425 objectMap := make(map[string]any) 10426 populate(objectMap, "available", d.Available) 10427 return json.Marshal(objectMap) 10428 } 10429 10430 // UnmarshalJSON implements the json.Unmarshaller interface for type DNSNameAvailabilityResult. 10431 func (d *DNSNameAvailabilityResult) UnmarshalJSON(data []byte) error { 10432 var rawMsg map[string]json.RawMessage 10433 if err := json.Unmarshal(data, &rawMsg); err != nil { 10434 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10435 } 10436 for key, val := range rawMsg { 10437 var err error 10438 switch key { 10439 case "available": 10440 err = unpopulate(val, "Available", &d.Available) 10441 delete(rawMsg, key) 10442 } 10443 if err != nil { 10444 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10445 } 10446 } 10447 return nil 10448 } 10449 10450 // MarshalJSON implements the json.Marshaller interface for type DNSSettings. 10451 func (d DNSSettings) MarshalJSON() ([]byte, error) { 10452 objectMap := make(map[string]any) 10453 populate(objectMap, "enableProxy", d.EnableProxy) 10454 populate(objectMap, "requireProxyForNetworkRules", d.RequireProxyForNetworkRules) 10455 populate(objectMap, "servers", d.Servers) 10456 return json.Marshal(objectMap) 10457 } 10458 10459 // UnmarshalJSON implements the json.Unmarshaller interface for type DNSSettings. 10460 func (d *DNSSettings) UnmarshalJSON(data []byte) error { 10461 var rawMsg map[string]json.RawMessage 10462 if err := json.Unmarshal(data, &rawMsg); err != nil { 10463 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10464 } 10465 for key, val := range rawMsg { 10466 var err error 10467 switch key { 10468 case "enableProxy": 10469 err = unpopulate(val, "EnableProxy", &d.EnableProxy) 10470 delete(rawMsg, key) 10471 case "requireProxyForNetworkRules": 10472 err = unpopulate(val, "RequireProxyForNetworkRules", &d.RequireProxyForNetworkRules) 10473 delete(rawMsg, key) 10474 case "servers": 10475 err = unpopulate(val, "Servers", &d.Servers) 10476 delete(rawMsg, key) 10477 } 10478 if err != nil { 10479 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10480 } 10481 } 10482 return nil 10483 } 10484 10485 // MarshalJSON implements the json.Marshaller interface for type DdosCustomPolicy. 10486 func (d DdosCustomPolicy) MarshalJSON() ([]byte, error) { 10487 objectMap := make(map[string]any) 10488 populate(objectMap, "etag", d.Etag) 10489 populate(objectMap, "id", d.ID) 10490 populate(objectMap, "location", d.Location) 10491 populate(objectMap, "name", d.Name) 10492 populate(objectMap, "properties", d.Properties) 10493 populate(objectMap, "tags", d.Tags) 10494 populate(objectMap, "type", d.Type) 10495 return json.Marshal(objectMap) 10496 } 10497 10498 // UnmarshalJSON implements the json.Unmarshaller interface for type DdosCustomPolicy. 10499 func (d *DdosCustomPolicy) UnmarshalJSON(data []byte) error { 10500 var rawMsg map[string]json.RawMessage 10501 if err := json.Unmarshal(data, &rawMsg); err != nil { 10502 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10503 } 10504 for key, val := range rawMsg { 10505 var err error 10506 switch key { 10507 case "etag": 10508 err = unpopulate(val, "Etag", &d.Etag) 10509 delete(rawMsg, key) 10510 case "id": 10511 err = unpopulate(val, "ID", &d.ID) 10512 delete(rawMsg, key) 10513 case "location": 10514 err = unpopulate(val, "Location", &d.Location) 10515 delete(rawMsg, key) 10516 case "name": 10517 err = unpopulate(val, "Name", &d.Name) 10518 delete(rawMsg, key) 10519 case "properties": 10520 err = unpopulate(val, "Properties", &d.Properties) 10521 delete(rawMsg, key) 10522 case "tags": 10523 err = unpopulate(val, "Tags", &d.Tags) 10524 delete(rawMsg, key) 10525 case "type": 10526 err = unpopulate(val, "Type", &d.Type) 10527 delete(rawMsg, key) 10528 } 10529 if err != nil { 10530 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10531 } 10532 } 10533 return nil 10534 } 10535 10536 // MarshalJSON implements the json.Marshaller interface for type DdosCustomPolicyPropertiesFormat. 10537 func (d DdosCustomPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 10538 objectMap := make(map[string]any) 10539 populate(objectMap, "provisioningState", d.ProvisioningState) 10540 populate(objectMap, "resourceGuid", d.ResourceGUID) 10541 return json.Marshal(objectMap) 10542 } 10543 10544 // UnmarshalJSON implements the json.Unmarshaller interface for type DdosCustomPolicyPropertiesFormat. 10545 func (d *DdosCustomPolicyPropertiesFormat) UnmarshalJSON(data []byte) error { 10546 var rawMsg map[string]json.RawMessage 10547 if err := json.Unmarshal(data, &rawMsg); err != nil { 10548 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10549 } 10550 for key, val := range rawMsg { 10551 var err error 10552 switch key { 10553 case "provisioningState": 10554 err = unpopulate(val, "ProvisioningState", &d.ProvisioningState) 10555 delete(rawMsg, key) 10556 case "resourceGuid": 10557 err = unpopulate(val, "ResourceGUID", &d.ResourceGUID) 10558 delete(rawMsg, key) 10559 } 10560 if err != nil { 10561 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10562 } 10563 } 10564 return nil 10565 } 10566 10567 // MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlan. 10568 func (d DdosProtectionPlan) MarshalJSON() ([]byte, error) { 10569 objectMap := make(map[string]any) 10570 populate(objectMap, "etag", d.Etag) 10571 populate(objectMap, "id", d.ID) 10572 populate(objectMap, "location", d.Location) 10573 populate(objectMap, "name", d.Name) 10574 populate(objectMap, "properties", d.Properties) 10575 populate(objectMap, "tags", d.Tags) 10576 populate(objectMap, "type", d.Type) 10577 return json.Marshal(objectMap) 10578 } 10579 10580 // UnmarshalJSON implements the json.Unmarshaller interface for type DdosProtectionPlan. 10581 func (d *DdosProtectionPlan) UnmarshalJSON(data []byte) error { 10582 var rawMsg map[string]json.RawMessage 10583 if err := json.Unmarshal(data, &rawMsg); err != nil { 10584 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10585 } 10586 for key, val := range rawMsg { 10587 var err error 10588 switch key { 10589 case "etag": 10590 err = unpopulate(val, "Etag", &d.Etag) 10591 delete(rawMsg, key) 10592 case "id": 10593 err = unpopulate(val, "ID", &d.ID) 10594 delete(rawMsg, key) 10595 case "location": 10596 err = unpopulate(val, "Location", &d.Location) 10597 delete(rawMsg, key) 10598 case "name": 10599 err = unpopulate(val, "Name", &d.Name) 10600 delete(rawMsg, key) 10601 case "properties": 10602 err = unpopulate(val, "Properties", &d.Properties) 10603 delete(rawMsg, key) 10604 case "tags": 10605 err = unpopulate(val, "Tags", &d.Tags) 10606 delete(rawMsg, key) 10607 case "type": 10608 err = unpopulate(val, "Type", &d.Type) 10609 delete(rawMsg, key) 10610 } 10611 if err != nil { 10612 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10613 } 10614 } 10615 return nil 10616 } 10617 10618 // MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlanListResult. 10619 func (d DdosProtectionPlanListResult) MarshalJSON() ([]byte, error) { 10620 objectMap := make(map[string]any) 10621 populate(objectMap, "nextLink", d.NextLink) 10622 populate(objectMap, "value", d.Value) 10623 return json.Marshal(objectMap) 10624 } 10625 10626 // UnmarshalJSON implements the json.Unmarshaller interface for type DdosProtectionPlanListResult. 10627 func (d *DdosProtectionPlanListResult) UnmarshalJSON(data []byte) error { 10628 var rawMsg map[string]json.RawMessage 10629 if err := json.Unmarshal(data, &rawMsg); err != nil { 10630 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10631 } 10632 for key, val := range rawMsg { 10633 var err error 10634 switch key { 10635 case "nextLink": 10636 err = unpopulate(val, "NextLink", &d.NextLink) 10637 delete(rawMsg, key) 10638 case "value": 10639 err = unpopulate(val, "Value", &d.Value) 10640 delete(rawMsg, key) 10641 } 10642 if err != nil { 10643 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10644 } 10645 } 10646 return nil 10647 } 10648 10649 // MarshalJSON implements the json.Marshaller interface for type DdosProtectionPlanPropertiesFormat. 10650 func (d DdosProtectionPlanPropertiesFormat) MarshalJSON() ([]byte, error) { 10651 objectMap := make(map[string]any) 10652 populate(objectMap, "provisioningState", d.ProvisioningState) 10653 populate(objectMap, "publicIPAddresses", d.PublicIPAddresses) 10654 populate(objectMap, "resourceGuid", d.ResourceGUID) 10655 populate(objectMap, "virtualNetworks", d.VirtualNetworks) 10656 return json.Marshal(objectMap) 10657 } 10658 10659 // UnmarshalJSON implements the json.Unmarshaller interface for type DdosProtectionPlanPropertiesFormat. 10660 func (d *DdosProtectionPlanPropertiesFormat) UnmarshalJSON(data []byte) error { 10661 var rawMsg map[string]json.RawMessage 10662 if err := json.Unmarshal(data, &rawMsg); err != nil { 10663 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10664 } 10665 for key, val := range rawMsg { 10666 var err error 10667 switch key { 10668 case "provisioningState": 10669 err = unpopulate(val, "ProvisioningState", &d.ProvisioningState) 10670 delete(rawMsg, key) 10671 case "publicIPAddresses": 10672 err = unpopulate(val, "PublicIPAddresses", &d.PublicIPAddresses) 10673 delete(rawMsg, key) 10674 case "resourceGuid": 10675 err = unpopulate(val, "ResourceGUID", &d.ResourceGUID) 10676 delete(rawMsg, key) 10677 case "virtualNetworks": 10678 err = unpopulate(val, "VirtualNetworks", &d.VirtualNetworks) 10679 delete(rawMsg, key) 10680 } 10681 if err != nil { 10682 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10683 } 10684 } 10685 return nil 10686 } 10687 10688 // MarshalJSON implements the json.Marshaller interface for type DdosSettings. 10689 func (d DdosSettings) MarshalJSON() ([]byte, error) { 10690 objectMap := make(map[string]any) 10691 populate(objectMap, "ddosProtectionPlan", d.DdosProtectionPlan) 10692 populate(objectMap, "protectionMode", d.ProtectionMode) 10693 return json.Marshal(objectMap) 10694 } 10695 10696 // UnmarshalJSON implements the json.Unmarshaller interface for type DdosSettings. 10697 func (d *DdosSettings) UnmarshalJSON(data []byte) error { 10698 var rawMsg map[string]json.RawMessage 10699 if err := json.Unmarshal(data, &rawMsg); err != nil { 10700 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10701 } 10702 for key, val := range rawMsg { 10703 var err error 10704 switch key { 10705 case "ddosProtectionPlan": 10706 err = unpopulate(val, "DdosProtectionPlan", &d.DdosProtectionPlan) 10707 delete(rawMsg, key) 10708 case "protectionMode": 10709 err = unpopulate(val, "ProtectionMode", &d.ProtectionMode) 10710 delete(rawMsg, key) 10711 } 10712 if err != nil { 10713 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10714 } 10715 } 10716 return nil 10717 } 10718 10719 // MarshalJSON implements the json.Marshaller interface for type DefaultAdminPropertiesFormat. 10720 func (d DefaultAdminPropertiesFormat) MarshalJSON() ([]byte, error) { 10721 objectMap := make(map[string]any) 10722 populate(objectMap, "access", d.Access) 10723 populate(objectMap, "description", d.Description) 10724 populate(objectMap, "destinationPortRanges", d.DestinationPortRanges) 10725 populate(objectMap, "destinations", d.Destinations) 10726 populate(objectMap, "direction", d.Direction) 10727 populate(objectMap, "flag", d.Flag) 10728 populate(objectMap, "priority", d.Priority) 10729 populate(objectMap, "protocol", d.Protocol) 10730 populate(objectMap, "provisioningState", d.ProvisioningState) 10731 populate(objectMap, "resourceGuid", d.ResourceGUID) 10732 populate(objectMap, "sourcePortRanges", d.SourcePortRanges) 10733 populate(objectMap, "sources", d.Sources) 10734 return json.Marshal(objectMap) 10735 } 10736 10737 // UnmarshalJSON implements the json.Unmarshaller interface for type DefaultAdminPropertiesFormat. 10738 func (d *DefaultAdminPropertiesFormat) UnmarshalJSON(data []byte) error { 10739 var rawMsg map[string]json.RawMessage 10740 if err := json.Unmarshal(data, &rawMsg); err != nil { 10741 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10742 } 10743 for key, val := range rawMsg { 10744 var err error 10745 switch key { 10746 case "access": 10747 err = unpopulate(val, "Access", &d.Access) 10748 delete(rawMsg, key) 10749 case "description": 10750 err = unpopulate(val, "Description", &d.Description) 10751 delete(rawMsg, key) 10752 case "destinationPortRanges": 10753 err = unpopulate(val, "DestinationPortRanges", &d.DestinationPortRanges) 10754 delete(rawMsg, key) 10755 case "destinations": 10756 err = unpopulate(val, "Destinations", &d.Destinations) 10757 delete(rawMsg, key) 10758 case "direction": 10759 err = unpopulate(val, "Direction", &d.Direction) 10760 delete(rawMsg, key) 10761 case "flag": 10762 err = unpopulate(val, "Flag", &d.Flag) 10763 delete(rawMsg, key) 10764 case "priority": 10765 err = unpopulate(val, "Priority", &d.Priority) 10766 delete(rawMsg, key) 10767 case "protocol": 10768 err = unpopulate(val, "Protocol", &d.Protocol) 10769 delete(rawMsg, key) 10770 case "provisioningState": 10771 err = unpopulate(val, "ProvisioningState", &d.ProvisioningState) 10772 delete(rawMsg, key) 10773 case "resourceGuid": 10774 err = unpopulate(val, "ResourceGUID", &d.ResourceGUID) 10775 delete(rawMsg, key) 10776 case "sourcePortRanges": 10777 err = unpopulate(val, "SourcePortRanges", &d.SourcePortRanges) 10778 delete(rawMsg, key) 10779 case "sources": 10780 err = unpopulate(val, "Sources", &d.Sources) 10781 delete(rawMsg, key) 10782 } 10783 if err != nil { 10784 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10785 } 10786 } 10787 return nil 10788 } 10789 10790 // MarshalJSON implements the json.Marshaller interface for type DefaultAdminRule. 10791 func (d DefaultAdminRule) MarshalJSON() ([]byte, error) { 10792 objectMap := make(map[string]any) 10793 populate(objectMap, "etag", d.Etag) 10794 populate(objectMap, "id", d.ID) 10795 objectMap["kind"] = AdminRuleKindDefault 10796 populate(objectMap, "name", d.Name) 10797 populate(objectMap, "properties", d.Properties) 10798 populate(objectMap, "systemData", d.SystemData) 10799 populate(objectMap, "type", d.Type) 10800 return json.Marshal(objectMap) 10801 } 10802 10803 // UnmarshalJSON implements the json.Unmarshaller interface for type DefaultAdminRule. 10804 func (d *DefaultAdminRule) UnmarshalJSON(data []byte) error { 10805 var rawMsg map[string]json.RawMessage 10806 if err := json.Unmarshal(data, &rawMsg); err != nil { 10807 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10808 } 10809 for key, val := range rawMsg { 10810 var err error 10811 switch key { 10812 case "etag": 10813 err = unpopulate(val, "Etag", &d.Etag) 10814 delete(rawMsg, key) 10815 case "id": 10816 err = unpopulate(val, "ID", &d.ID) 10817 delete(rawMsg, key) 10818 case "kind": 10819 err = unpopulate(val, "Kind", &d.Kind) 10820 delete(rawMsg, key) 10821 case "name": 10822 err = unpopulate(val, "Name", &d.Name) 10823 delete(rawMsg, key) 10824 case "properties": 10825 err = unpopulate(val, "Properties", &d.Properties) 10826 delete(rawMsg, key) 10827 case "systemData": 10828 err = unpopulate(val, "SystemData", &d.SystemData) 10829 delete(rawMsg, key) 10830 case "type": 10831 err = unpopulate(val, "Type", &d.Type) 10832 delete(rawMsg, key) 10833 } 10834 if err != nil { 10835 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10836 } 10837 } 10838 return nil 10839 } 10840 10841 // MarshalJSON implements the json.Marshaller interface for type DefaultRuleSetPropertyFormat. 10842 func (d DefaultRuleSetPropertyFormat) MarshalJSON() ([]byte, error) { 10843 objectMap := make(map[string]any) 10844 populate(objectMap, "ruleSetType", d.RuleSetType) 10845 populate(objectMap, "ruleSetVersion", d.RuleSetVersion) 10846 return json.Marshal(objectMap) 10847 } 10848 10849 // UnmarshalJSON implements the json.Unmarshaller interface for type DefaultRuleSetPropertyFormat. 10850 func (d *DefaultRuleSetPropertyFormat) UnmarshalJSON(data []byte) error { 10851 var rawMsg map[string]json.RawMessage 10852 if err := json.Unmarshal(data, &rawMsg); err != nil { 10853 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10854 } 10855 for key, val := range rawMsg { 10856 var err error 10857 switch key { 10858 case "ruleSetType": 10859 err = unpopulate(val, "RuleSetType", &d.RuleSetType) 10860 delete(rawMsg, key) 10861 case "ruleSetVersion": 10862 err = unpopulate(val, "RuleSetVersion", &d.RuleSetVersion) 10863 delete(rawMsg, key) 10864 } 10865 if err != nil { 10866 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10867 } 10868 } 10869 return nil 10870 } 10871 10872 // MarshalJSON implements the json.Marshaller interface for type Delegation. 10873 func (d Delegation) MarshalJSON() ([]byte, error) { 10874 objectMap := make(map[string]any) 10875 populate(objectMap, "etag", d.Etag) 10876 populate(objectMap, "id", d.ID) 10877 populate(objectMap, "name", d.Name) 10878 populate(objectMap, "properties", d.Properties) 10879 populate(objectMap, "type", d.Type) 10880 return json.Marshal(objectMap) 10881 } 10882 10883 // UnmarshalJSON implements the json.Unmarshaller interface for type Delegation. 10884 func (d *Delegation) UnmarshalJSON(data []byte) error { 10885 var rawMsg map[string]json.RawMessage 10886 if err := json.Unmarshal(data, &rawMsg); err != nil { 10887 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10888 } 10889 for key, val := range rawMsg { 10890 var err error 10891 switch key { 10892 case "etag": 10893 err = unpopulate(val, "Etag", &d.Etag) 10894 delete(rawMsg, key) 10895 case "id": 10896 err = unpopulate(val, "ID", &d.ID) 10897 delete(rawMsg, key) 10898 case "name": 10899 err = unpopulate(val, "Name", &d.Name) 10900 delete(rawMsg, key) 10901 case "properties": 10902 err = unpopulate(val, "Properties", &d.Properties) 10903 delete(rawMsg, key) 10904 case "type": 10905 err = unpopulate(val, "Type", &d.Type) 10906 delete(rawMsg, key) 10907 } 10908 if err != nil { 10909 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10910 } 10911 } 10912 return nil 10913 } 10914 10915 // MarshalJSON implements the json.Marshaller interface for type DelegationProperties. 10916 func (d DelegationProperties) MarshalJSON() ([]byte, error) { 10917 objectMap := make(map[string]any) 10918 populate(objectMap, "provisioningState", d.ProvisioningState) 10919 populate(objectMap, "serviceName", d.ServiceName) 10920 return json.Marshal(objectMap) 10921 } 10922 10923 // UnmarshalJSON implements the json.Unmarshaller interface for type DelegationProperties. 10924 func (d *DelegationProperties) UnmarshalJSON(data []byte) error { 10925 var rawMsg map[string]json.RawMessage 10926 if err := json.Unmarshal(data, &rawMsg); err != nil { 10927 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10928 } 10929 for key, val := range rawMsg { 10930 var err error 10931 switch key { 10932 case "provisioningState": 10933 err = unpopulate(val, "ProvisioningState", &d.ProvisioningState) 10934 delete(rawMsg, key) 10935 case "serviceName": 10936 err = unpopulate(val, "ServiceName", &d.ServiceName) 10937 delete(rawMsg, key) 10938 } 10939 if err != nil { 10940 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10941 } 10942 } 10943 return nil 10944 } 10945 10946 // MarshalJSON implements the json.Marshaller interface for type DeviceProperties. 10947 func (d DeviceProperties) MarshalJSON() ([]byte, error) { 10948 objectMap := make(map[string]any) 10949 populate(objectMap, "deviceModel", d.DeviceModel) 10950 populate(objectMap, "deviceVendor", d.DeviceVendor) 10951 populate(objectMap, "linkSpeedInMbps", d.LinkSpeedInMbps) 10952 return json.Marshal(objectMap) 10953 } 10954 10955 // UnmarshalJSON implements the json.Unmarshaller interface for type DeviceProperties. 10956 func (d *DeviceProperties) UnmarshalJSON(data []byte) error { 10957 var rawMsg map[string]json.RawMessage 10958 if err := json.Unmarshal(data, &rawMsg); err != nil { 10959 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10960 } 10961 for key, val := range rawMsg { 10962 var err error 10963 switch key { 10964 case "deviceModel": 10965 err = unpopulate(val, "DeviceModel", &d.DeviceModel) 10966 delete(rawMsg, key) 10967 case "deviceVendor": 10968 err = unpopulate(val, "DeviceVendor", &d.DeviceVendor) 10969 delete(rawMsg, key) 10970 case "linkSpeedInMbps": 10971 err = unpopulate(val, "LinkSpeedInMbps", &d.LinkSpeedInMbps) 10972 delete(rawMsg, key) 10973 } 10974 if err != nil { 10975 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10976 } 10977 } 10978 return nil 10979 } 10980 10981 // MarshalJSON implements the json.Marshaller interface for type DhcpOptions. 10982 func (d DhcpOptions) MarshalJSON() ([]byte, error) { 10983 objectMap := make(map[string]any) 10984 populate(objectMap, "dnsServers", d.DNSServers) 10985 return json.Marshal(objectMap) 10986 } 10987 10988 // UnmarshalJSON implements the json.Unmarshaller interface for type DhcpOptions. 10989 func (d *DhcpOptions) UnmarshalJSON(data []byte) error { 10990 var rawMsg map[string]json.RawMessage 10991 if err := json.Unmarshal(data, &rawMsg); err != nil { 10992 return fmt.Errorf("unmarshalling type %T: %v", d, err) 10993 } 10994 for key, val := range rawMsg { 10995 var err error 10996 switch key { 10997 case "dnsServers": 10998 err = unpopulate(val, "DNSServers", &d.DNSServers) 10999 delete(rawMsg, key) 11000 } 11001 if err != nil { 11002 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11003 } 11004 } 11005 return nil 11006 } 11007 11008 // MarshalJSON implements the json.Marshaller interface for type Dimension. 11009 func (d Dimension) MarshalJSON() ([]byte, error) { 11010 objectMap := make(map[string]any) 11011 populate(objectMap, "displayName", d.DisplayName) 11012 populate(objectMap, "internalName", d.InternalName) 11013 populate(objectMap, "name", d.Name) 11014 return json.Marshal(objectMap) 11015 } 11016 11017 // UnmarshalJSON implements the json.Unmarshaller interface for type Dimension. 11018 func (d *Dimension) UnmarshalJSON(data []byte) error { 11019 var rawMsg map[string]json.RawMessage 11020 if err := json.Unmarshal(data, &rawMsg); err != nil { 11021 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11022 } 11023 for key, val := range rawMsg { 11024 var err error 11025 switch key { 11026 case "displayName": 11027 err = unpopulate(val, "DisplayName", &d.DisplayName) 11028 delete(rawMsg, key) 11029 case "internalName": 11030 err = unpopulate(val, "InternalName", &d.InternalName) 11031 delete(rawMsg, key) 11032 case "name": 11033 err = unpopulate(val, "Name", &d.Name) 11034 delete(rawMsg, key) 11035 } 11036 if err != nil { 11037 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11038 } 11039 } 11040 return nil 11041 } 11042 11043 // MarshalJSON implements the json.Marshaller interface for type DscpConfiguration. 11044 func (d DscpConfiguration) MarshalJSON() ([]byte, error) { 11045 objectMap := make(map[string]any) 11046 populate(objectMap, "etag", d.Etag) 11047 populate(objectMap, "id", d.ID) 11048 populate(objectMap, "location", d.Location) 11049 populate(objectMap, "name", d.Name) 11050 populate(objectMap, "properties", d.Properties) 11051 populate(objectMap, "tags", d.Tags) 11052 populate(objectMap, "type", d.Type) 11053 return json.Marshal(objectMap) 11054 } 11055 11056 // UnmarshalJSON implements the json.Unmarshaller interface for type DscpConfiguration. 11057 func (d *DscpConfiguration) UnmarshalJSON(data []byte) error { 11058 var rawMsg map[string]json.RawMessage 11059 if err := json.Unmarshal(data, &rawMsg); err != nil { 11060 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11061 } 11062 for key, val := range rawMsg { 11063 var err error 11064 switch key { 11065 case "etag": 11066 err = unpopulate(val, "Etag", &d.Etag) 11067 delete(rawMsg, key) 11068 case "id": 11069 err = unpopulate(val, "ID", &d.ID) 11070 delete(rawMsg, key) 11071 case "location": 11072 err = unpopulate(val, "Location", &d.Location) 11073 delete(rawMsg, key) 11074 case "name": 11075 err = unpopulate(val, "Name", &d.Name) 11076 delete(rawMsg, key) 11077 case "properties": 11078 err = unpopulate(val, "Properties", &d.Properties) 11079 delete(rawMsg, key) 11080 case "tags": 11081 err = unpopulate(val, "Tags", &d.Tags) 11082 delete(rawMsg, key) 11083 case "type": 11084 err = unpopulate(val, "Type", &d.Type) 11085 delete(rawMsg, key) 11086 } 11087 if err != nil { 11088 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11089 } 11090 } 11091 return nil 11092 } 11093 11094 // MarshalJSON implements the json.Marshaller interface for type DscpConfigurationListResult. 11095 func (d DscpConfigurationListResult) MarshalJSON() ([]byte, error) { 11096 objectMap := make(map[string]any) 11097 populate(objectMap, "nextLink", d.NextLink) 11098 populate(objectMap, "value", d.Value) 11099 return json.Marshal(objectMap) 11100 } 11101 11102 // UnmarshalJSON implements the json.Unmarshaller interface for type DscpConfigurationListResult. 11103 func (d *DscpConfigurationListResult) UnmarshalJSON(data []byte) error { 11104 var rawMsg map[string]json.RawMessage 11105 if err := json.Unmarshal(data, &rawMsg); err != nil { 11106 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11107 } 11108 for key, val := range rawMsg { 11109 var err error 11110 switch key { 11111 case "nextLink": 11112 err = unpopulate(val, "NextLink", &d.NextLink) 11113 delete(rawMsg, key) 11114 case "value": 11115 err = unpopulate(val, "Value", &d.Value) 11116 delete(rawMsg, key) 11117 } 11118 if err != nil { 11119 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11120 } 11121 } 11122 return nil 11123 } 11124 11125 // MarshalJSON implements the json.Marshaller interface for type DscpConfigurationPropertiesFormat. 11126 func (d DscpConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 11127 objectMap := make(map[string]any) 11128 populate(objectMap, "associatedNetworkInterfaces", d.AssociatedNetworkInterfaces) 11129 populate(objectMap, "destinationIpRanges", d.DestinationIPRanges) 11130 populate(objectMap, "destinationPortRanges", d.DestinationPortRanges) 11131 populate(objectMap, "markings", d.Markings) 11132 populate(objectMap, "protocol", d.Protocol) 11133 populate(objectMap, "provisioningState", d.ProvisioningState) 11134 populate(objectMap, "qosCollectionId", d.QosCollectionID) 11135 populate(objectMap, "qosDefinitionCollection", d.QosDefinitionCollection) 11136 populate(objectMap, "resourceGuid", d.ResourceGUID) 11137 populate(objectMap, "sourceIpRanges", d.SourceIPRanges) 11138 populate(objectMap, "sourcePortRanges", d.SourcePortRanges) 11139 return json.Marshal(objectMap) 11140 } 11141 11142 // UnmarshalJSON implements the json.Unmarshaller interface for type DscpConfigurationPropertiesFormat. 11143 func (d *DscpConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 11144 var rawMsg map[string]json.RawMessage 11145 if err := json.Unmarshal(data, &rawMsg); err != nil { 11146 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11147 } 11148 for key, val := range rawMsg { 11149 var err error 11150 switch key { 11151 case "associatedNetworkInterfaces": 11152 err = unpopulate(val, "AssociatedNetworkInterfaces", &d.AssociatedNetworkInterfaces) 11153 delete(rawMsg, key) 11154 case "destinationIpRanges": 11155 err = unpopulate(val, "DestinationIPRanges", &d.DestinationIPRanges) 11156 delete(rawMsg, key) 11157 case "destinationPortRanges": 11158 err = unpopulate(val, "DestinationPortRanges", &d.DestinationPortRanges) 11159 delete(rawMsg, key) 11160 case "markings": 11161 err = unpopulate(val, "Markings", &d.Markings) 11162 delete(rawMsg, key) 11163 case "protocol": 11164 err = unpopulate(val, "Protocol", &d.Protocol) 11165 delete(rawMsg, key) 11166 case "provisioningState": 11167 err = unpopulate(val, "ProvisioningState", &d.ProvisioningState) 11168 delete(rawMsg, key) 11169 case "qosCollectionId": 11170 err = unpopulate(val, "QosCollectionID", &d.QosCollectionID) 11171 delete(rawMsg, key) 11172 case "qosDefinitionCollection": 11173 err = unpopulate(val, "QosDefinitionCollection", &d.QosDefinitionCollection) 11174 delete(rawMsg, key) 11175 case "resourceGuid": 11176 err = unpopulate(val, "ResourceGUID", &d.ResourceGUID) 11177 delete(rawMsg, key) 11178 case "sourceIpRanges": 11179 err = unpopulate(val, "SourceIPRanges", &d.SourceIPRanges) 11180 delete(rawMsg, key) 11181 case "sourcePortRanges": 11182 err = unpopulate(val, "SourcePortRanges", &d.SourcePortRanges) 11183 delete(rawMsg, key) 11184 } 11185 if err != nil { 11186 return fmt.Errorf("unmarshalling type %T: %v", d, err) 11187 } 11188 } 11189 return nil 11190 } 11191 11192 // MarshalJSON implements the json.Marshaller interface for type EffectiveBaseSecurityAdminRule. 11193 func (e EffectiveBaseSecurityAdminRule) MarshalJSON() ([]byte, error) { 11194 objectMap := make(map[string]any) 11195 populate(objectMap, "configurationDescription", e.ConfigurationDescription) 11196 populate(objectMap, "id", e.ID) 11197 objectMap["kind"] = e.Kind 11198 populate(objectMap, "ruleCollectionAppliesToGroups", e.RuleCollectionAppliesToGroups) 11199 populate(objectMap, "ruleCollectionDescription", e.RuleCollectionDescription) 11200 populate(objectMap, "ruleGroups", e.RuleGroups) 11201 return json.Marshal(objectMap) 11202 } 11203 11204 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveBaseSecurityAdminRule. 11205 func (e *EffectiveBaseSecurityAdminRule) UnmarshalJSON(data []byte) error { 11206 var rawMsg map[string]json.RawMessage 11207 if err := json.Unmarshal(data, &rawMsg); err != nil { 11208 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11209 } 11210 for key, val := range rawMsg { 11211 var err error 11212 switch key { 11213 case "configurationDescription": 11214 err = unpopulate(val, "ConfigurationDescription", &e.ConfigurationDescription) 11215 delete(rawMsg, key) 11216 case "id": 11217 err = unpopulate(val, "ID", &e.ID) 11218 delete(rawMsg, key) 11219 case "kind": 11220 err = unpopulate(val, "Kind", &e.Kind) 11221 delete(rawMsg, key) 11222 case "ruleCollectionAppliesToGroups": 11223 err = unpopulate(val, "RuleCollectionAppliesToGroups", &e.RuleCollectionAppliesToGroups) 11224 delete(rawMsg, key) 11225 case "ruleCollectionDescription": 11226 err = unpopulate(val, "RuleCollectionDescription", &e.RuleCollectionDescription) 11227 delete(rawMsg, key) 11228 case "ruleGroups": 11229 err = unpopulate(val, "RuleGroups", &e.RuleGroups) 11230 delete(rawMsg, key) 11231 } 11232 if err != nil { 11233 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11234 } 11235 } 11236 return nil 11237 } 11238 11239 // MarshalJSON implements the json.Marshaller interface for type EffectiveConnectivityConfiguration. 11240 func (e EffectiveConnectivityConfiguration) MarshalJSON() ([]byte, error) { 11241 objectMap := make(map[string]any) 11242 populate(objectMap, "configurationGroups", e.ConfigurationGroups) 11243 populate(objectMap, "id", e.ID) 11244 populate(objectMap, "properties", e.Properties) 11245 return json.Marshal(objectMap) 11246 } 11247 11248 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveConnectivityConfiguration. 11249 func (e *EffectiveConnectivityConfiguration) UnmarshalJSON(data []byte) error { 11250 var rawMsg map[string]json.RawMessage 11251 if err := json.Unmarshal(data, &rawMsg); err != nil { 11252 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11253 } 11254 for key, val := range rawMsg { 11255 var err error 11256 switch key { 11257 case "configurationGroups": 11258 err = unpopulate(val, "ConfigurationGroups", &e.ConfigurationGroups) 11259 delete(rawMsg, key) 11260 case "id": 11261 err = unpopulate(val, "ID", &e.ID) 11262 delete(rawMsg, key) 11263 case "properties": 11264 err = unpopulate(val, "Properties", &e.Properties) 11265 delete(rawMsg, key) 11266 } 11267 if err != nil { 11268 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11269 } 11270 } 11271 return nil 11272 } 11273 11274 // MarshalJSON implements the json.Marshaller interface for type EffectiveDefaultSecurityAdminRule. 11275 func (e EffectiveDefaultSecurityAdminRule) MarshalJSON() ([]byte, error) { 11276 objectMap := make(map[string]any) 11277 populate(objectMap, "configurationDescription", e.ConfigurationDescription) 11278 populate(objectMap, "id", e.ID) 11279 objectMap["kind"] = EffectiveAdminRuleKindDefault 11280 populate(objectMap, "properties", e.Properties) 11281 populate(objectMap, "ruleCollectionAppliesToGroups", e.RuleCollectionAppliesToGroups) 11282 populate(objectMap, "ruleCollectionDescription", e.RuleCollectionDescription) 11283 populate(objectMap, "ruleGroups", e.RuleGroups) 11284 return json.Marshal(objectMap) 11285 } 11286 11287 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveDefaultSecurityAdminRule. 11288 func (e *EffectiveDefaultSecurityAdminRule) UnmarshalJSON(data []byte) error { 11289 var rawMsg map[string]json.RawMessage 11290 if err := json.Unmarshal(data, &rawMsg); err != nil { 11291 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11292 } 11293 for key, val := range rawMsg { 11294 var err error 11295 switch key { 11296 case "configurationDescription": 11297 err = unpopulate(val, "ConfigurationDescription", &e.ConfigurationDescription) 11298 delete(rawMsg, key) 11299 case "id": 11300 err = unpopulate(val, "ID", &e.ID) 11301 delete(rawMsg, key) 11302 case "kind": 11303 err = unpopulate(val, "Kind", &e.Kind) 11304 delete(rawMsg, key) 11305 case "properties": 11306 err = unpopulate(val, "Properties", &e.Properties) 11307 delete(rawMsg, key) 11308 case "ruleCollectionAppliesToGroups": 11309 err = unpopulate(val, "RuleCollectionAppliesToGroups", &e.RuleCollectionAppliesToGroups) 11310 delete(rawMsg, key) 11311 case "ruleCollectionDescription": 11312 err = unpopulate(val, "RuleCollectionDescription", &e.RuleCollectionDescription) 11313 delete(rawMsg, key) 11314 case "ruleGroups": 11315 err = unpopulate(val, "RuleGroups", &e.RuleGroups) 11316 delete(rawMsg, key) 11317 } 11318 if err != nil { 11319 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11320 } 11321 } 11322 return nil 11323 } 11324 11325 // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroup. 11326 func (e EffectiveNetworkSecurityGroup) MarshalJSON() ([]byte, error) { 11327 objectMap := make(map[string]any) 11328 populate(objectMap, "association", e.Association) 11329 populate(objectMap, "effectiveSecurityRules", e.EffectiveSecurityRules) 11330 populate(objectMap, "networkSecurityGroup", e.NetworkSecurityGroup) 11331 populate(objectMap, "tagMap", e.TagMap) 11332 return json.Marshal(objectMap) 11333 } 11334 11335 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveNetworkSecurityGroup. 11336 func (e *EffectiveNetworkSecurityGroup) UnmarshalJSON(data []byte) error { 11337 var rawMsg map[string]json.RawMessage 11338 if err := json.Unmarshal(data, &rawMsg); err != nil { 11339 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11340 } 11341 for key, val := range rawMsg { 11342 var err error 11343 switch key { 11344 case "association": 11345 err = unpopulate(val, "Association", &e.Association) 11346 delete(rawMsg, key) 11347 case "effectiveSecurityRules": 11348 err = unpopulate(val, "EffectiveSecurityRules", &e.EffectiveSecurityRules) 11349 delete(rawMsg, key) 11350 case "networkSecurityGroup": 11351 err = unpopulate(val, "NetworkSecurityGroup", &e.NetworkSecurityGroup) 11352 delete(rawMsg, key) 11353 case "tagMap": 11354 err = unpopulate(val, "TagMap", &e.TagMap) 11355 delete(rawMsg, key) 11356 } 11357 if err != nil { 11358 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11359 } 11360 } 11361 return nil 11362 } 11363 11364 // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroupAssociation. 11365 func (e EffectiveNetworkSecurityGroupAssociation) MarshalJSON() ([]byte, error) { 11366 objectMap := make(map[string]any) 11367 populate(objectMap, "networkInterface", e.NetworkInterface) 11368 populate(objectMap, "networkManager", e.NetworkManager) 11369 populate(objectMap, "subnet", e.Subnet) 11370 return json.Marshal(objectMap) 11371 } 11372 11373 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveNetworkSecurityGroupAssociation. 11374 func (e *EffectiveNetworkSecurityGroupAssociation) UnmarshalJSON(data []byte) error { 11375 var rawMsg map[string]json.RawMessage 11376 if err := json.Unmarshal(data, &rawMsg); err != nil { 11377 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11378 } 11379 for key, val := range rawMsg { 11380 var err error 11381 switch key { 11382 case "networkInterface": 11383 err = unpopulate(val, "NetworkInterface", &e.NetworkInterface) 11384 delete(rawMsg, key) 11385 case "networkManager": 11386 err = unpopulate(val, "NetworkManager", &e.NetworkManager) 11387 delete(rawMsg, key) 11388 case "subnet": 11389 err = unpopulate(val, "Subnet", &e.Subnet) 11390 delete(rawMsg, key) 11391 } 11392 if err != nil { 11393 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11394 } 11395 } 11396 return nil 11397 } 11398 11399 // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityGroupListResult. 11400 func (e EffectiveNetworkSecurityGroupListResult) MarshalJSON() ([]byte, error) { 11401 objectMap := make(map[string]any) 11402 populate(objectMap, "nextLink", e.NextLink) 11403 populate(objectMap, "value", e.Value) 11404 return json.Marshal(objectMap) 11405 } 11406 11407 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveNetworkSecurityGroupListResult. 11408 func (e *EffectiveNetworkSecurityGroupListResult) UnmarshalJSON(data []byte) error { 11409 var rawMsg map[string]json.RawMessage 11410 if err := json.Unmarshal(data, &rawMsg); err != nil { 11411 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11412 } 11413 for key, val := range rawMsg { 11414 var err error 11415 switch key { 11416 case "nextLink": 11417 err = unpopulate(val, "NextLink", &e.NextLink) 11418 delete(rawMsg, key) 11419 case "value": 11420 err = unpopulate(val, "Value", &e.Value) 11421 delete(rawMsg, key) 11422 } 11423 if err != nil { 11424 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11425 } 11426 } 11427 return nil 11428 } 11429 11430 // MarshalJSON implements the json.Marshaller interface for type EffectiveNetworkSecurityRule. 11431 func (e EffectiveNetworkSecurityRule) MarshalJSON() ([]byte, error) { 11432 objectMap := make(map[string]any) 11433 populate(objectMap, "access", e.Access) 11434 populate(objectMap, "destinationAddressPrefix", e.DestinationAddressPrefix) 11435 populate(objectMap, "destinationAddressPrefixes", e.DestinationAddressPrefixes) 11436 populate(objectMap, "destinationPortRange", e.DestinationPortRange) 11437 populate(objectMap, "destinationPortRanges", e.DestinationPortRanges) 11438 populate(objectMap, "direction", e.Direction) 11439 populate(objectMap, "expandedDestinationAddressPrefix", e.ExpandedDestinationAddressPrefix) 11440 populate(objectMap, "expandedSourceAddressPrefix", e.ExpandedSourceAddressPrefix) 11441 populate(objectMap, "name", e.Name) 11442 populate(objectMap, "priority", e.Priority) 11443 populate(objectMap, "protocol", e.Protocol) 11444 populate(objectMap, "sourceAddressPrefix", e.SourceAddressPrefix) 11445 populate(objectMap, "sourceAddressPrefixes", e.SourceAddressPrefixes) 11446 populate(objectMap, "sourcePortRange", e.SourcePortRange) 11447 populate(objectMap, "sourcePortRanges", e.SourcePortRanges) 11448 return json.Marshal(objectMap) 11449 } 11450 11451 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveNetworkSecurityRule. 11452 func (e *EffectiveNetworkSecurityRule) UnmarshalJSON(data []byte) error { 11453 var rawMsg map[string]json.RawMessage 11454 if err := json.Unmarshal(data, &rawMsg); err != nil { 11455 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11456 } 11457 for key, val := range rawMsg { 11458 var err error 11459 switch key { 11460 case "access": 11461 err = unpopulate(val, "Access", &e.Access) 11462 delete(rawMsg, key) 11463 case "destinationAddressPrefix": 11464 err = unpopulate(val, "DestinationAddressPrefix", &e.DestinationAddressPrefix) 11465 delete(rawMsg, key) 11466 case "destinationAddressPrefixes": 11467 err = unpopulate(val, "DestinationAddressPrefixes", &e.DestinationAddressPrefixes) 11468 delete(rawMsg, key) 11469 case "destinationPortRange": 11470 err = unpopulate(val, "DestinationPortRange", &e.DestinationPortRange) 11471 delete(rawMsg, key) 11472 case "destinationPortRanges": 11473 err = unpopulate(val, "DestinationPortRanges", &e.DestinationPortRanges) 11474 delete(rawMsg, key) 11475 case "direction": 11476 err = unpopulate(val, "Direction", &e.Direction) 11477 delete(rawMsg, key) 11478 case "expandedDestinationAddressPrefix": 11479 err = unpopulate(val, "ExpandedDestinationAddressPrefix", &e.ExpandedDestinationAddressPrefix) 11480 delete(rawMsg, key) 11481 case "expandedSourceAddressPrefix": 11482 err = unpopulate(val, "ExpandedSourceAddressPrefix", &e.ExpandedSourceAddressPrefix) 11483 delete(rawMsg, key) 11484 case "name": 11485 err = unpopulate(val, "Name", &e.Name) 11486 delete(rawMsg, key) 11487 case "priority": 11488 err = unpopulate(val, "Priority", &e.Priority) 11489 delete(rawMsg, key) 11490 case "protocol": 11491 err = unpopulate(val, "Protocol", &e.Protocol) 11492 delete(rawMsg, key) 11493 case "sourceAddressPrefix": 11494 err = unpopulate(val, "SourceAddressPrefix", &e.SourceAddressPrefix) 11495 delete(rawMsg, key) 11496 case "sourceAddressPrefixes": 11497 err = unpopulate(val, "SourceAddressPrefixes", &e.SourceAddressPrefixes) 11498 delete(rawMsg, key) 11499 case "sourcePortRange": 11500 err = unpopulate(val, "SourcePortRange", &e.SourcePortRange) 11501 delete(rawMsg, key) 11502 case "sourcePortRanges": 11503 err = unpopulate(val, "SourcePortRanges", &e.SourcePortRanges) 11504 delete(rawMsg, key) 11505 } 11506 if err != nil { 11507 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11508 } 11509 } 11510 return nil 11511 } 11512 11513 // MarshalJSON implements the json.Marshaller interface for type EffectiveRoute. 11514 func (e EffectiveRoute) MarshalJSON() ([]byte, error) { 11515 objectMap := make(map[string]any) 11516 populate(objectMap, "addressPrefix", e.AddressPrefix) 11517 populate(objectMap, "disableBgpRoutePropagation", e.DisableBgpRoutePropagation) 11518 populate(objectMap, "name", e.Name) 11519 populate(objectMap, "nextHopIpAddress", e.NextHopIPAddress) 11520 populate(objectMap, "nextHopType", e.NextHopType) 11521 populate(objectMap, "source", e.Source) 11522 populate(objectMap, "state", e.State) 11523 return json.Marshal(objectMap) 11524 } 11525 11526 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveRoute. 11527 func (e *EffectiveRoute) UnmarshalJSON(data []byte) error { 11528 var rawMsg map[string]json.RawMessage 11529 if err := json.Unmarshal(data, &rawMsg); err != nil { 11530 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11531 } 11532 for key, val := range rawMsg { 11533 var err error 11534 switch key { 11535 case "addressPrefix": 11536 err = unpopulate(val, "AddressPrefix", &e.AddressPrefix) 11537 delete(rawMsg, key) 11538 case "disableBgpRoutePropagation": 11539 err = unpopulate(val, "DisableBgpRoutePropagation", &e.DisableBgpRoutePropagation) 11540 delete(rawMsg, key) 11541 case "name": 11542 err = unpopulate(val, "Name", &e.Name) 11543 delete(rawMsg, key) 11544 case "nextHopIpAddress": 11545 err = unpopulate(val, "NextHopIPAddress", &e.NextHopIPAddress) 11546 delete(rawMsg, key) 11547 case "nextHopType": 11548 err = unpopulate(val, "NextHopType", &e.NextHopType) 11549 delete(rawMsg, key) 11550 case "source": 11551 err = unpopulate(val, "Source", &e.Source) 11552 delete(rawMsg, key) 11553 case "state": 11554 err = unpopulate(val, "State", &e.State) 11555 delete(rawMsg, key) 11556 } 11557 if err != nil { 11558 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11559 } 11560 } 11561 return nil 11562 } 11563 11564 // MarshalJSON implements the json.Marshaller interface for type EffectiveRouteListResult. 11565 func (e EffectiveRouteListResult) MarshalJSON() ([]byte, error) { 11566 objectMap := make(map[string]any) 11567 populate(objectMap, "nextLink", e.NextLink) 11568 populate(objectMap, "value", e.Value) 11569 return json.Marshal(objectMap) 11570 } 11571 11572 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveRouteListResult. 11573 func (e *EffectiveRouteListResult) UnmarshalJSON(data []byte) error { 11574 var rawMsg map[string]json.RawMessage 11575 if err := json.Unmarshal(data, &rawMsg); err != nil { 11576 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11577 } 11578 for key, val := range rawMsg { 11579 var err error 11580 switch key { 11581 case "nextLink": 11582 err = unpopulate(val, "NextLink", &e.NextLink) 11583 delete(rawMsg, key) 11584 case "value": 11585 err = unpopulate(val, "Value", &e.Value) 11586 delete(rawMsg, key) 11587 } 11588 if err != nil { 11589 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11590 } 11591 } 11592 return nil 11593 } 11594 11595 // MarshalJSON implements the json.Marshaller interface for type EffectiveRouteMapRoute. 11596 func (e EffectiveRouteMapRoute) MarshalJSON() ([]byte, error) { 11597 objectMap := make(map[string]any) 11598 populate(objectMap, "asPath", e.AsPath) 11599 populate(objectMap, "bgpCommunities", e.BgpCommunities) 11600 populate(objectMap, "prefix", e.Prefix) 11601 return json.Marshal(objectMap) 11602 } 11603 11604 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveRouteMapRoute. 11605 func (e *EffectiveRouteMapRoute) UnmarshalJSON(data []byte) error { 11606 var rawMsg map[string]json.RawMessage 11607 if err := json.Unmarshal(data, &rawMsg); err != nil { 11608 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11609 } 11610 for key, val := range rawMsg { 11611 var err error 11612 switch key { 11613 case "asPath": 11614 err = unpopulate(val, "AsPath", &e.AsPath) 11615 delete(rawMsg, key) 11616 case "bgpCommunities": 11617 err = unpopulate(val, "BgpCommunities", &e.BgpCommunities) 11618 delete(rawMsg, key) 11619 case "prefix": 11620 err = unpopulate(val, "Prefix", &e.Prefix) 11621 delete(rawMsg, key) 11622 } 11623 if err != nil { 11624 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11625 } 11626 } 11627 return nil 11628 } 11629 11630 // MarshalJSON implements the json.Marshaller interface for type EffectiveRouteMapRouteList. 11631 func (e EffectiveRouteMapRouteList) MarshalJSON() ([]byte, error) { 11632 objectMap := make(map[string]any) 11633 populate(objectMap, "value", e.Value) 11634 return json.Marshal(objectMap) 11635 } 11636 11637 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveRouteMapRouteList. 11638 func (e *EffectiveRouteMapRouteList) UnmarshalJSON(data []byte) error { 11639 var rawMsg map[string]json.RawMessage 11640 if err := json.Unmarshal(data, &rawMsg); err != nil { 11641 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11642 } 11643 for key, val := range rawMsg { 11644 var err error 11645 switch key { 11646 case "value": 11647 err = unpopulate(val, "Value", &e.Value) 11648 delete(rawMsg, key) 11649 } 11650 if err != nil { 11651 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11652 } 11653 } 11654 return nil 11655 } 11656 11657 // MarshalJSON implements the json.Marshaller interface for type EffectiveRoutesParameters. 11658 func (e EffectiveRoutesParameters) MarshalJSON() ([]byte, error) { 11659 objectMap := make(map[string]any) 11660 populate(objectMap, "resourceId", e.ResourceID) 11661 populate(objectMap, "virtualWanResourceType", e.VirtualWanResourceType) 11662 return json.Marshal(objectMap) 11663 } 11664 11665 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveRoutesParameters. 11666 func (e *EffectiveRoutesParameters) UnmarshalJSON(data []byte) error { 11667 var rawMsg map[string]json.RawMessage 11668 if err := json.Unmarshal(data, &rawMsg); err != nil { 11669 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11670 } 11671 for key, val := range rawMsg { 11672 var err error 11673 switch key { 11674 case "resourceId": 11675 err = unpopulate(val, "ResourceID", &e.ResourceID) 11676 delete(rawMsg, key) 11677 case "virtualWanResourceType": 11678 err = unpopulate(val, "VirtualWanResourceType", &e.VirtualWanResourceType) 11679 delete(rawMsg, key) 11680 } 11681 if err != nil { 11682 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11683 } 11684 } 11685 return nil 11686 } 11687 11688 // MarshalJSON implements the json.Marshaller interface for type EffectiveSecurityAdminRule. 11689 func (e EffectiveSecurityAdminRule) MarshalJSON() ([]byte, error) { 11690 objectMap := make(map[string]any) 11691 populate(objectMap, "configurationDescription", e.ConfigurationDescription) 11692 populate(objectMap, "id", e.ID) 11693 objectMap["kind"] = EffectiveAdminRuleKindCustom 11694 populate(objectMap, "properties", e.Properties) 11695 populate(objectMap, "ruleCollectionAppliesToGroups", e.RuleCollectionAppliesToGroups) 11696 populate(objectMap, "ruleCollectionDescription", e.RuleCollectionDescription) 11697 populate(objectMap, "ruleGroups", e.RuleGroups) 11698 return json.Marshal(objectMap) 11699 } 11700 11701 // UnmarshalJSON implements the json.Unmarshaller interface for type EffectiveSecurityAdminRule. 11702 func (e *EffectiveSecurityAdminRule) UnmarshalJSON(data []byte) error { 11703 var rawMsg map[string]json.RawMessage 11704 if err := json.Unmarshal(data, &rawMsg); err != nil { 11705 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11706 } 11707 for key, val := range rawMsg { 11708 var err error 11709 switch key { 11710 case "configurationDescription": 11711 err = unpopulate(val, "ConfigurationDescription", &e.ConfigurationDescription) 11712 delete(rawMsg, key) 11713 case "id": 11714 err = unpopulate(val, "ID", &e.ID) 11715 delete(rawMsg, key) 11716 case "kind": 11717 err = unpopulate(val, "Kind", &e.Kind) 11718 delete(rawMsg, key) 11719 case "properties": 11720 err = unpopulate(val, "Properties", &e.Properties) 11721 delete(rawMsg, key) 11722 case "ruleCollectionAppliesToGroups": 11723 err = unpopulate(val, "RuleCollectionAppliesToGroups", &e.RuleCollectionAppliesToGroups) 11724 delete(rawMsg, key) 11725 case "ruleCollectionDescription": 11726 err = unpopulate(val, "RuleCollectionDescription", &e.RuleCollectionDescription) 11727 delete(rawMsg, key) 11728 case "ruleGroups": 11729 err = unpopulate(val, "RuleGroups", &e.RuleGroups) 11730 delete(rawMsg, key) 11731 } 11732 if err != nil { 11733 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11734 } 11735 } 11736 return nil 11737 } 11738 11739 // MarshalJSON implements the json.Marshaller interface for type EndpointServiceResult. 11740 func (e EndpointServiceResult) MarshalJSON() ([]byte, error) { 11741 objectMap := make(map[string]any) 11742 populate(objectMap, "id", e.ID) 11743 populate(objectMap, "name", e.Name) 11744 populate(objectMap, "type", e.Type) 11745 return json.Marshal(objectMap) 11746 } 11747 11748 // UnmarshalJSON implements the json.Unmarshaller interface for type EndpointServiceResult. 11749 func (e *EndpointServiceResult) UnmarshalJSON(data []byte) error { 11750 var rawMsg map[string]json.RawMessage 11751 if err := json.Unmarshal(data, &rawMsg); err != nil { 11752 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11753 } 11754 for key, val := range rawMsg { 11755 var err error 11756 switch key { 11757 case "id": 11758 err = unpopulate(val, "ID", &e.ID) 11759 delete(rawMsg, key) 11760 case "name": 11761 err = unpopulate(val, "Name", &e.Name) 11762 delete(rawMsg, key) 11763 case "type": 11764 err = unpopulate(val, "Type", &e.Type) 11765 delete(rawMsg, key) 11766 } 11767 if err != nil { 11768 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11769 } 11770 } 11771 return nil 11772 } 11773 11774 // MarshalJSON implements the json.Marshaller interface for type EndpointServicesListResult. 11775 func (e EndpointServicesListResult) MarshalJSON() ([]byte, error) { 11776 objectMap := make(map[string]any) 11777 populate(objectMap, "nextLink", e.NextLink) 11778 populate(objectMap, "value", e.Value) 11779 return json.Marshal(objectMap) 11780 } 11781 11782 // UnmarshalJSON implements the json.Unmarshaller interface for type EndpointServicesListResult. 11783 func (e *EndpointServicesListResult) UnmarshalJSON(data []byte) error { 11784 var rawMsg map[string]json.RawMessage 11785 if err := json.Unmarshal(data, &rawMsg); err != nil { 11786 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11787 } 11788 for key, val := range rawMsg { 11789 var err error 11790 switch key { 11791 case "nextLink": 11792 err = unpopulate(val, "NextLink", &e.NextLink) 11793 delete(rawMsg, key) 11794 case "value": 11795 err = unpopulate(val, "Value", &e.Value) 11796 delete(rawMsg, key) 11797 } 11798 if err != nil { 11799 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11800 } 11801 } 11802 return nil 11803 } 11804 11805 // MarshalJSON implements the json.Marshaller interface for type Error. 11806 func (e Error) MarshalJSON() ([]byte, error) { 11807 objectMap := make(map[string]any) 11808 populate(objectMap, "code", e.Code) 11809 populate(objectMap, "details", e.Details) 11810 populate(objectMap, "innerError", e.InnerError) 11811 populate(objectMap, "message", e.Message) 11812 populate(objectMap, "target", e.Target) 11813 return json.Marshal(objectMap) 11814 } 11815 11816 // UnmarshalJSON implements the json.Unmarshaller interface for type Error. 11817 func (e *Error) UnmarshalJSON(data []byte) error { 11818 var rawMsg map[string]json.RawMessage 11819 if err := json.Unmarshal(data, &rawMsg); err != nil { 11820 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11821 } 11822 for key, val := range rawMsg { 11823 var err error 11824 switch key { 11825 case "code": 11826 err = unpopulate(val, "Code", &e.Code) 11827 delete(rawMsg, key) 11828 case "details": 11829 err = unpopulate(val, "Details", &e.Details) 11830 delete(rawMsg, key) 11831 case "innerError": 11832 err = unpopulate(val, "InnerError", &e.InnerError) 11833 delete(rawMsg, key) 11834 case "message": 11835 err = unpopulate(val, "Message", &e.Message) 11836 delete(rawMsg, key) 11837 case "target": 11838 err = unpopulate(val, "Target", &e.Target) 11839 delete(rawMsg, key) 11840 } 11841 if err != nil { 11842 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11843 } 11844 } 11845 return nil 11846 } 11847 11848 // MarshalJSON implements the json.Marshaller interface for type ErrorDetails. 11849 func (e ErrorDetails) MarshalJSON() ([]byte, error) { 11850 objectMap := make(map[string]any) 11851 populate(objectMap, "code", e.Code) 11852 populate(objectMap, "message", e.Message) 11853 populate(objectMap, "target", e.Target) 11854 return json.Marshal(objectMap) 11855 } 11856 11857 // UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetails. 11858 func (e *ErrorDetails) UnmarshalJSON(data []byte) error { 11859 var rawMsg map[string]json.RawMessage 11860 if err := json.Unmarshal(data, &rawMsg); err != nil { 11861 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11862 } 11863 for key, val := range rawMsg { 11864 var err error 11865 switch key { 11866 case "code": 11867 err = unpopulate(val, "Code", &e.Code) 11868 delete(rawMsg, key) 11869 case "message": 11870 err = unpopulate(val, "Message", &e.Message) 11871 delete(rawMsg, key) 11872 case "target": 11873 err = unpopulate(val, "Target", &e.Target) 11874 delete(rawMsg, key) 11875 } 11876 if err != nil { 11877 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11878 } 11879 } 11880 return nil 11881 } 11882 11883 // MarshalJSON implements the json.Marshaller interface for type ErrorResponse. 11884 func (e ErrorResponse) MarshalJSON() ([]byte, error) { 11885 objectMap := make(map[string]any) 11886 populate(objectMap, "error", e.Error) 11887 return json.Marshal(objectMap) 11888 } 11889 11890 // UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponse. 11891 func (e *ErrorResponse) UnmarshalJSON(data []byte) error { 11892 var rawMsg map[string]json.RawMessage 11893 if err := json.Unmarshal(data, &rawMsg); err != nil { 11894 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11895 } 11896 for key, val := range rawMsg { 11897 var err error 11898 switch key { 11899 case "error": 11900 err = unpopulate(val, "Error", &e.Error) 11901 delete(rawMsg, key) 11902 } 11903 if err != nil { 11904 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11905 } 11906 } 11907 return nil 11908 } 11909 11910 // MarshalJSON implements the json.Marshaller interface for type EvaluatedNetworkSecurityGroup. 11911 func (e EvaluatedNetworkSecurityGroup) MarshalJSON() ([]byte, error) { 11912 objectMap := make(map[string]any) 11913 populate(objectMap, "appliedTo", e.AppliedTo) 11914 populate(objectMap, "matchedRule", e.MatchedRule) 11915 populate(objectMap, "networkSecurityGroupId", e.NetworkSecurityGroupID) 11916 populate(objectMap, "rulesEvaluationResult", e.RulesEvaluationResult) 11917 return json.Marshal(objectMap) 11918 } 11919 11920 // UnmarshalJSON implements the json.Unmarshaller interface for type EvaluatedNetworkSecurityGroup. 11921 func (e *EvaluatedNetworkSecurityGroup) UnmarshalJSON(data []byte) error { 11922 var rawMsg map[string]json.RawMessage 11923 if err := json.Unmarshal(data, &rawMsg); err != nil { 11924 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11925 } 11926 for key, val := range rawMsg { 11927 var err error 11928 switch key { 11929 case "appliedTo": 11930 err = unpopulate(val, "AppliedTo", &e.AppliedTo) 11931 delete(rawMsg, key) 11932 case "matchedRule": 11933 err = unpopulate(val, "MatchedRule", &e.MatchedRule) 11934 delete(rawMsg, key) 11935 case "networkSecurityGroupId": 11936 err = unpopulate(val, "NetworkSecurityGroupID", &e.NetworkSecurityGroupID) 11937 delete(rawMsg, key) 11938 case "rulesEvaluationResult": 11939 err = unpopulate(val, "RulesEvaluationResult", &e.RulesEvaluationResult) 11940 delete(rawMsg, key) 11941 } 11942 if err != nil { 11943 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11944 } 11945 } 11946 return nil 11947 } 11948 11949 // MarshalJSON implements the json.Marshaller interface for type ExceptionEntry. 11950 func (e ExceptionEntry) MarshalJSON() ([]byte, error) { 11951 objectMap := make(map[string]any) 11952 populate(objectMap, "exceptionManagedRuleSets", e.ExceptionManagedRuleSets) 11953 populate(objectMap, "matchVariable", e.MatchVariable) 11954 populate(objectMap, "selector", e.Selector) 11955 populate(objectMap, "selectorMatchOperator", e.SelectorMatchOperator) 11956 populate(objectMap, "valueMatchOperator", e.ValueMatchOperator) 11957 populate(objectMap, "values", e.Values) 11958 return json.Marshal(objectMap) 11959 } 11960 11961 // UnmarshalJSON implements the json.Unmarshaller interface for type ExceptionEntry. 11962 func (e *ExceptionEntry) UnmarshalJSON(data []byte) error { 11963 var rawMsg map[string]json.RawMessage 11964 if err := json.Unmarshal(data, &rawMsg); err != nil { 11965 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11966 } 11967 for key, val := range rawMsg { 11968 var err error 11969 switch key { 11970 case "exceptionManagedRuleSets": 11971 err = unpopulate(val, "ExceptionManagedRuleSets", &e.ExceptionManagedRuleSets) 11972 delete(rawMsg, key) 11973 case "matchVariable": 11974 err = unpopulate(val, "MatchVariable", &e.MatchVariable) 11975 delete(rawMsg, key) 11976 case "selector": 11977 err = unpopulate(val, "Selector", &e.Selector) 11978 delete(rawMsg, key) 11979 case "selectorMatchOperator": 11980 err = unpopulate(val, "SelectorMatchOperator", &e.SelectorMatchOperator) 11981 delete(rawMsg, key) 11982 case "valueMatchOperator": 11983 err = unpopulate(val, "ValueMatchOperator", &e.ValueMatchOperator) 11984 delete(rawMsg, key) 11985 case "values": 11986 err = unpopulate(val, "Values", &e.Values) 11987 delete(rawMsg, key) 11988 } 11989 if err != nil { 11990 return fmt.Errorf("unmarshalling type %T: %v", e, err) 11991 } 11992 } 11993 return nil 11994 } 11995 11996 // MarshalJSON implements the json.Marshaller interface for type ExclusionManagedRule. 11997 func (e ExclusionManagedRule) MarshalJSON() ([]byte, error) { 11998 objectMap := make(map[string]any) 11999 populate(objectMap, "ruleId", e.RuleID) 12000 return json.Marshal(objectMap) 12001 } 12002 12003 // UnmarshalJSON implements the json.Unmarshaller interface for type ExclusionManagedRule. 12004 func (e *ExclusionManagedRule) UnmarshalJSON(data []byte) error { 12005 var rawMsg map[string]json.RawMessage 12006 if err := json.Unmarshal(data, &rawMsg); err != nil { 12007 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12008 } 12009 for key, val := range rawMsg { 12010 var err error 12011 switch key { 12012 case "ruleId": 12013 err = unpopulate(val, "RuleID", &e.RuleID) 12014 delete(rawMsg, key) 12015 } 12016 if err != nil { 12017 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12018 } 12019 } 12020 return nil 12021 } 12022 12023 // MarshalJSON implements the json.Marshaller interface for type ExclusionManagedRuleGroup. 12024 func (e ExclusionManagedRuleGroup) MarshalJSON() ([]byte, error) { 12025 objectMap := make(map[string]any) 12026 populate(objectMap, "ruleGroupName", e.RuleGroupName) 12027 populate(objectMap, "rules", e.Rules) 12028 return json.Marshal(objectMap) 12029 } 12030 12031 // UnmarshalJSON implements the json.Unmarshaller interface for type ExclusionManagedRuleGroup. 12032 func (e *ExclusionManagedRuleGroup) UnmarshalJSON(data []byte) error { 12033 var rawMsg map[string]json.RawMessage 12034 if err := json.Unmarshal(data, &rawMsg); err != nil { 12035 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12036 } 12037 for key, val := range rawMsg { 12038 var err error 12039 switch key { 12040 case "ruleGroupName": 12041 err = unpopulate(val, "RuleGroupName", &e.RuleGroupName) 12042 delete(rawMsg, key) 12043 case "rules": 12044 err = unpopulate(val, "Rules", &e.Rules) 12045 delete(rawMsg, key) 12046 } 12047 if err != nil { 12048 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12049 } 12050 } 12051 return nil 12052 } 12053 12054 // MarshalJSON implements the json.Marshaller interface for type ExclusionManagedRuleSet. 12055 func (e ExclusionManagedRuleSet) MarshalJSON() ([]byte, error) { 12056 objectMap := make(map[string]any) 12057 populate(objectMap, "ruleGroups", e.RuleGroups) 12058 populate(objectMap, "ruleSetType", e.RuleSetType) 12059 populate(objectMap, "ruleSetVersion", e.RuleSetVersion) 12060 return json.Marshal(objectMap) 12061 } 12062 12063 // UnmarshalJSON implements the json.Unmarshaller interface for type ExclusionManagedRuleSet. 12064 func (e *ExclusionManagedRuleSet) UnmarshalJSON(data []byte) error { 12065 var rawMsg map[string]json.RawMessage 12066 if err := json.Unmarshal(data, &rawMsg); err != nil { 12067 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12068 } 12069 for key, val := range rawMsg { 12070 var err error 12071 switch key { 12072 case "ruleGroups": 12073 err = unpopulate(val, "RuleGroups", &e.RuleGroups) 12074 delete(rawMsg, key) 12075 case "ruleSetType": 12076 err = unpopulate(val, "RuleSetType", &e.RuleSetType) 12077 delete(rawMsg, key) 12078 case "ruleSetVersion": 12079 err = unpopulate(val, "RuleSetVersion", &e.RuleSetVersion) 12080 delete(rawMsg, key) 12081 } 12082 if err != nil { 12083 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12084 } 12085 } 12086 return nil 12087 } 12088 12089 // MarshalJSON implements the json.Marshaller interface for type ExplicitProxySettings. 12090 func (e ExplicitProxySettings) MarshalJSON() ([]byte, error) { 12091 objectMap := make(map[string]any) 12092 populate(objectMap, "enableExplicitProxy", e.EnableExplicitProxy) 12093 populate(objectMap, "enablePacFile", e.EnablePacFile) 12094 populate(objectMap, "httpPort", e.HTTPPort) 12095 populate(objectMap, "httpsPort", e.HTTPSPort) 12096 populate(objectMap, "pacFile", e.PacFile) 12097 populate(objectMap, "pacFilePort", e.PacFilePort) 12098 return json.Marshal(objectMap) 12099 } 12100 12101 // UnmarshalJSON implements the json.Unmarshaller interface for type ExplicitProxySettings. 12102 func (e *ExplicitProxySettings) UnmarshalJSON(data []byte) error { 12103 var rawMsg map[string]json.RawMessage 12104 if err := json.Unmarshal(data, &rawMsg); err != nil { 12105 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12106 } 12107 for key, val := range rawMsg { 12108 var err error 12109 switch key { 12110 case "enableExplicitProxy": 12111 err = unpopulate(val, "EnableExplicitProxy", &e.EnableExplicitProxy) 12112 delete(rawMsg, key) 12113 case "enablePacFile": 12114 err = unpopulate(val, "EnablePacFile", &e.EnablePacFile) 12115 delete(rawMsg, key) 12116 case "httpPort": 12117 err = unpopulate(val, "HTTPPort", &e.HTTPPort) 12118 delete(rawMsg, key) 12119 case "httpsPort": 12120 err = unpopulate(val, "HTTPSPort", &e.HTTPSPort) 12121 delete(rawMsg, key) 12122 case "pacFile": 12123 err = unpopulate(val, "PacFile", &e.PacFile) 12124 delete(rawMsg, key) 12125 case "pacFilePort": 12126 err = unpopulate(val, "PacFilePort", &e.PacFilePort) 12127 delete(rawMsg, key) 12128 } 12129 if err != nil { 12130 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12131 } 12132 } 12133 return nil 12134 } 12135 12136 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuit. 12137 func (e ExpressRouteCircuit) MarshalJSON() ([]byte, error) { 12138 objectMap := make(map[string]any) 12139 populate(objectMap, "etag", e.Etag) 12140 populate(objectMap, "id", e.ID) 12141 populate(objectMap, "location", e.Location) 12142 populate(objectMap, "name", e.Name) 12143 populate(objectMap, "properties", e.Properties) 12144 populate(objectMap, "sku", e.SKU) 12145 populate(objectMap, "tags", e.Tags) 12146 populate(objectMap, "type", e.Type) 12147 return json.Marshal(objectMap) 12148 } 12149 12150 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuit. 12151 func (e *ExpressRouteCircuit) UnmarshalJSON(data []byte) error { 12152 var rawMsg map[string]json.RawMessage 12153 if err := json.Unmarshal(data, &rawMsg); err != nil { 12154 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12155 } 12156 for key, val := range rawMsg { 12157 var err error 12158 switch key { 12159 case "etag": 12160 err = unpopulate(val, "Etag", &e.Etag) 12161 delete(rawMsg, key) 12162 case "id": 12163 err = unpopulate(val, "ID", &e.ID) 12164 delete(rawMsg, key) 12165 case "location": 12166 err = unpopulate(val, "Location", &e.Location) 12167 delete(rawMsg, key) 12168 case "name": 12169 err = unpopulate(val, "Name", &e.Name) 12170 delete(rawMsg, key) 12171 case "properties": 12172 err = unpopulate(val, "Properties", &e.Properties) 12173 delete(rawMsg, key) 12174 case "sku": 12175 err = unpopulate(val, "SKU", &e.SKU) 12176 delete(rawMsg, key) 12177 case "tags": 12178 err = unpopulate(val, "Tags", &e.Tags) 12179 delete(rawMsg, key) 12180 case "type": 12181 err = unpopulate(val, "Type", &e.Type) 12182 delete(rawMsg, key) 12183 } 12184 if err != nil { 12185 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12186 } 12187 } 12188 return nil 12189 } 12190 12191 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitArpTable. 12192 func (e ExpressRouteCircuitArpTable) MarshalJSON() ([]byte, error) { 12193 objectMap := make(map[string]any) 12194 populate(objectMap, "age", e.Age) 12195 populate(objectMap, "ipAddress", e.IPAddress) 12196 populate(objectMap, "interface", e.Interface) 12197 populate(objectMap, "macAddress", e.MacAddress) 12198 return json.Marshal(objectMap) 12199 } 12200 12201 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitArpTable. 12202 func (e *ExpressRouteCircuitArpTable) UnmarshalJSON(data []byte) error { 12203 var rawMsg map[string]json.RawMessage 12204 if err := json.Unmarshal(data, &rawMsg); err != nil { 12205 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12206 } 12207 for key, val := range rawMsg { 12208 var err error 12209 switch key { 12210 case "age": 12211 err = unpopulate(val, "Age", &e.Age) 12212 delete(rawMsg, key) 12213 case "ipAddress": 12214 err = unpopulate(val, "IPAddress", &e.IPAddress) 12215 delete(rawMsg, key) 12216 case "interface": 12217 err = unpopulate(val, "Interface", &e.Interface) 12218 delete(rawMsg, key) 12219 case "macAddress": 12220 err = unpopulate(val, "MacAddress", &e.MacAddress) 12221 delete(rawMsg, key) 12222 } 12223 if err != nil { 12224 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12225 } 12226 } 12227 return nil 12228 } 12229 12230 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitAuthorization. 12231 func (e ExpressRouteCircuitAuthorization) MarshalJSON() ([]byte, error) { 12232 objectMap := make(map[string]any) 12233 populate(objectMap, "etag", e.Etag) 12234 populate(objectMap, "id", e.ID) 12235 populate(objectMap, "name", e.Name) 12236 populate(objectMap, "properties", e.Properties) 12237 populate(objectMap, "type", e.Type) 12238 return json.Marshal(objectMap) 12239 } 12240 12241 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitAuthorization. 12242 func (e *ExpressRouteCircuitAuthorization) UnmarshalJSON(data []byte) error { 12243 var rawMsg map[string]json.RawMessage 12244 if err := json.Unmarshal(data, &rawMsg); err != nil { 12245 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12246 } 12247 for key, val := range rawMsg { 12248 var err error 12249 switch key { 12250 case "etag": 12251 err = unpopulate(val, "Etag", &e.Etag) 12252 delete(rawMsg, key) 12253 case "id": 12254 err = unpopulate(val, "ID", &e.ID) 12255 delete(rawMsg, key) 12256 case "name": 12257 err = unpopulate(val, "Name", &e.Name) 12258 delete(rawMsg, key) 12259 case "properties": 12260 err = unpopulate(val, "Properties", &e.Properties) 12261 delete(rawMsg, key) 12262 case "type": 12263 err = unpopulate(val, "Type", &e.Type) 12264 delete(rawMsg, key) 12265 } 12266 if err != nil { 12267 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12268 } 12269 } 12270 return nil 12271 } 12272 12273 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnection. 12274 func (e ExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { 12275 objectMap := make(map[string]any) 12276 populate(objectMap, "etag", e.Etag) 12277 populate(objectMap, "id", e.ID) 12278 populate(objectMap, "name", e.Name) 12279 populate(objectMap, "properties", e.Properties) 12280 populate(objectMap, "type", e.Type) 12281 return json.Marshal(objectMap) 12282 } 12283 12284 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitConnection. 12285 func (e *ExpressRouteCircuitConnection) UnmarshalJSON(data []byte) error { 12286 var rawMsg map[string]json.RawMessage 12287 if err := json.Unmarshal(data, &rawMsg); err != nil { 12288 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12289 } 12290 for key, val := range rawMsg { 12291 var err error 12292 switch key { 12293 case "etag": 12294 err = unpopulate(val, "Etag", &e.Etag) 12295 delete(rawMsg, key) 12296 case "id": 12297 err = unpopulate(val, "ID", &e.ID) 12298 delete(rawMsg, key) 12299 case "name": 12300 err = unpopulate(val, "Name", &e.Name) 12301 delete(rawMsg, key) 12302 case "properties": 12303 err = unpopulate(val, "Properties", &e.Properties) 12304 delete(rawMsg, key) 12305 case "type": 12306 err = unpopulate(val, "Type", &e.Type) 12307 delete(rawMsg, key) 12308 } 12309 if err != nil { 12310 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12311 } 12312 } 12313 return nil 12314 } 12315 12316 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnectionListResult. 12317 func (e ExpressRouteCircuitConnectionListResult) MarshalJSON() ([]byte, error) { 12318 objectMap := make(map[string]any) 12319 populate(objectMap, "nextLink", e.NextLink) 12320 populate(objectMap, "value", e.Value) 12321 return json.Marshal(objectMap) 12322 } 12323 12324 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitConnectionListResult. 12325 func (e *ExpressRouteCircuitConnectionListResult) UnmarshalJSON(data []byte) error { 12326 var rawMsg map[string]json.RawMessage 12327 if err := json.Unmarshal(data, &rawMsg); err != nil { 12328 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12329 } 12330 for key, val := range rawMsg { 12331 var err error 12332 switch key { 12333 case "nextLink": 12334 err = unpopulate(val, "NextLink", &e.NextLink) 12335 delete(rawMsg, key) 12336 case "value": 12337 err = unpopulate(val, "Value", &e.Value) 12338 delete(rawMsg, key) 12339 } 12340 if err != nil { 12341 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12342 } 12343 } 12344 return nil 12345 } 12346 12347 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitConnectionPropertiesFormat. 12348 func (e ExpressRouteCircuitConnectionPropertiesFormat) MarshalJSON() ([]byte, error) { 12349 objectMap := make(map[string]any) 12350 populate(objectMap, "addressPrefix", e.AddressPrefix) 12351 populate(objectMap, "authorizationKey", e.AuthorizationKey) 12352 populate(objectMap, "circuitConnectionStatus", e.CircuitConnectionStatus) 12353 populate(objectMap, "expressRouteCircuitPeering", e.ExpressRouteCircuitPeering) 12354 populate(objectMap, "ipv6CircuitConnectionConfig", e.IPv6CircuitConnectionConfig) 12355 populate(objectMap, "peerExpressRouteCircuitPeering", e.PeerExpressRouteCircuitPeering) 12356 populate(objectMap, "provisioningState", e.ProvisioningState) 12357 return json.Marshal(objectMap) 12358 } 12359 12360 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitConnectionPropertiesFormat. 12361 func (e *ExpressRouteCircuitConnectionPropertiesFormat) UnmarshalJSON(data []byte) error { 12362 var rawMsg map[string]json.RawMessage 12363 if err := json.Unmarshal(data, &rawMsg); err != nil { 12364 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12365 } 12366 for key, val := range rawMsg { 12367 var err error 12368 switch key { 12369 case "addressPrefix": 12370 err = unpopulate(val, "AddressPrefix", &e.AddressPrefix) 12371 delete(rawMsg, key) 12372 case "authorizationKey": 12373 err = unpopulate(val, "AuthorizationKey", &e.AuthorizationKey) 12374 delete(rawMsg, key) 12375 case "circuitConnectionStatus": 12376 err = unpopulate(val, "CircuitConnectionStatus", &e.CircuitConnectionStatus) 12377 delete(rawMsg, key) 12378 case "expressRouteCircuitPeering": 12379 err = unpopulate(val, "ExpressRouteCircuitPeering", &e.ExpressRouteCircuitPeering) 12380 delete(rawMsg, key) 12381 case "ipv6CircuitConnectionConfig": 12382 err = unpopulate(val, "IPv6CircuitConnectionConfig", &e.IPv6CircuitConnectionConfig) 12383 delete(rawMsg, key) 12384 case "peerExpressRouteCircuitPeering": 12385 err = unpopulate(val, "PeerExpressRouteCircuitPeering", &e.PeerExpressRouteCircuitPeering) 12386 delete(rawMsg, key) 12387 case "provisioningState": 12388 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 12389 delete(rawMsg, key) 12390 } 12391 if err != nil { 12392 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12393 } 12394 } 12395 return nil 12396 } 12397 12398 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitListResult. 12399 func (e ExpressRouteCircuitListResult) MarshalJSON() ([]byte, error) { 12400 objectMap := make(map[string]any) 12401 populate(objectMap, "nextLink", e.NextLink) 12402 populate(objectMap, "value", e.Value) 12403 return json.Marshal(objectMap) 12404 } 12405 12406 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitListResult. 12407 func (e *ExpressRouteCircuitListResult) UnmarshalJSON(data []byte) error { 12408 var rawMsg map[string]json.RawMessage 12409 if err := json.Unmarshal(data, &rawMsg); err != nil { 12410 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12411 } 12412 for key, val := range rawMsg { 12413 var err error 12414 switch key { 12415 case "nextLink": 12416 err = unpopulate(val, "NextLink", &e.NextLink) 12417 delete(rawMsg, key) 12418 case "value": 12419 err = unpopulate(val, "Value", &e.Value) 12420 delete(rawMsg, key) 12421 } 12422 if err != nil { 12423 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12424 } 12425 } 12426 return nil 12427 } 12428 12429 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeering. 12430 func (e ExpressRouteCircuitPeering) MarshalJSON() ([]byte, error) { 12431 objectMap := make(map[string]any) 12432 populate(objectMap, "etag", e.Etag) 12433 populate(objectMap, "id", e.ID) 12434 populate(objectMap, "name", e.Name) 12435 populate(objectMap, "properties", e.Properties) 12436 populate(objectMap, "type", e.Type) 12437 return json.Marshal(objectMap) 12438 } 12439 12440 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitPeering. 12441 func (e *ExpressRouteCircuitPeering) UnmarshalJSON(data []byte) error { 12442 var rawMsg map[string]json.RawMessage 12443 if err := json.Unmarshal(data, &rawMsg); err != nil { 12444 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12445 } 12446 for key, val := range rawMsg { 12447 var err error 12448 switch key { 12449 case "etag": 12450 err = unpopulate(val, "Etag", &e.Etag) 12451 delete(rawMsg, key) 12452 case "id": 12453 err = unpopulate(val, "ID", &e.ID) 12454 delete(rawMsg, key) 12455 case "name": 12456 err = unpopulate(val, "Name", &e.Name) 12457 delete(rawMsg, key) 12458 case "properties": 12459 err = unpopulate(val, "Properties", &e.Properties) 12460 delete(rawMsg, key) 12461 case "type": 12462 err = unpopulate(val, "Type", &e.Type) 12463 delete(rawMsg, key) 12464 } 12465 if err != nil { 12466 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12467 } 12468 } 12469 return nil 12470 } 12471 12472 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringConfig. 12473 func (e ExpressRouteCircuitPeeringConfig) MarshalJSON() ([]byte, error) { 12474 objectMap := make(map[string]any) 12475 populate(objectMap, "advertisedCommunities", e.AdvertisedCommunities) 12476 populate(objectMap, "advertisedPublicPrefixes", e.AdvertisedPublicPrefixes) 12477 populate(objectMap, "advertisedPublicPrefixesState", e.AdvertisedPublicPrefixesState) 12478 populate(objectMap, "customerASN", e.CustomerASN) 12479 populate(objectMap, "legacyMode", e.LegacyMode) 12480 populate(objectMap, "routingRegistryName", e.RoutingRegistryName) 12481 return json.Marshal(objectMap) 12482 } 12483 12484 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitPeeringConfig. 12485 func (e *ExpressRouteCircuitPeeringConfig) UnmarshalJSON(data []byte) error { 12486 var rawMsg map[string]json.RawMessage 12487 if err := json.Unmarshal(data, &rawMsg); err != nil { 12488 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12489 } 12490 for key, val := range rawMsg { 12491 var err error 12492 switch key { 12493 case "advertisedCommunities": 12494 err = unpopulate(val, "AdvertisedCommunities", &e.AdvertisedCommunities) 12495 delete(rawMsg, key) 12496 case "advertisedPublicPrefixes": 12497 err = unpopulate(val, "AdvertisedPublicPrefixes", &e.AdvertisedPublicPrefixes) 12498 delete(rawMsg, key) 12499 case "advertisedPublicPrefixesState": 12500 err = unpopulate(val, "AdvertisedPublicPrefixesState", &e.AdvertisedPublicPrefixesState) 12501 delete(rawMsg, key) 12502 case "customerASN": 12503 err = unpopulate(val, "CustomerASN", &e.CustomerASN) 12504 delete(rawMsg, key) 12505 case "legacyMode": 12506 err = unpopulate(val, "LegacyMode", &e.LegacyMode) 12507 delete(rawMsg, key) 12508 case "routingRegistryName": 12509 err = unpopulate(val, "RoutingRegistryName", &e.RoutingRegistryName) 12510 delete(rawMsg, key) 12511 } 12512 if err != nil { 12513 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12514 } 12515 } 12516 return nil 12517 } 12518 12519 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringID. 12520 func (e ExpressRouteCircuitPeeringID) MarshalJSON() ([]byte, error) { 12521 objectMap := make(map[string]any) 12522 populate(objectMap, "id", e.ID) 12523 return json.Marshal(objectMap) 12524 } 12525 12526 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitPeeringID. 12527 func (e *ExpressRouteCircuitPeeringID) UnmarshalJSON(data []byte) error { 12528 var rawMsg map[string]json.RawMessage 12529 if err := json.Unmarshal(data, &rawMsg); err != nil { 12530 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12531 } 12532 for key, val := range rawMsg { 12533 var err error 12534 switch key { 12535 case "id": 12536 err = unpopulate(val, "ID", &e.ID) 12537 delete(rawMsg, key) 12538 } 12539 if err != nil { 12540 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12541 } 12542 } 12543 return nil 12544 } 12545 12546 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringListResult. 12547 func (e ExpressRouteCircuitPeeringListResult) MarshalJSON() ([]byte, error) { 12548 objectMap := make(map[string]any) 12549 populate(objectMap, "nextLink", e.NextLink) 12550 populate(objectMap, "value", e.Value) 12551 return json.Marshal(objectMap) 12552 } 12553 12554 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitPeeringListResult. 12555 func (e *ExpressRouteCircuitPeeringListResult) UnmarshalJSON(data []byte) error { 12556 var rawMsg map[string]json.RawMessage 12557 if err := json.Unmarshal(data, &rawMsg); err != nil { 12558 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12559 } 12560 for key, val := range rawMsg { 12561 var err error 12562 switch key { 12563 case "nextLink": 12564 err = unpopulate(val, "NextLink", &e.NextLink) 12565 delete(rawMsg, key) 12566 case "value": 12567 err = unpopulate(val, "Value", &e.Value) 12568 delete(rawMsg, key) 12569 } 12570 if err != nil { 12571 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12572 } 12573 } 12574 return nil 12575 } 12576 12577 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPeeringPropertiesFormat. 12578 func (e ExpressRouteCircuitPeeringPropertiesFormat) MarshalJSON() ([]byte, error) { 12579 objectMap := make(map[string]any) 12580 populate(objectMap, "azureASN", e.AzureASN) 12581 populate(objectMap, "connections", e.Connections) 12582 populate(objectMap, "expressRouteConnection", e.ExpressRouteConnection) 12583 populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) 12584 populate(objectMap, "ipv6PeeringConfig", e.IPv6PeeringConfig) 12585 populate(objectMap, "lastModifiedBy", e.LastModifiedBy) 12586 populate(objectMap, "microsoftPeeringConfig", e.MicrosoftPeeringConfig) 12587 populate(objectMap, "peerASN", e.PeerASN) 12588 populate(objectMap, "peeredConnections", e.PeeredConnections) 12589 populate(objectMap, "peeringType", e.PeeringType) 12590 populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) 12591 populate(objectMap, "primaryPeerAddressPrefix", e.PrimaryPeerAddressPrefix) 12592 populate(objectMap, "provisioningState", e.ProvisioningState) 12593 populate(objectMap, "routeFilter", e.RouteFilter) 12594 populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) 12595 populate(objectMap, "secondaryPeerAddressPrefix", e.SecondaryPeerAddressPrefix) 12596 populate(objectMap, "sharedKey", e.SharedKey) 12597 populate(objectMap, "state", e.State) 12598 populate(objectMap, "stats", e.Stats) 12599 populate(objectMap, "vlanId", e.VlanID) 12600 return json.Marshal(objectMap) 12601 } 12602 12603 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitPeeringPropertiesFormat. 12604 func (e *ExpressRouteCircuitPeeringPropertiesFormat) UnmarshalJSON(data []byte) error { 12605 var rawMsg map[string]json.RawMessage 12606 if err := json.Unmarshal(data, &rawMsg); err != nil { 12607 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12608 } 12609 for key, val := range rawMsg { 12610 var err error 12611 switch key { 12612 case "azureASN": 12613 err = unpopulate(val, "AzureASN", &e.AzureASN) 12614 delete(rawMsg, key) 12615 case "connections": 12616 err = unpopulate(val, "Connections", &e.Connections) 12617 delete(rawMsg, key) 12618 case "expressRouteConnection": 12619 err = unpopulate(val, "ExpressRouteConnection", &e.ExpressRouteConnection) 12620 delete(rawMsg, key) 12621 case "gatewayManagerEtag": 12622 err = unpopulate(val, "GatewayManagerEtag", &e.GatewayManagerEtag) 12623 delete(rawMsg, key) 12624 case "ipv6PeeringConfig": 12625 err = unpopulate(val, "IPv6PeeringConfig", &e.IPv6PeeringConfig) 12626 delete(rawMsg, key) 12627 case "lastModifiedBy": 12628 err = unpopulate(val, "LastModifiedBy", &e.LastModifiedBy) 12629 delete(rawMsg, key) 12630 case "microsoftPeeringConfig": 12631 err = unpopulate(val, "MicrosoftPeeringConfig", &e.MicrosoftPeeringConfig) 12632 delete(rawMsg, key) 12633 case "peerASN": 12634 err = unpopulate(val, "PeerASN", &e.PeerASN) 12635 delete(rawMsg, key) 12636 case "peeredConnections": 12637 err = unpopulate(val, "PeeredConnections", &e.PeeredConnections) 12638 delete(rawMsg, key) 12639 case "peeringType": 12640 err = unpopulate(val, "PeeringType", &e.PeeringType) 12641 delete(rawMsg, key) 12642 case "primaryAzurePort": 12643 err = unpopulate(val, "PrimaryAzurePort", &e.PrimaryAzurePort) 12644 delete(rawMsg, key) 12645 case "primaryPeerAddressPrefix": 12646 err = unpopulate(val, "PrimaryPeerAddressPrefix", &e.PrimaryPeerAddressPrefix) 12647 delete(rawMsg, key) 12648 case "provisioningState": 12649 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 12650 delete(rawMsg, key) 12651 case "routeFilter": 12652 err = unpopulate(val, "RouteFilter", &e.RouteFilter) 12653 delete(rawMsg, key) 12654 case "secondaryAzurePort": 12655 err = unpopulate(val, "SecondaryAzurePort", &e.SecondaryAzurePort) 12656 delete(rawMsg, key) 12657 case "secondaryPeerAddressPrefix": 12658 err = unpopulate(val, "SecondaryPeerAddressPrefix", &e.SecondaryPeerAddressPrefix) 12659 delete(rawMsg, key) 12660 case "sharedKey": 12661 err = unpopulate(val, "SharedKey", &e.SharedKey) 12662 delete(rawMsg, key) 12663 case "state": 12664 err = unpopulate(val, "State", &e.State) 12665 delete(rawMsg, key) 12666 case "stats": 12667 err = unpopulate(val, "Stats", &e.Stats) 12668 delete(rawMsg, key) 12669 case "vlanId": 12670 err = unpopulate(val, "VlanID", &e.VlanID) 12671 delete(rawMsg, key) 12672 } 12673 if err != nil { 12674 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12675 } 12676 } 12677 return nil 12678 } 12679 12680 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitPropertiesFormat. 12681 func (e ExpressRouteCircuitPropertiesFormat) MarshalJSON() ([]byte, error) { 12682 objectMap := make(map[string]any) 12683 populate(objectMap, "allowClassicOperations", e.AllowClassicOperations) 12684 populate(objectMap, "authorizationKey", e.AuthorizationKey) 12685 populate(objectMap, "authorizationStatus", e.AuthorizationStatus) 12686 populate(objectMap, "authorizations", e.Authorizations) 12687 populate(objectMap, "bandwidthInGbps", e.BandwidthInGbps) 12688 populate(objectMap, "circuitProvisioningState", e.CircuitProvisioningState) 12689 populate(objectMap, "enableDirectPortRateLimit", e.EnableDirectPortRateLimit) 12690 populate(objectMap, "expressRoutePort", e.ExpressRoutePort) 12691 populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) 12692 populate(objectMap, "globalReachEnabled", e.GlobalReachEnabled) 12693 populate(objectMap, "peerings", e.Peerings) 12694 populate(objectMap, "provisioningState", e.ProvisioningState) 12695 populate(objectMap, "serviceKey", e.ServiceKey) 12696 populate(objectMap, "serviceProviderNotes", e.ServiceProviderNotes) 12697 populate(objectMap, "serviceProviderProperties", e.ServiceProviderProperties) 12698 populate(objectMap, "serviceProviderProvisioningState", e.ServiceProviderProvisioningState) 12699 populate(objectMap, "stag", e.Stag) 12700 return json.Marshal(objectMap) 12701 } 12702 12703 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitPropertiesFormat. 12704 func (e *ExpressRouteCircuitPropertiesFormat) UnmarshalJSON(data []byte) error { 12705 var rawMsg map[string]json.RawMessage 12706 if err := json.Unmarshal(data, &rawMsg); err != nil { 12707 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12708 } 12709 for key, val := range rawMsg { 12710 var err error 12711 switch key { 12712 case "allowClassicOperations": 12713 err = unpopulate(val, "AllowClassicOperations", &e.AllowClassicOperations) 12714 delete(rawMsg, key) 12715 case "authorizationKey": 12716 err = unpopulate(val, "AuthorizationKey", &e.AuthorizationKey) 12717 delete(rawMsg, key) 12718 case "authorizationStatus": 12719 err = unpopulate(val, "AuthorizationStatus", &e.AuthorizationStatus) 12720 delete(rawMsg, key) 12721 case "authorizations": 12722 err = unpopulate(val, "Authorizations", &e.Authorizations) 12723 delete(rawMsg, key) 12724 case "bandwidthInGbps": 12725 err = unpopulate(val, "BandwidthInGbps", &e.BandwidthInGbps) 12726 delete(rawMsg, key) 12727 case "circuitProvisioningState": 12728 err = unpopulate(val, "CircuitProvisioningState", &e.CircuitProvisioningState) 12729 delete(rawMsg, key) 12730 case "enableDirectPortRateLimit": 12731 err = unpopulate(val, "EnableDirectPortRateLimit", &e.EnableDirectPortRateLimit) 12732 delete(rawMsg, key) 12733 case "expressRoutePort": 12734 err = unpopulate(val, "ExpressRoutePort", &e.ExpressRoutePort) 12735 delete(rawMsg, key) 12736 case "gatewayManagerEtag": 12737 err = unpopulate(val, "GatewayManagerEtag", &e.GatewayManagerEtag) 12738 delete(rawMsg, key) 12739 case "globalReachEnabled": 12740 err = unpopulate(val, "GlobalReachEnabled", &e.GlobalReachEnabled) 12741 delete(rawMsg, key) 12742 case "peerings": 12743 err = unpopulate(val, "Peerings", &e.Peerings) 12744 delete(rawMsg, key) 12745 case "provisioningState": 12746 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 12747 delete(rawMsg, key) 12748 case "serviceKey": 12749 err = unpopulate(val, "ServiceKey", &e.ServiceKey) 12750 delete(rawMsg, key) 12751 case "serviceProviderNotes": 12752 err = unpopulate(val, "ServiceProviderNotes", &e.ServiceProviderNotes) 12753 delete(rawMsg, key) 12754 case "serviceProviderProperties": 12755 err = unpopulate(val, "ServiceProviderProperties", &e.ServiceProviderProperties) 12756 delete(rawMsg, key) 12757 case "serviceProviderProvisioningState": 12758 err = unpopulate(val, "ServiceProviderProvisioningState", &e.ServiceProviderProvisioningState) 12759 delete(rawMsg, key) 12760 case "stag": 12761 err = unpopulate(val, "Stag", &e.Stag) 12762 delete(rawMsg, key) 12763 } 12764 if err != nil { 12765 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12766 } 12767 } 12768 return nil 12769 } 12770 12771 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitReference. 12772 func (e ExpressRouteCircuitReference) MarshalJSON() ([]byte, error) { 12773 objectMap := make(map[string]any) 12774 populate(objectMap, "id", e.ID) 12775 return json.Marshal(objectMap) 12776 } 12777 12778 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitReference. 12779 func (e *ExpressRouteCircuitReference) UnmarshalJSON(data []byte) error { 12780 var rawMsg map[string]json.RawMessage 12781 if err := json.Unmarshal(data, &rawMsg); err != nil { 12782 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12783 } 12784 for key, val := range rawMsg { 12785 var err error 12786 switch key { 12787 case "id": 12788 err = unpopulate(val, "ID", &e.ID) 12789 delete(rawMsg, key) 12790 } 12791 if err != nil { 12792 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12793 } 12794 } 12795 return nil 12796 } 12797 12798 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitRoutesTable. 12799 func (e ExpressRouteCircuitRoutesTable) MarshalJSON() ([]byte, error) { 12800 objectMap := make(map[string]any) 12801 populate(objectMap, "locPrf", e.LocPrf) 12802 populate(objectMap, "network", e.Network) 12803 populate(objectMap, "nextHop", e.NextHop) 12804 populate(objectMap, "path", e.Path) 12805 populate(objectMap, "weight", e.Weight) 12806 return json.Marshal(objectMap) 12807 } 12808 12809 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitRoutesTable. 12810 func (e *ExpressRouteCircuitRoutesTable) UnmarshalJSON(data []byte) error { 12811 var rawMsg map[string]json.RawMessage 12812 if err := json.Unmarshal(data, &rawMsg); err != nil { 12813 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12814 } 12815 for key, val := range rawMsg { 12816 var err error 12817 switch key { 12818 case "locPrf": 12819 err = unpopulate(val, "LocPrf", &e.LocPrf) 12820 delete(rawMsg, key) 12821 case "network": 12822 err = unpopulate(val, "Network", &e.Network) 12823 delete(rawMsg, key) 12824 case "nextHop": 12825 err = unpopulate(val, "NextHop", &e.NextHop) 12826 delete(rawMsg, key) 12827 case "path": 12828 err = unpopulate(val, "Path", &e.Path) 12829 delete(rawMsg, key) 12830 case "weight": 12831 err = unpopulate(val, "Weight", &e.Weight) 12832 delete(rawMsg, key) 12833 } 12834 if err != nil { 12835 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12836 } 12837 } 12838 return nil 12839 } 12840 12841 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitRoutesTableSummary. 12842 func (e ExpressRouteCircuitRoutesTableSummary) MarshalJSON() ([]byte, error) { 12843 objectMap := make(map[string]any) 12844 populate(objectMap, "as", e.As) 12845 populate(objectMap, "neighbor", e.Neighbor) 12846 populate(objectMap, "statePfxRcd", e.StatePfxRcd) 12847 populate(objectMap, "upDown", e.UpDown) 12848 populate(objectMap, "v", e.V) 12849 return json.Marshal(objectMap) 12850 } 12851 12852 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitRoutesTableSummary. 12853 func (e *ExpressRouteCircuitRoutesTableSummary) UnmarshalJSON(data []byte) error { 12854 var rawMsg map[string]json.RawMessage 12855 if err := json.Unmarshal(data, &rawMsg); err != nil { 12856 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12857 } 12858 for key, val := range rawMsg { 12859 var err error 12860 switch key { 12861 case "as": 12862 err = unpopulate(val, "As", &e.As) 12863 delete(rawMsg, key) 12864 case "neighbor": 12865 err = unpopulate(val, "Neighbor", &e.Neighbor) 12866 delete(rawMsg, key) 12867 case "statePfxRcd": 12868 err = unpopulate(val, "StatePfxRcd", &e.StatePfxRcd) 12869 delete(rawMsg, key) 12870 case "upDown": 12871 err = unpopulate(val, "UpDown", &e.UpDown) 12872 delete(rawMsg, key) 12873 case "v": 12874 err = unpopulate(val, "V", &e.V) 12875 delete(rawMsg, key) 12876 } 12877 if err != nil { 12878 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12879 } 12880 } 12881 return nil 12882 } 12883 12884 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitSKU. 12885 func (e ExpressRouteCircuitSKU) MarshalJSON() ([]byte, error) { 12886 objectMap := make(map[string]any) 12887 populate(objectMap, "family", e.Family) 12888 populate(objectMap, "name", e.Name) 12889 populate(objectMap, "tier", e.Tier) 12890 return json.Marshal(objectMap) 12891 } 12892 12893 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitSKU. 12894 func (e *ExpressRouteCircuitSKU) UnmarshalJSON(data []byte) error { 12895 var rawMsg map[string]json.RawMessage 12896 if err := json.Unmarshal(data, &rawMsg); err != nil { 12897 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12898 } 12899 for key, val := range rawMsg { 12900 var err error 12901 switch key { 12902 case "family": 12903 err = unpopulate(val, "Family", &e.Family) 12904 delete(rawMsg, key) 12905 case "name": 12906 err = unpopulate(val, "Name", &e.Name) 12907 delete(rawMsg, key) 12908 case "tier": 12909 err = unpopulate(val, "Tier", &e.Tier) 12910 delete(rawMsg, key) 12911 } 12912 if err != nil { 12913 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12914 } 12915 } 12916 return nil 12917 } 12918 12919 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitServiceProviderProperties. 12920 func (e ExpressRouteCircuitServiceProviderProperties) MarshalJSON() ([]byte, error) { 12921 objectMap := make(map[string]any) 12922 populate(objectMap, "bandwidthInMbps", e.BandwidthInMbps) 12923 populate(objectMap, "peeringLocation", e.PeeringLocation) 12924 populate(objectMap, "serviceProviderName", e.ServiceProviderName) 12925 return json.Marshal(objectMap) 12926 } 12927 12928 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitServiceProviderProperties. 12929 func (e *ExpressRouteCircuitServiceProviderProperties) UnmarshalJSON(data []byte) error { 12930 var rawMsg map[string]json.RawMessage 12931 if err := json.Unmarshal(data, &rawMsg); err != nil { 12932 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12933 } 12934 for key, val := range rawMsg { 12935 var err error 12936 switch key { 12937 case "bandwidthInMbps": 12938 err = unpopulate(val, "BandwidthInMbps", &e.BandwidthInMbps) 12939 delete(rawMsg, key) 12940 case "peeringLocation": 12941 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 12942 delete(rawMsg, key) 12943 case "serviceProviderName": 12944 err = unpopulate(val, "ServiceProviderName", &e.ServiceProviderName) 12945 delete(rawMsg, key) 12946 } 12947 if err != nil { 12948 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12949 } 12950 } 12951 return nil 12952 } 12953 12954 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitStats. 12955 func (e ExpressRouteCircuitStats) MarshalJSON() ([]byte, error) { 12956 objectMap := make(map[string]any) 12957 populate(objectMap, "primarybytesIn", e.PrimarybytesIn) 12958 populate(objectMap, "primarybytesOut", e.PrimarybytesOut) 12959 populate(objectMap, "secondarybytesIn", e.SecondarybytesIn) 12960 populate(objectMap, "secondarybytesOut", e.SecondarybytesOut) 12961 return json.Marshal(objectMap) 12962 } 12963 12964 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitStats. 12965 func (e *ExpressRouteCircuitStats) UnmarshalJSON(data []byte) error { 12966 var rawMsg map[string]json.RawMessage 12967 if err := json.Unmarshal(data, &rawMsg); err != nil { 12968 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12969 } 12970 for key, val := range rawMsg { 12971 var err error 12972 switch key { 12973 case "primarybytesIn": 12974 err = unpopulate(val, "PrimarybytesIn", &e.PrimarybytesIn) 12975 delete(rawMsg, key) 12976 case "primarybytesOut": 12977 err = unpopulate(val, "PrimarybytesOut", &e.PrimarybytesOut) 12978 delete(rawMsg, key) 12979 case "secondarybytesIn": 12980 err = unpopulate(val, "SecondarybytesIn", &e.SecondarybytesIn) 12981 delete(rawMsg, key) 12982 case "secondarybytesOut": 12983 err = unpopulate(val, "SecondarybytesOut", &e.SecondarybytesOut) 12984 delete(rawMsg, key) 12985 } 12986 if err != nil { 12987 return fmt.Errorf("unmarshalling type %T: %v", e, err) 12988 } 12989 } 12990 return nil 12991 } 12992 12993 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsArpTableListResult. 12994 func (e ExpressRouteCircuitsArpTableListResult) MarshalJSON() ([]byte, error) { 12995 objectMap := make(map[string]any) 12996 populate(objectMap, "nextLink", e.NextLink) 12997 populate(objectMap, "value", e.Value) 12998 return json.Marshal(objectMap) 12999 } 13000 13001 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitsArpTableListResult. 13002 func (e *ExpressRouteCircuitsArpTableListResult) UnmarshalJSON(data []byte) error { 13003 var rawMsg map[string]json.RawMessage 13004 if err := json.Unmarshal(data, &rawMsg); err != nil { 13005 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13006 } 13007 for key, val := range rawMsg { 13008 var err error 13009 switch key { 13010 case "nextLink": 13011 err = unpopulate(val, "NextLink", &e.NextLink) 13012 delete(rawMsg, key) 13013 case "value": 13014 err = unpopulate(val, "Value", &e.Value) 13015 delete(rawMsg, key) 13016 } 13017 if err != nil { 13018 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13019 } 13020 } 13021 return nil 13022 } 13023 13024 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsRoutesTableListResult. 13025 func (e ExpressRouteCircuitsRoutesTableListResult) MarshalJSON() ([]byte, error) { 13026 objectMap := make(map[string]any) 13027 populate(objectMap, "nextLink", e.NextLink) 13028 populate(objectMap, "value", e.Value) 13029 return json.Marshal(objectMap) 13030 } 13031 13032 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitsRoutesTableListResult. 13033 func (e *ExpressRouteCircuitsRoutesTableListResult) UnmarshalJSON(data []byte) error { 13034 var rawMsg map[string]json.RawMessage 13035 if err := json.Unmarshal(data, &rawMsg); err != nil { 13036 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13037 } 13038 for key, val := range rawMsg { 13039 var err error 13040 switch key { 13041 case "nextLink": 13042 err = unpopulate(val, "NextLink", &e.NextLink) 13043 delete(rawMsg, key) 13044 case "value": 13045 err = unpopulate(val, "Value", &e.Value) 13046 delete(rawMsg, key) 13047 } 13048 if err != nil { 13049 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13050 } 13051 } 13052 return nil 13053 } 13054 13055 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCircuitsRoutesTableSummaryListResult. 13056 func (e ExpressRouteCircuitsRoutesTableSummaryListResult) MarshalJSON() ([]byte, error) { 13057 objectMap := make(map[string]any) 13058 populate(objectMap, "nextLink", e.NextLink) 13059 populate(objectMap, "value", e.Value) 13060 return json.Marshal(objectMap) 13061 } 13062 13063 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCircuitsRoutesTableSummaryListResult. 13064 func (e *ExpressRouteCircuitsRoutesTableSummaryListResult) UnmarshalJSON(data []byte) error { 13065 var rawMsg map[string]json.RawMessage 13066 if err := json.Unmarshal(data, &rawMsg); err != nil { 13067 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13068 } 13069 for key, val := range rawMsg { 13070 var err error 13071 switch key { 13072 case "nextLink": 13073 err = unpopulate(val, "NextLink", &e.NextLink) 13074 delete(rawMsg, key) 13075 case "value": 13076 err = unpopulate(val, "Value", &e.Value) 13077 delete(rawMsg, key) 13078 } 13079 if err != nil { 13080 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13081 } 13082 } 13083 return nil 13084 } 13085 13086 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnection. 13087 func (e ExpressRouteConnection) MarshalJSON() ([]byte, error) { 13088 objectMap := make(map[string]any) 13089 populate(objectMap, "id", e.ID) 13090 populate(objectMap, "name", e.Name) 13091 populate(objectMap, "properties", e.Properties) 13092 return json.Marshal(objectMap) 13093 } 13094 13095 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteConnection. 13096 func (e *ExpressRouteConnection) UnmarshalJSON(data []byte) error { 13097 var rawMsg map[string]json.RawMessage 13098 if err := json.Unmarshal(data, &rawMsg); err != nil { 13099 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13100 } 13101 for key, val := range rawMsg { 13102 var err error 13103 switch key { 13104 case "id": 13105 err = unpopulate(val, "ID", &e.ID) 13106 delete(rawMsg, key) 13107 case "name": 13108 err = unpopulate(val, "Name", &e.Name) 13109 delete(rawMsg, key) 13110 case "properties": 13111 err = unpopulate(val, "Properties", &e.Properties) 13112 delete(rawMsg, key) 13113 } 13114 if err != nil { 13115 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13116 } 13117 } 13118 return nil 13119 } 13120 13121 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnectionID. 13122 func (e ExpressRouteConnectionID) MarshalJSON() ([]byte, error) { 13123 objectMap := make(map[string]any) 13124 populate(objectMap, "id", e.ID) 13125 return json.Marshal(objectMap) 13126 } 13127 13128 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteConnectionID. 13129 func (e *ExpressRouteConnectionID) UnmarshalJSON(data []byte) error { 13130 var rawMsg map[string]json.RawMessage 13131 if err := json.Unmarshal(data, &rawMsg); err != nil { 13132 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13133 } 13134 for key, val := range rawMsg { 13135 var err error 13136 switch key { 13137 case "id": 13138 err = unpopulate(val, "ID", &e.ID) 13139 delete(rawMsg, key) 13140 } 13141 if err != nil { 13142 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13143 } 13144 } 13145 return nil 13146 } 13147 13148 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnectionList. 13149 func (e ExpressRouteConnectionList) MarshalJSON() ([]byte, error) { 13150 objectMap := make(map[string]any) 13151 populate(objectMap, "value", e.Value) 13152 return json.Marshal(objectMap) 13153 } 13154 13155 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteConnectionList. 13156 func (e *ExpressRouteConnectionList) UnmarshalJSON(data []byte) error { 13157 var rawMsg map[string]json.RawMessage 13158 if err := json.Unmarshal(data, &rawMsg); err != nil { 13159 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13160 } 13161 for key, val := range rawMsg { 13162 var err error 13163 switch key { 13164 case "value": 13165 err = unpopulate(val, "Value", &e.Value) 13166 delete(rawMsg, key) 13167 } 13168 if err != nil { 13169 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13170 } 13171 } 13172 return nil 13173 } 13174 13175 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteConnectionProperties. 13176 func (e ExpressRouteConnectionProperties) MarshalJSON() ([]byte, error) { 13177 objectMap := make(map[string]any) 13178 populate(objectMap, "authorizationKey", e.AuthorizationKey) 13179 populate(objectMap, "enableInternetSecurity", e.EnableInternetSecurity) 13180 populate(objectMap, "enablePrivateLinkFastPath", e.EnablePrivateLinkFastPath) 13181 populate(objectMap, "expressRouteCircuitPeering", e.ExpressRouteCircuitPeering) 13182 populate(objectMap, "expressRouteGatewayBypass", e.ExpressRouteGatewayBypass) 13183 populate(objectMap, "provisioningState", e.ProvisioningState) 13184 populate(objectMap, "routingConfiguration", e.RoutingConfiguration) 13185 populate(objectMap, "routingWeight", e.RoutingWeight) 13186 return json.Marshal(objectMap) 13187 } 13188 13189 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteConnectionProperties. 13190 func (e *ExpressRouteConnectionProperties) UnmarshalJSON(data []byte) error { 13191 var rawMsg map[string]json.RawMessage 13192 if err := json.Unmarshal(data, &rawMsg); err != nil { 13193 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13194 } 13195 for key, val := range rawMsg { 13196 var err error 13197 switch key { 13198 case "authorizationKey": 13199 err = unpopulate(val, "AuthorizationKey", &e.AuthorizationKey) 13200 delete(rawMsg, key) 13201 case "enableInternetSecurity": 13202 err = unpopulate(val, "EnableInternetSecurity", &e.EnableInternetSecurity) 13203 delete(rawMsg, key) 13204 case "enablePrivateLinkFastPath": 13205 err = unpopulate(val, "EnablePrivateLinkFastPath", &e.EnablePrivateLinkFastPath) 13206 delete(rawMsg, key) 13207 case "expressRouteCircuitPeering": 13208 err = unpopulate(val, "ExpressRouteCircuitPeering", &e.ExpressRouteCircuitPeering) 13209 delete(rawMsg, key) 13210 case "expressRouteGatewayBypass": 13211 err = unpopulate(val, "ExpressRouteGatewayBypass", &e.ExpressRouteGatewayBypass) 13212 delete(rawMsg, key) 13213 case "provisioningState": 13214 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 13215 delete(rawMsg, key) 13216 case "routingConfiguration": 13217 err = unpopulate(val, "RoutingConfiguration", &e.RoutingConfiguration) 13218 delete(rawMsg, key) 13219 case "routingWeight": 13220 err = unpopulate(val, "RoutingWeight", &e.RoutingWeight) 13221 delete(rawMsg, key) 13222 } 13223 if err != nil { 13224 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13225 } 13226 } 13227 return nil 13228 } 13229 13230 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnection. 13231 func (e ExpressRouteCrossConnection) MarshalJSON() ([]byte, error) { 13232 objectMap := make(map[string]any) 13233 populate(objectMap, "etag", e.Etag) 13234 populate(objectMap, "id", e.ID) 13235 populate(objectMap, "location", e.Location) 13236 populate(objectMap, "name", e.Name) 13237 populate(objectMap, "properties", e.Properties) 13238 populate(objectMap, "tags", e.Tags) 13239 populate(objectMap, "type", e.Type) 13240 return json.Marshal(objectMap) 13241 } 13242 13243 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnection. 13244 func (e *ExpressRouteCrossConnection) UnmarshalJSON(data []byte) error { 13245 var rawMsg map[string]json.RawMessage 13246 if err := json.Unmarshal(data, &rawMsg); err != nil { 13247 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13248 } 13249 for key, val := range rawMsg { 13250 var err error 13251 switch key { 13252 case "etag": 13253 err = unpopulate(val, "Etag", &e.Etag) 13254 delete(rawMsg, key) 13255 case "id": 13256 err = unpopulate(val, "ID", &e.ID) 13257 delete(rawMsg, key) 13258 case "location": 13259 err = unpopulate(val, "Location", &e.Location) 13260 delete(rawMsg, key) 13261 case "name": 13262 err = unpopulate(val, "Name", &e.Name) 13263 delete(rawMsg, key) 13264 case "properties": 13265 err = unpopulate(val, "Properties", &e.Properties) 13266 delete(rawMsg, key) 13267 case "tags": 13268 err = unpopulate(val, "Tags", &e.Tags) 13269 delete(rawMsg, key) 13270 case "type": 13271 err = unpopulate(val, "Type", &e.Type) 13272 delete(rawMsg, key) 13273 } 13274 if err != nil { 13275 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13276 } 13277 } 13278 return nil 13279 } 13280 13281 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionListResult. 13282 func (e ExpressRouteCrossConnectionListResult) MarshalJSON() ([]byte, error) { 13283 objectMap := make(map[string]any) 13284 populate(objectMap, "nextLink", e.NextLink) 13285 populate(objectMap, "value", e.Value) 13286 return json.Marshal(objectMap) 13287 } 13288 13289 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionListResult. 13290 func (e *ExpressRouteCrossConnectionListResult) UnmarshalJSON(data []byte) error { 13291 var rawMsg map[string]json.RawMessage 13292 if err := json.Unmarshal(data, &rawMsg); err != nil { 13293 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13294 } 13295 for key, val := range rawMsg { 13296 var err error 13297 switch key { 13298 case "nextLink": 13299 err = unpopulate(val, "NextLink", &e.NextLink) 13300 delete(rawMsg, key) 13301 case "value": 13302 err = unpopulate(val, "Value", &e.Value) 13303 delete(rawMsg, key) 13304 } 13305 if err != nil { 13306 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13307 } 13308 } 13309 return nil 13310 } 13311 13312 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeering. 13313 func (e ExpressRouteCrossConnectionPeering) MarshalJSON() ([]byte, error) { 13314 objectMap := make(map[string]any) 13315 populate(objectMap, "etag", e.Etag) 13316 populate(objectMap, "id", e.ID) 13317 populate(objectMap, "name", e.Name) 13318 populate(objectMap, "properties", e.Properties) 13319 return json.Marshal(objectMap) 13320 } 13321 13322 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionPeering. 13323 func (e *ExpressRouteCrossConnectionPeering) UnmarshalJSON(data []byte) error { 13324 var rawMsg map[string]json.RawMessage 13325 if err := json.Unmarshal(data, &rawMsg); err != nil { 13326 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13327 } 13328 for key, val := range rawMsg { 13329 var err error 13330 switch key { 13331 case "etag": 13332 err = unpopulate(val, "Etag", &e.Etag) 13333 delete(rawMsg, key) 13334 case "id": 13335 err = unpopulate(val, "ID", &e.ID) 13336 delete(rawMsg, key) 13337 case "name": 13338 err = unpopulate(val, "Name", &e.Name) 13339 delete(rawMsg, key) 13340 case "properties": 13341 err = unpopulate(val, "Properties", &e.Properties) 13342 delete(rawMsg, key) 13343 } 13344 if err != nil { 13345 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13346 } 13347 } 13348 return nil 13349 } 13350 13351 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeeringList. 13352 func (e ExpressRouteCrossConnectionPeeringList) MarshalJSON() ([]byte, error) { 13353 objectMap := make(map[string]any) 13354 populate(objectMap, "nextLink", e.NextLink) 13355 populate(objectMap, "value", e.Value) 13356 return json.Marshal(objectMap) 13357 } 13358 13359 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionPeeringList. 13360 func (e *ExpressRouteCrossConnectionPeeringList) UnmarshalJSON(data []byte) error { 13361 var rawMsg map[string]json.RawMessage 13362 if err := json.Unmarshal(data, &rawMsg); err != nil { 13363 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13364 } 13365 for key, val := range rawMsg { 13366 var err error 13367 switch key { 13368 case "nextLink": 13369 err = unpopulate(val, "NextLink", &e.NextLink) 13370 delete(rawMsg, key) 13371 case "value": 13372 err = unpopulate(val, "Value", &e.Value) 13373 delete(rawMsg, key) 13374 } 13375 if err != nil { 13376 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13377 } 13378 } 13379 return nil 13380 } 13381 13382 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionPeeringProperties. 13383 func (e ExpressRouteCrossConnectionPeeringProperties) MarshalJSON() ([]byte, error) { 13384 objectMap := make(map[string]any) 13385 populate(objectMap, "azureASN", e.AzureASN) 13386 populate(objectMap, "gatewayManagerEtag", e.GatewayManagerEtag) 13387 populate(objectMap, "ipv6PeeringConfig", e.IPv6PeeringConfig) 13388 populate(objectMap, "lastModifiedBy", e.LastModifiedBy) 13389 populate(objectMap, "microsoftPeeringConfig", e.MicrosoftPeeringConfig) 13390 populate(objectMap, "peerASN", e.PeerASN) 13391 populate(objectMap, "peeringType", e.PeeringType) 13392 populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) 13393 populate(objectMap, "primaryPeerAddressPrefix", e.PrimaryPeerAddressPrefix) 13394 populate(objectMap, "provisioningState", e.ProvisioningState) 13395 populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) 13396 populate(objectMap, "secondaryPeerAddressPrefix", e.SecondaryPeerAddressPrefix) 13397 populate(objectMap, "sharedKey", e.SharedKey) 13398 populate(objectMap, "state", e.State) 13399 populate(objectMap, "vlanId", e.VlanID) 13400 return json.Marshal(objectMap) 13401 } 13402 13403 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionPeeringProperties. 13404 func (e *ExpressRouteCrossConnectionPeeringProperties) UnmarshalJSON(data []byte) error { 13405 var rawMsg map[string]json.RawMessage 13406 if err := json.Unmarshal(data, &rawMsg); err != nil { 13407 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13408 } 13409 for key, val := range rawMsg { 13410 var err error 13411 switch key { 13412 case "azureASN": 13413 err = unpopulate(val, "AzureASN", &e.AzureASN) 13414 delete(rawMsg, key) 13415 case "gatewayManagerEtag": 13416 err = unpopulate(val, "GatewayManagerEtag", &e.GatewayManagerEtag) 13417 delete(rawMsg, key) 13418 case "ipv6PeeringConfig": 13419 err = unpopulate(val, "IPv6PeeringConfig", &e.IPv6PeeringConfig) 13420 delete(rawMsg, key) 13421 case "lastModifiedBy": 13422 err = unpopulate(val, "LastModifiedBy", &e.LastModifiedBy) 13423 delete(rawMsg, key) 13424 case "microsoftPeeringConfig": 13425 err = unpopulate(val, "MicrosoftPeeringConfig", &e.MicrosoftPeeringConfig) 13426 delete(rawMsg, key) 13427 case "peerASN": 13428 err = unpopulate(val, "PeerASN", &e.PeerASN) 13429 delete(rawMsg, key) 13430 case "peeringType": 13431 err = unpopulate(val, "PeeringType", &e.PeeringType) 13432 delete(rawMsg, key) 13433 case "primaryAzurePort": 13434 err = unpopulate(val, "PrimaryAzurePort", &e.PrimaryAzurePort) 13435 delete(rawMsg, key) 13436 case "primaryPeerAddressPrefix": 13437 err = unpopulate(val, "PrimaryPeerAddressPrefix", &e.PrimaryPeerAddressPrefix) 13438 delete(rawMsg, key) 13439 case "provisioningState": 13440 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 13441 delete(rawMsg, key) 13442 case "secondaryAzurePort": 13443 err = unpopulate(val, "SecondaryAzurePort", &e.SecondaryAzurePort) 13444 delete(rawMsg, key) 13445 case "secondaryPeerAddressPrefix": 13446 err = unpopulate(val, "SecondaryPeerAddressPrefix", &e.SecondaryPeerAddressPrefix) 13447 delete(rawMsg, key) 13448 case "sharedKey": 13449 err = unpopulate(val, "SharedKey", &e.SharedKey) 13450 delete(rawMsg, key) 13451 case "state": 13452 err = unpopulate(val, "State", &e.State) 13453 delete(rawMsg, key) 13454 case "vlanId": 13455 err = unpopulate(val, "VlanID", &e.VlanID) 13456 delete(rawMsg, key) 13457 } 13458 if err != nil { 13459 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13460 } 13461 } 13462 return nil 13463 } 13464 13465 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionProperties. 13466 func (e ExpressRouteCrossConnectionProperties) MarshalJSON() ([]byte, error) { 13467 objectMap := make(map[string]any) 13468 populate(objectMap, "bandwidthInMbps", e.BandwidthInMbps) 13469 populate(objectMap, "expressRouteCircuit", e.ExpressRouteCircuit) 13470 populate(objectMap, "peeringLocation", e.PeeringLocation) 13471 populate(objectMap, "peerings", e.Peerings) 13472 populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) 13473 populate(objectMap, "provisioningState", e.ProvisioningState) 13474 populate(objectMap, "sTag", e.STag) 13475 populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) 13476 populate(objectMap, "serviceProviderNotes", e.ServiceProviderNotes) 13477 populate(objectMap, "serviceProviderProvisioningState", e.ServiceProviderProvisioningState) 13478 return json.Marshal(objectMap) 13479 } 13480 13481 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionProperties. 13482 func (e *ExpressRouteCrossConnectionProperties) UnmarshalJSON(data []byte) error { 13483 var rawMsg map[string]json.RawMessage 13484 if err := json.Unmarshal(data, &rawMsg); err != nil { 13485 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13486 } 13487 for key, val := range rawMsg { 13488 var err error 13489 switch key { 13490 case "bandwidthInMbps": 13491 err = unpopulate(val, "BandwidthInMbps", &e.BandwidthInMbps) 13492 delete(rawMsg, key) 13493 case "expressRouteCircuit": 13494 err = unpopulate(val, "ExpressRouteCircuit", &e.ExpressRouteCircuit) 13495 delete(rawMsg, key) 13496 case "peeringLocation": 13497 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 13498 delete(rawMsg, key) 13499 case "peerings": 13500 err = unpopulate(val, "Peerings", &e.Peerings) 13501 delete(rawMsg, key) 13502 case "primaryAzurePort": 13503 err = unpopulate(val, "PrimaryAzurePort", &e.PrimaryAzurePort) 13504 delete(rawMsg, key) 13505 case "provisioningState": 13506 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 13507 delete(rawMsg, key) 13508 case "sTag": 13509 err = unpopulate(val, "STag", &e.STag) 13510 delete(rawMsg, key) 13511 case "secondaryAzurePort": 13512 err = unpopulate(val, "SecondaryAzurePort", &e.SecondaryAzurePort) 13513 delete(rawMsg, key) 13514 case "serviceProviderNotes": 13515 err = unpopulate(val, "ServiceProviderNotes", &e.ServiceProviderNotes) 13516 delete(rawMsg, key) 13517 case "serviceProviderProvisioningState": 13518 err = unpopulate(val, "ServiceProviderProvisioningState", &e.ServiceProviderProvisioningState) 13519 delete(rawMsg, key) 13520 } 13521 if err != nil { 13522 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13523 } 13524 } 13525 return nil 13526 } 13527 13528 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionRoutesTableSummary. 13529 func (e ExpressRouteCrossConnectionRoutesTableSummary) MarshalJSON() ([]byte, error) { 13530 objectMap := make(map[string]any) 13531 populate(objectMap, "asn", e.Asn) 13532 populate(objectMap, "neighbor", e.Neighbor) 13533 populate(objectMap, "stateOrPrefixesReceived", e.StateOrPrefixesReceived) 13534 populate(objectMap, "upDown", e.UpDown) 13535 return json.Marshal(objectMap) 13536 } 13537 13538 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionRoutesTableSummary. 13539 func (e *ExpressRouteCrossConnectionRoutesTableSummary) UnmarshalJSON(data []byte) error { 13540 var rawMsg map[string]json.RawMessage 13541 if err := json.Unmarshal(data, &rawMsg); err != nil { 13542 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13543 } 13544 for key, val := range rawMsg { 13545 var err error 13546 switch key { 13547 case "asn": 13548 err = unpopulate(val, "Asn", &e.Asn) 13549 delete(rawMsg, key) 13550 case "neighbor": 13551 err = unpopulate(val, "Neighbor", &e.Neighbor) 13552 delete(rawMsg, key) 13553 case "stateOrPrefixesReceived": 13554 err = unpopulate(val, "StateOrPrefixesReceived", &e.StateOrPrefixesReceived) 13555 delete(rawMsg, key) 13556 case "upDown": 13557 err = unpopulate(val, "UpDown", &e.UpDown) 13558 delete(rawMsg, key) 13559 } 13560 if err != nil { 13561 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13562 } 13563 } 13564 return nil 13565 } 13566 13567 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteCrossConnectionsRoutesTableSummaryListResult. 13568 func (e ExpressRouteCrossConnectionsRoutesTableSummaryListResult) MarshalJSON() ([]byte, error) { 13569 objectMap := make(map[string]any) 13570 populate(objectMap, "nextLink", e.NextLink) 13571 populate(objectMap, "value", e.Value) 13572 return json.Marshal(objectMap) 13573 } 13574 13575 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteCrossConnectionsRoutesTableSummaryListResult. 13576 func (e *ExpressRouteCrossConnectionsRoutesTableSummaryListResult) UnmarshalJSON(data []byte) error { 13577 var rawMsg map[string]json.RawMessage 13578 if err := json.Unmarshal(data, &rawMsg); err != nil { 13579 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13580 } 13581 for key, val := range rawMsg { 13582 var err error 13583 switch key { 13584 case "nextLink": 13585 err = unpopulate(val, "NextLink", &e.NextLink) 13586 delete(rawMsg, key) 13587 case "value": 13588 err = unpopulate(val, "Value", &e.Value) 13589 delete(rawMsg, key) 13590 } 13591 if err != nil { 13592 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13593 } 13594 } 13595 return nil 13596 } 13597 13598 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteFailoverCircuitResourceDetails. 13599 func (e ExpressRouteFailoverCircuitResourceDetails) MarshalJSON() ([]byte, error) { 13600 objectMap := make(map[string]any) 13601 populate(objectMap, "connectionName", e.ConnectionName) 13602 populate(objectMap, "name", e.Name) 13603 populate(objectMap, "nrpResourceUri", e.NrpResourceURI) 13604 return json.Marshal(objectMap) 13605 } 13606 13607 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteFailoverCircuitResourceDetails. 13608 func (e *ExpressRouteFailoverCircuitResourceDetails) UnmarshalJSON(data []byte) error { 13609 var rawMsg map[string]json.RawMessage 13610 if err := json.Unmarshal(data, &rawMsg); err != nil { 13611 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13612 } 13613 for key, val := range rawMsg { 13614 var err error 13615 switch key { 13616 case "connectionName": 13617 err = unpopulate(val, "ConnectionName", &e.ConnectionName) 13618 delete(rawMsg, key) 13619 case "name": 13620 err = unpopulate(val, "Name", &e.Name) 13621 delete(rawMsg, key) 13622 case "nrpResourceUri": 13623 err = unpopulate(val, "NrpResourceURI", &e.NrpResourceURI) 13624 delete(rawMsg, key) 13625 } 13626 if err != nil { 13627 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13628 } 13629 } 13630 return nil 13631 } 13632 13633 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteFailoverConnectionResourceDetails. 13634 func (e ExpressRouteFailoverConnectionResourceDetails) MarshalJSON() ([]byte, error) { 13635 objectMap := make(map[string]any) 13636 populate(objectMap, "lastUpdatedTime", e.LastUpdatedTime) 13637 populate(objectMap, "name", e.Name) 13638 populate(objectMap, "nrpResourceUri", e.NrpResourceURI) 13639 populate(objectMap, "status", e.Status) 13640 return json.Marshal(objectMap) 13641 } 13642 13643 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteFailoverConnectionResourceDetails. 13644 func (e *ExpressRouteFailoverConnectionResourceDetails) UnmarshalJSON(data []byte) error { 13645 var rawMsg map[string]json.RawMessage 13646 if err := json.Unmarshal(data, &rawMsg); err != nil { 13647 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13648 } 13649 for key, val := range rawMsg { 13650 var err error 13651 switch key { 13652 case "lastUpdatedTime": 13653 err = unpopulate(val, "LastUpdatedTime", &e.LastUpdatedTime) 13654 delete(rawMsg, key) 13655 case "name": 13656 err = unpopulate(val, "Name", &e.Name) 13657 delete(rawMsg, key) 13658 case "nrpResourceUri": 13659 err = unpopulate(val, "NrpResourceURI", &e.NrpResourceURI) 13660 delete(rawMsg, key) 13661 case "status": 13662 err = unpopulate(val, "Status", &e.Status) 13663 delete(rawMsg, key) 13664 } 13665 if err != nil { 13666 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13667 } 13668 } 13669 return nil 13670 } 13671 13672 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteFailoverRedundantRoute. 13673 func (e ExpressRouteFailoverRedundantRoute) MarshalJSON() ([]byte, error) { 13674 objectMap := make(map[string]any) 13675 populate(objectMap, "peeringLocations", e.PeeringLocations) 13676 populate(objectMap, "routes", e.Routes) 13677 return json.Marshal(objectMap) 13678 } 13679 13680 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteFailoverRedundantRoute. 13681 func (e *ExpressRouteFailoverRedundantRoute) UnmarshalJSON(data []byte) error { 13682 var rawMsg map[string]json.RawMessage 13683 if err := json.Unmarshal(data, &rawMsg); err != nil { 13684 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13685 } 13686 for key, val := range rawMsg { 13687 var err error 13688 switch key { 13689 case "peeringLocations": 13690 err = unpopulate(val, "PeeringLocations", &e.PeeringLocations) 13691 delete(rawMsg, key) 13692 case "routes": 13693 err = unpopulate(val, "Routes", &e.Routes) 13694 delete(rawMsg, key) 13695 } 13696 if err != nil { 13697 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13698 } 13699 } 13700 return nil 13701 } 13702 13703 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteFailoverSingleTestDetails. 13704 func (e ExpressRouteFailoverSingleTestDetails) MarshalJSON() ([]byte, error) { 13705 objectMap := make(map[string]any) 13706 populate(objectMap, "endTimeUtc", e.EndTimeUTC) 13707 populate(objectMap, "failoverConnectionDetails", e.FailoverConnectionDetails) 13708 populate(objectMap, "nonRedundantRoutes", e.NonRedundantRoutes) 13709 populate(objectMap, "peeringLocation", e.PeeringLocation) 13710 populate(objectMap, "redundantRoutes", e.RedundantRoutes) 13711 populate(objectMap, "startTimeUtc", e.StartTimeUTC) 13712 populate(objectMap, "status", e.Status) 13713 populate(objectMap, "wasSimulationSuccessful", e.WasSimulationSuccessful) 13714 return json.Marshal(objectMap) 13715 } 13716 13717 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteFailoverSingleTestDetails. 13718 func (e *ExpressRouteFailoverSingleTestDetails) UnmarshalJSON(data []byte) error { 13719 var rawMsg map[string]json.RawMessage 13720 if err := json.Unmarshal(data, &rawMsg); err != nil { 13721 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13722 } 13723 for key, val := range rawMsg { 13724 var err error 13725 switch key { 13726 case "endTimeUtc": 13727 err = unpopulate(val, "EndTimeUTC", &e.EndTimeUTC) 13728 delete(rawMsg, key) 13729 case "failoverConnectionDetails": 13730 err = unpopulate(val, "FailoverConnectionDetails", &e.FailoverConnectionDetails) 13731 delete(rawMsg, key) 13732 case "nonRedundantRoutes": 13733 err = unpopulate(val, "NonRedundantRoutes", &e.NonRedundantRoutes) 13734 delete(rawMsg, key) 13735 case "peeringLocation": 13736 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 13737 delete(rawMsg, key) 13738 case "redundantRoutes": 13739 err = unpopulate(val, "RedundantRoutes", &e.RedundantRoutes) 13740 delete(rawMsg, key) 13741 case "startTimeUtc": 13742 err = unpopulate(val, "StartTimeUTC", &e.StartTimeUTC) 13743 delete(rawMsg, key) 13744 case "status": 13745 err = unpopulate(val, "Status", &e.Status) 13746 delete(rawMsg, key) 13747 case "wasSimulationSuccessful": 13748 err = unpopulate(val, "WasSimulationSuccessful", &e.WasSimulationSuccessful) 13749 delete(rawMsg, key) 13750 } 13751 if err != nil { 13752 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13753 } 13754 } 13755 return nil 13756 } 13757 13758 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteFailoverStopAPIParameters. 13759 func (e ExpressRouteFailoverStopAPIParameters) MarshalJSON() ([]byte, error) { 13760 objectMap := make(map[string]any) 13761 populate(objectMap, "details", e.Details) 13762 populate(objectMap, "peeringLocation", e.PeeringLocation) 13763 populate(objectMap, "wasSimulationSuccessful", e.WasSimulationSuccessful) 13764 return json.Marshal(objectMap) 13765 } 13766 13767 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteFailoverStopAPIParameters. 13768 func (e *ExpressRouteFailoverStopAPIParameters) UnmarshalJSON(data []byte) error { 13769 var rawMsg map[string]json.RawMessage 13770 if err := json.Unmarshal(data, &rawMsg); err != nil { 13771 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13772 } 13773 for key, val := range rawMsg { 13774 var err error 13775 switch key { 13776 case "details": 13777 err = unpopulate(val, "Details", &e.Details) 13778 delete(rawMsg, key) 13779 case "peeringLocation": 13780 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 13781 delete(rawMsg, key) 13782 case "wasSimulationSuccessful": 13783 err = unpopulate(val, "WasSimulationSuccessful", &e.WasSimulationSuccessful) 13784 delete(rawMsg, key) 13785 } 13786 if err != nil { 13787 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13788 } 13789 } 13790 return nil 13791 } 13792 13793 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteFailoverTestDetails. 13794 func (e ExpressRouteFailoverTestDetails) MarshalJSON() ([]byte, error) { 13795 objectMap := make(map[string]any) 13796 populate(objectMap, "circuits", e.Circuits) 13797 populate(objectMap, "connections", e.Connections) 13798 populate(objectMap, "endTime", e.EndTime) 13799 populate(objectMap, "issues", e.Issues) 13800 populate(objectMap, "peeringLocation", e.PeeringLocation) 13801 populate(objectMap, "startTime", e.StartTime) 13802 populate(objectMap, "status", e.Status) 13803 populate(objectMap, "testGuid", e.TestGUID) 13804 populate(objectMap, "testType", e.TestType) 13805 return json.Marshal(objectMap) 13806 } 13807 13808 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteFailoverTestDetails. 13809 func (e *ExpressRouteFailoverTestDetails) UnmarshalJSON(data []byte) error { 13810 var rawMsg map[string]json.RawMessage 13811 if err := json.Unmarshal(data, &rawMsg); err != nil { 13812 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13813 } 13814 for key, val := range rawMsg { 13815 var err error 13816 switch key { 13817 case "circuits": 13818 err = unpopulate(val, "Circuits", &e.Circuits) 13819 delete(rawMsg, key) 13820 case "connections": 13821 err = unpopulate(val, "Connections", &e.Connections) 13822 delete(rawMsg, key) 13823 case "endTime": 13824 err = unpopulate(val, "EndTime", &e.EndTime) 13825 delete(rawMsg, key) 13826 case "issues": 13827 err = unpopulate(val, "Issues", &e.Issues) 13828 delete(rawMsg, key) 13829 case "peeringLocation": 13830 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 13831 delete(rawMsg, key) 13832 case "startTime": 13833 err = unpopulate(val, "StartTime", &e.StartTime) 13834 delete(rawMsg, key) 13835 case "status": 13836 err = unpopulate(val, "Status", &e.Status) 13837 delete(rawMsg, key) 13838 case "testGuid": 13839 err = unpopulate(val, "TestGUID", &e.TestGUID) 13840 delete(rawMsg, key) 13841 case "testType": 13842 err = unpopulate(val, "TestType", &e.TestType) 13843 delete(rawMsg, key) 13844 } 13845 if err != nil { 13846 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13847 } 13848 } 13849 return nil 13850 } 13851 13852 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGateway. 13853 func (e ExpressRouteGateway) MarshalJSON() ([]byte, error) { 13854 objectMap := make(map[string]any) 13855 populate(objectMap, "etag", e.Etag) 13856 populate(objectMap, "id", e.ID) 13857 populate(objectMap, "location", e.Location) 13858 populate(objectMap, "name", e.Name) 13859 populate(objectMap, "properties", e.Properties) 13860 populate(objectMap, "tags", e.Tags) 13861 populate(objectMap, "type", e.Type) 13862 return json.Marshal(objectMap) 13863 } 13864 13865 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteGateway. 13866 func (e *ExpressRouteGateway) UnmarshalJSON(data []byte) error { 13867 var rawMsg map[string]json.RawMessage 13868 if err := json.Unmarshal(data, &rawMsg); err != nil { 13869 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13870 } 13871 for key, val := range rawMsg { 13872 var err error 13873 switch key { 13874 case "etag": 13875 err = unpopulate(val, "Etag", &e.Etag) 13876 delete(rawMsg, key) 13877 case "id": 13878 err = unpopulate(val, "ID", &e.ID) 13879 delete(rawMsg, key) 13880 case "location": 13881 err = unpopulate(val, "Location", &e.Location) 13882 delete(rawMsg, key) 13883 case "name": 13884 err = unpopulate(val, "Name", &e.Name) 13885 delete(rawMsg, key) 13886 case "properties": 13887 err = unpopulate(val, "Properties", &e.Properties) 13888 delete(rawMsg, key) 13889 case "tags": 13890 err = unpopulate(val, "Tags", &e.Tags) 13891 delete(rawMsg, key) 13892 case "type": 13893 err = unpopulate(val, "Type", &e.Type) 13894 delete(rawMsg, key) 13895 } 13896 if err != nil { 13897 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13898 } 13899 } 13900 return nil 13901 } 13902 13903 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayList. 13904 func (e ExpressRouteGatewayList) MarshalJSON() ([]byte, error) { 13905 objectMap := make(map[string]any) 13906 populate(objectMap, "value", e.Value) 13907 return json.Marshal(objectMap) 13908 } 13909 13910 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteGatewayList. 13911 func (e *ExpressRouteGatewayList) UnmarshalJSON(data []byte) error { 13912 var rawMsg map[string]json.RawMessage 13913 if err := json.Unmarshal(data, &rawMsg); err != nil { 13914 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13915 } 13916 for key, val := range rawMsg { 13917 var err error 13918 switch key { 13919 case "value": 13920 err = unpopulate(val, "Value", &e.Value) 13921 delete(rawMsg, key) 13922 } 13923 if err != nil { 13924 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13925 } 13926 } 13927 return nil 13928 } 13929 13930 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayProperties. 13931 func (e ExpressRouteGatewayProperties) MarshalJSON() ([]byte, error) { 13932 objectMap := make(map[string]any) 13933 populate(objectMap, "allowNonVirtualWanTraffic", e.AllowNonVirtualWanTraffic) 13934 populate(objectMap, "autoScaleConfiguration", e.AutoScaleConfiguration) 13935 populate(objectMap, "expressRouteConnections", e.ExpressRouteConnections) 13936 populate(objectMap, "provisioningState", e.ProvisioningState) 13937 populate(objectMap, "virtualHub", e.VirtualHub) 13938 return json.Marshal(objectMap) 13939 } 13940 13941 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteGatewayProperties. 13942 func (e *ExpressRouteGatewayProperties) UnmarshalJSON(data []byte) error { 13943 var rawMsg map[string]json.RawMessage 13944 if err := json.Unmarshal(data, &rawMsg); err != nil { 13945 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13946 } 13947 for key, val := range rawMsg { 13948 var err error 13949 switch key { 13950 case "allowNonVirtualWanTraffic": 13951 err = unpopulate(val, "AllowNonVirtualWanTraffic", &e.AllowNonVirtualWanTraffic) 13952 delete(rawMsg, key) 13953 case "autoScaleConfiguration": 13954 err = unpopulate(val, "AutoScaleConfiguration", &e.AutoScaleConfiguration) 13955 delete(rawMsg, key) 13956 case "expressRouteConnections": 13957 err = unpopulate(val, "ExpressRouteConnections", &e.ExpressRouteConnections) 13958 delete(rawMsg, key) 13959 case "provisioningState": 13960 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 13961 delete(rawMsg, key) 13962 case "virtualHub": 13963 err = unpopulate(val, "VirtualHub", &e.VirtualHub) 13964 delete(rawMsg, key) 13965 } 13966 if err != nil { 13967 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13968 } 13969 } 13970 return nil 13971 } 13972 13973 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayPropertiesAutoScaleConfiguration. 13974 func (e ExpressRouteGatewayPropertiesAutoScaleConfiguration) MarshalJSON() ([]byte, error) { 13975 objectMap := make(map[string]any) 13976 populate(objectMap, "bounds", e.Bounds) 13977 return json.Marshal(objectMap) 13978 } 13979 13980 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteGatewayPropertiesAutoScaleConfiguration. 13981 func (e *ExpressRouteGatewayPropertiesAutoScaleConfiguration) UnmarshalJSON(data []byte) error { 13982 var rawMsg map[string]json.RawMessage 13983 if err := json.Unmarshal(data, &rawMsg); err != nil { 13984 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13985 } 13986 for key, val := range rawMsg { 13987 var err error 13988 switch key { 13989 case "bounds": 13990 err = unpopulate(val, "Bounds", &e.Bounds) 13991 delete(rawMsg, key) 13992 } 13993 if err != nil { 13994 return fmt.Errorf("unmarshalling type %T: %v", e, err) 13995 } 13996 } 13997 return nil 13998 } 13999 14000 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds. 14001 func (e ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds) MarshalJSON() ([]byte, error) { 14002 objectMap := make(map[string]any) 14003 populate(objectMap, "max", e.Max) 14004 populate(objectMap, "min", e.Min) 14005 return json.Marshal(objectMap) 14006 } 14007 14008 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds. 14009 func (e *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds) UnmarshalJSON(data []byte) error { 14010 var rawMsg map[string]json.RawMessage 14011 if err := json.Unmarshal(data, &rawMsg); err != nil { 14012 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14013 } 14014 for key, val := range rawMsg { 14015 var err error 14016 switch key { 14017 case "max": 14018 err = unpopulate(val, "Max", &e.Max) 14019 delete(rawMsg, key) 14020 case "min": 14021 err = unpopulate(val, "Min", &e.Min) 14022 delete(rawMsg, key) 14023 } 14024 if err != nil { 14025 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14026 } 14027 } 14028 return nil 14029 } 14030 14031 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteLink. 14032 func (e ExpressRouteLink) MarshalJSON() ([]byte, error) { 14033 objectMap := make(map[string]any) 14034 populate(objectMap, "etag", e.Etag) 14035 populate(objectMap, "id", e.ID) 14036 populate(objectMap, "name", e.Name) 14037 populate(objectMap, "properties", e.Properties) 14038 return json.Marshal(objectMap) 14039 } 14040 14041 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteLink. 14042 func (e *ExpressRouteLink) UnmarshalJSON(data []byte) error { 14043 var rawMsg map[string]json.RawMessage 14044 if err := json.Unmarshal(data, &rawMsg); err != nil { 14045 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14046 } 14047 for key, val := range rawMsg { 14048 var err error 14049 switch key { 14050 case "etag": 14051 err = unpopulate(val, "Etag", &e.Etag) 14052 delete(rawMsg, key) 14053 case "id": 14054 err = unpopulate(val, "ID", &e.ID) 14055 delete(rawMsg, key) 14056 case "name": 14057 err = unpopulate(val, "Name", &e.Name) 14058 delete(rawMsg, key) 14059 case "properties": 14060 err = unpopulate(val, "Properties", &e.Properties) 14061 delete(rawMsg, key) 14062 } 14063 if err != nil { 14064 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14065 } 14066 } 14067 return nil 14068 } 14069 14070 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteLinkListResult. 14071 func (e ExpressRouteLinkListResult) MarshalJSON() ([]byte, error) { 14072 objectMap := make(map[string]any) 14073 populate(objectMap, "nextLink", e.NextLink) 14074 populate(objectMap, "value", e.Value) 14075 return json.Marshal(objectMap) 14076 } 14077 14078 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteLinkListResult. 14079 func (e *ExpressRouteLinkListResult) UnmarshalJSON(data []byte) error { 14080 var rawMsg map[string]json.RawMessage 14081 if err := json.Unmarshal(data, &rawMsg); err != nil { 14082 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14083 } 14084 for key, val := range rawMsg { 14085 var err error 14086 switch key { 14087 case "nextLink": 14088 err = unpopulate(val, "NextLink", &e.NextLink) 14089 delete(rawMsg, key) 14090 case "value": 14091 err = unpopulate(val, "Value", &e.Value) 14092 delete(rawMsg, key) 14093 } 14094 if err != nil { 14095 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14096 } 14097 } 14098 return nil 14099 } 14100 14101 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteLinkMacSecConfig. 14102 func (e ExpressRouteLinkMacSecConfig) MarshalJSON() ([]byte, error) { 14103 objectMap := make(map[string]any) 14104 populate(objectMap, "cakSecretIdentifier", e.CakSecretIdentifier) 14105 populate(objectMap, "cipher", e.Cipher) 14106 populate(objectMap, "cknSecretIdentifier", e.CknSecretIdentifier) 14107 populate(objectMap, "sciState", e.SciState) 14108 return json.Marshal(objectMap) 14109 } 14110 14111 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteLinkMacSecConfig. 14112 func (e *ExpressRouteLinkMacSecConfig) UnmarshalJSON(data []byte) error { 14113 var rawMsg map[string]json.RawMessage 14114 if err := json.Unmarshal(data, &rawMsg); err != nil { 14115 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14116 } 14117 for key, val := range rawMsg { 14118 var err error 14119 switch key { 14120 case "cakSecretIdentifier": 14121 err = unpopulate(val, "CakSecretIdentifier", &e.CakSecretIdentifier) 14122 delete(rawMsg, key) 14123 case "cipher": 14124 err = unpopulate(val, "Cipher", &e.Cipher) 14125 delete(rawMsg, key) 14126 case "cknSecretIdentifier": 14127 err = unpopulate(val, "CknSecretIdentifier", &e.CknSecretIdentifier) 14128 delete(rawMsg, key) 14129 case "sciState": 14130 err = unpopulate(val, "SciState", &e.SciState) 14131 delete(rawMsg, key) 14132 } 14133 if err != nil { 14134 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14135 } 14136 } 14137 return nil 14138 } 14139 14140 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteLinkPropertiesFormat. 14141 func (e ExpressRouteLinkPropertiesFormat) MarshalJSON() ([]byte, error) { 14142 objectMap := make(map[string]any) 14143 populate(objectMap, "adminState", e.AdminState) 14144 populate(objectMap, "coloLocation", e.ColoLocation) 14145 populate(objectMap, "connectorType", e.ConnectorType) 14146 populate(objectMap, "interfaceName", e.InterfaceName) 14147 populate(objectMap, "macSecConfig", e.MacSecConfig) 14148 populate(objectMap, "patchPanelId", e.PatchPanelID) 14149 populate(objectMap, "provisioningState", e.ProvisioningState) 14150 populate(objectMap, "rackId", e.RackID) 14151 populate(objectMap, "routerName", e.RouterName) 14152 return json.Marshal(objectMap) 14153 } 14154 14155 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteLinkPropertiesFormat. 14156 func (e *ExpressRouteLinkPropertiesFormat) UnmarshalJSON(data []byte) error { 14157 var rawMsg map[string]json.RawMessage 14158 if err := json.Unmarshal(data, &rawMsg); err != nil { 14159 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14160 } 14161 for key, val := range rawMsg { 14162 var err error 14163 switch key { 14164 case "adminState": 14165 err = unpopulate(val, "AdminState", &e.AdminState) 14166 delete(rawMsg, key) 14167 case "coloLocation": 14168 err = unpopulate(val, "ColoLocation", &e.ColoLocation) 14169 delete(rawMsg, key) 14170 case "connectorType": 14171 err = unpopulate(val, "ConnectorType", &e.ConnectorType) 14172 delete(rawMsg, key) 14173 case "interfaceName": 14174 err = unpopulate(val, "InterfaceName", &e.InterfaceName) 14175 delete(rawMsg, key) 14176 case "macSecConfig": 14177 err = unpopulate(val, "MacSecConfig", &e.MacSecConfig) 14178 delete(rawMsg, key) 14179 case "patchPanelId": 14180 err = unpopulate(val, "PatchPanelID", &e.PatchPanelID) 14181 delete(rawMsg, key) 14182 case "provisioningState": 14183 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 14184 delete(rawMsg, key) 14185 case "rackId": 14186 err = unpopulate(val, "RackID", &e.RackID) 14187 delete(rawMsg, key) 14188 case "routerName": 14189 err = unpopulate(val, "RouterName", &e.RouterName) 14190 delete(rawMsg, key) 14191 } 14192 if err != nil { 14193 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14194 } 14195 } 14196 return nil 14197 } 14198 14199 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePort. 14200 func (e ExpressRoutePort) MarshalJSON() ([]byte, error) { 14201 objectMap := make(map[string]any) 14202 populate(objectMap, "etag", e.Etag) 14203 populate(objectMap, "id", e.ID) 14204 populate(objectMap, "identity", e.Identity) 14205 populate(objectMap, "location", e.Location) 14206 populate(objectMap, "name", e.Name) 14207 populate(objectMap, "properties", e.Properties) 14208 populate(objectMap, "tags", e.Tags) 14209 populate(objectMap, "type", e.Type) 14210 return json.Marshal(objectMap) 14211 } 14212 14213 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePort. 14214 func (e *ExpressRoutePort) UnmarshalJSON(data []byte) error { 14215 var rawMsg map[string]json.RawMessage 14216 if err := json.Unmarshal(data, &rawMsg); err != nil { 14217 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14218 } 14219 for key, val := range rawMsg { 14220 var err error 14221 switch key { 14222 case "etag": 14223 err = unpopulate(val, "Etag", &e.Etag) 14224 delete(rawMsg, key) 14225 case "id": 14226 err = unpopulate(val, "ID", &e.ID) 14227 delete(rawMsg, key) 14228 case "identity": 14229 err = unpopulate(val, "Identity", &e.Identity) 14230 delete(rawMsg, key) 14231 case "location": 14232 err = unpopulate(val, "Location", &e.Location) 14233 delete(rawMsg, key) 14234 case "name": 14235 err = unpopulate(val, "Name", &e.Name) 14236 delete(rawMsg, key) 14237 case "properties": 14238 err = unpopulate(val, "Properties", &e.Properties) 14239 delete(rawMsg, key) 14240 case "tags": 14241 err = unpopulate(val, "Tags", &e.Tags) 14242 delete(rawMsg, key) 14243 case "type": 14244 err = unpopulate(val, "Type", &e.Type) 14245 delete(rawMsg, key) 14246 } 14247 if err != nil { 14248 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14249 } 14250 } 14251 return nil 14252 } 14253 14254 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortAuthorization. 14255 func (e ExpressRoutePortAuthorization) MarshalJSON() ([]byte, error) { 14256 objectMap := make(map[string]any) 14257 populate(objectMap, "etag", e.Etag) 14258 populate(objectMap, "id", e.ID) 14259 populate(objectMap, "name", e.Name) 14260 populate(objectMap, "properties", e.Properties) 14261 populate(objectMap, "type", e.Type) 14262 return json.Marshal(objectMap) 14263 } 14264 14265 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortAuthorization. 14266 func (e *ExpressRoutePortAuthorization) UnmarshalJSON(data []byte) error { 14267 var rawMsg map[string]json.RawMessage 14268 if err := json.Unmarshal(data, &rawMsg); err != nil { 14269 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14270 } 14271 for key, val := range rawMsg { 14272 var err error 14273 switch key { 14274 case "etag": 14275 err = unpopulate(val, "Etag", &e.Etag) 14276 delete(rawMsg, key) 14277 case "id": 14278 err = unpopulate(val, "ID", &e.ID) 14279 delete(rawMsg, key) 14280 case "name": 14281 err = unpopulate(val, "Name", &e.Name) 14282 delete(rawMsg, key) 14283 case "properties": 14284 err = unpopulate(val, "Properties", &e.Properties) 14285 delete(rawMsg, key) 14286 case "type": 14287 err = unpopulate(val, "Type", &e.Type) 14288 delete(rawMsg, key) 14289 } 14290 if err != nil { 14291 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14292 } 14293 } 14294 return nil 14295 } 14296 14297 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortAuthorizationListResult. 14298 func (e ExpressRoutePortAuthorizationListResult) MarshalJSON() ([]byte, error) { 14299 objectMap := make(map[string]any) 14300 populate(objectMap, "nextLink", e.NextLink) 14301 populate(objectMap, "value", e.Value) 14302 return json.Marshal(objectMap) 14303 } 14304 14305 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortAuthorizationListResult. 14306 func (e *ExpressRoutePortAuthorizationListResult) UnmarshalJSON(data []byte) error { 14307 var rawMsg map[string]json.RawMessage 14308 if err := json.Unmarshal(data, &rawMsg); err != nil { 14309 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14310 } 14311 for key, val := range rawMsg { 14312 var err error 14313 switch key { 14314 case "nextLink": 14315 err = unpopulate(val, "NextLink", &e.NextLink) 14316 delete(rawMsg, key) 14317 case "value": 14318 err = unpopulate(val, "Value", &e.Value) 14319 delete(rawMsg, key) 14320 } 14321 if err != nil { 14322 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14323 } 14324 } 14325 return nil 14326 } 14327 14328 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortAuthorizationPropertiesFormat. 14329 func (e ExpressRoutePortAuthorizationPropertiesFormat) MarshalJSON() ([]byte, error) { 14330 objectMap := make(map[string]any) 14331 populate(objectMap, "authorizationKey", e.AuthorizationKey) 14332 populate(objectMap, "authorizationUseStatus", e.AuthorizationUseStatus) 14333 populate(objectMap, "circuitResourceUri", e.CircuitResourceURI) 14334 populate(objectMap, "provisioningState", e.ProvisioningState) 14335 return json.Marshal(objectMap) 14336 } 14337 14338 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortAuthorizationPropertiesFormat. 14339 func (e *ExpressRoutePortAuthorizationPropertiesFormat) UnmarshalJSON(data []byte) error { 14340 var rawMsg map[string]json.RawMessage 14341 if err := json.Unmarshal(data, &rawMsg); err != nil { 14342 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14343 } 14344 for key, val := range rawMsg { 14345 var err error 14346 switch key { 14347 case "authorizationKey": 14348 err = unpopulate(val, "AuthorizationKey", &e.AuthorizationKey) 14349 delete(rawMsg, key) 14350 case "authorizationUseStatus": 14351 err = unpopulate(val, "AuthorizationUseStatus", &e.AuthorizationUseStatus) 14352 delete(rawMsg, key) 14353 case "circuitResourceUri": 14354 err = unpopulate(val, "CircuitResourceURI", &e.CircuitResourceURI) 14355 delete(rawMsg, key) 14356 case "provisioningState": 14357 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 14358 delete(rawMsg, key) 14359 } 14360 if err != nil { 14361 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14362 } 14363 } 14364 return nil 14365 } 14366 14367 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortListResult. 14368 func (e ExpressRoutePortListResult) MarshalJSON() ([]byte, error) { 14369 objectMap := make(map[string]any) 14370 populate(objectMap, "nextLink", e.NextLink) 14371 populate(objectMap, "value", e.Value) 14372 return json.Marshal(objectMap) 14373 } 14374 14375 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortListResult. 14376 func (e *ExpressRoutePortListResult) UnmarshalJSON(data []byte) error { 14377 var rawMsg map[string]json.RawMessage 14378 if err := json.Unmarshal(data, &rawMsg); err != nil { 14379 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14380 } 14381 for key, val := range rawMsg { 14382 var err error 14383 switch key { 14384 case "nextLink": 14385 err = unpopulate(val, "NextLink", &e.NextLink) 14386 delete(rawMsg, key) 14387 case "value": 14388 err = unpopulate(val, "Value", &e.Value) 14389 delete(rawMsg, key) 14390 } 14391 if err != nil { 14392 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14393 } 14394 } 14395 return nil 14396 } 14397 14398 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortPropertiesFormat. 14399 func (e ExpressRoutePortPropertiesFormat) MarshalJSON() ([]byte, error) { 14400 objectMap := make(map[string]any) 14401 populate(objectMap, "allocationDate", e.AllocationDate) 14402 populate(objectMap, "bandwidthInGbps", e.BandwidthInGbps) 14403 populate(objectMap, "billingType", e.BillingType) 14404 populate(objectMap, "circuits", e.Circuits) 14405 populate(objectMap, "encapsulation", e.Encapsulation) 14406 populate(objectMap, "etherType", e.EtherType) 14407 populate(objectMap, "links", e.Links) 14408 populate(objectMap, "mtu", e.Mtu) 14409 populate(objectMap, "peeringLocation", e.PeeringLocation) 14410 populate(objectMap, "provisionedBandwidthInGbps", e.ProvisionedBandwidthInGbps) 14411 populate(objectMap, "provisioningState", e.ProvisioningState) 14412 populate(objectMap, "resourceGuid", e.ResourceGUID) 14413 return json.Marshal(objectMap) 14414 } 14415 14416 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortPropertiesFormat. 14417 func (e *ExpressRoutePortPropertiesFormat) UnmarshalJSON(data []byte) error { 14418 var rawMsg map[string]json.RawMessage 14419 if err := json.Unmarshal(data, &rawMsg); err != nil { 14420 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14421 } 14422 for key, val := range rawMsg { 14423 var err error 14424 switch key { 14425 case "allocationDate": 14426 err = unpopulate(val, "AllocationDate", &e.AllocationDate) 14427 delete(rawMsg, key) 14428 case "bandwidthInGbps": 14429 err = unpopulate(val, "BandwidthInGbps", &e.BandwidthInGbps) 14430 delete(rawMsg, key) 14431 case "billingType": 14432 err = unpopulate(val, "BillingType", &e.BillingType) 14433 delete(rawMsg, key) 14434 case "circuits": 14435 err = unpopulate(val, "Circuits", &e.Circuits) 14436 delete(rawMsg, key) 14437 case "encapsulation": 14438 err = unpopulate(val, "Encapsulation", &e.Encapsulation) 14439 delete(rawMsg, key) 14440 case "etherType": 14441 err = unpopulate(val, "EtherType", &e.EtherType) 14442 delete(rawMsg, key) 14443 case "links": 14444 err = unpopulate(val, "Links", &e.Links) 14445 delete(rawMsg, key) 14446 case "mtu": 14447 err = unpopulate(val, "Mtu", &e.Mtu) 14448 delete(rawMsg, key) 14449 case "peeringLocation": 14450 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 14451 delete(rawMsg, key) 14452 case "provisionedBandwidthInGbps": 14453 err = unpopulate(val, "ProvisionedBandwidthInGbps", &e.ProvisionedBandwidthInGbps) 14454 delete(rawMsg, key) 14455 case "provisioningState": 14456 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 14457 delete(rawMsg, key) 14458 case "resourceGuid": 14459 err = unpopulate(val, "ResourceGUID", &e.ResourceGUID) 14460 delete(rawMsg, key) 14461 } 14462 if err != nil { 14463 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14464 } 14465 } 14466 return nil 14467 } 14468 14469 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocation. 14470 func (e ExpressRoutePortsLocation) MarshalJSON() ([]byte, error) { 14471 objectMap := make(map[string]any) 14472 populate(objectMap, "id", e.ID) 14473 populate(objectMap, "location", e.Location) 14474 populate(objectMap, "name", e.Name) 14475 populate(objectMap, "properties", e.Properties) 14476 populate(objectMap, "tags", e.Tags) 14477 populate(objectMap, "type", e.Type) 14478 return json.Marshal(objectMap) 14479 } 14480 14481 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortsLocation. 14482 func (e *ExpressRoutePortsLocation) UnmarshalJSON(data []byte) error { 14483 var rawMsg map[string]json.RawMessage 14484 if err := json.Unmarshal(data, &rawMsg); err != nil { 14485 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14486 } 14487 for key, val := range rawMsg { 14488 var err error 14489 switch key { 14490 case "id": 14491 err = unpopulate(val, "ID", &e.ID) 14492 delete(rawMsg, key) 14493 case "location": 14494 err = unpopulate(val, "Location", &e.Location) 14495 delete(rawMsg, key) 14496 case "name": 14497 err = unpopulate(val, "Name", &e.Name) 14498 delete(rawMsg, key) 14499 case "properties": 14500 err = unpopulate(val, "Properties", &e.Properties) 14501 delete(rawMsg, key) 14502 case "tags": 14503 err = unpopulate(val, "Tags", &e.Tags) 14504 delete(rawMsg, key) 14505 case "type": 14506 err = unpopulate(val, "Type", &e.Type) 14507 delete(rawMsg, key) 14508 } 14509 if err != nil { 14510 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14511 } 14512 } 14513 return nil 14514 } 14515 14516 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationBandwidths. 14517 func (e ExpressRoutePortsLocationBandwidths) MarshalJSON() ([]byte, error) { 14518 objectMap := make(map[string]any) 14519 populate(objectMap, "offerName", e.OfferName) 14520 populate(objectMap, "valueInGbps", e.ValueInGbps) 14521 return json.Marshal(objectMap) 14522 } 14523 14524 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortsLocationBandwidths. 14525 func (e *ExpressRoutePortsLocationBandwidths) UnmarshalJSON(data []byte) error { 14526 var rawMsg map[string]json.RawMessage 14527 if err := json.Unmarshal(data, &rawMsg); err != nil { 14528 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14529 } 14530 for key, val := range rawMsg { 14531 var err error 14532 switch key { 14533 case "offerName": 14534 err = unpopulate(val, "OfferName", &e.OfferName) 14535 delete(rawMsg, key) 14536 case "valueInGbps": 14537 err = unpopulate(val, "ValueInGbps", &e.ValueInGbps) 14538 delete(rawMsg, key) 14539 } 14540 if err != nil { 14541 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14542 } 14543 } 14544 return nil 14545 } 14546 14547 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationListResult. 14548 func (e ExpressRoutePortsLocationListResult) MarshalJSON() ([]byte, error) { 14549 objectMap := make(map[string]any) 14550 populate(objectMap, "nextLink", e.NextLink) 14551 populate(objectMap, "value", e.Value) 14552 return json.Marshal(objectMap) 14553 } 14554 14555 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortsLocationListResult. 14556 func (e *ExpressRoutePortsLocationListResult) UnmarshalJSON(data []byte) error { 14557 var rawMsg map[string]json.RawMessage 14558 if err := json.Unmarshal(data, &rawMsg); err != nil { 14559 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14560 } 14561 for key, val := range rawMsg { 14562 var err error 14563 switch key { 14564 case "nextLink": 14565 err = unpopulate(val, "NextLink", &e.NextLink) 14566 delete(rawMsg, key) 14567 case "value": 14568 err = unpopulate(val, "Value", &e.Value) 14569 delete(rawMsg, key) 14570 } 14571 if err != nil { 14572 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14573 } 14574 } 14575 return nil 14576 } 14577 14578 // MarshalJSON implements the json.Marshaller interface for type ExpressRoutePortsLocationPropertiesFormat. 14579 func (e ExpressRoutePortsLocationPropertiesFormat) MarshalJSON() ([]byte, error) { 14580 objectMap := make(map[string]any) 14581 populate(objectMap, "address", e.Address) 14582 populate(objectMap, "availableBandwidths", e.AvailableBandwidths) 14583 populate(objectMap, "contact", e.Contact) 14584 populate(objectMap, "provisioningState", e.ProvisioningState) 14585 return json.Marshal(objectMap) 14586 } 14587 14588 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRoutePortsLocationPropertiesFormat. 14589 func (e *ExpressRoutePortsLocationPropertiesFormat) UnmarshalJSON(data []byte) error { 14590 var rawMsg map[string]json.RawMessage 14591 if err := json.Unmarshal(data, &rawMsg); err != nil { 14592 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14593 } 14594 for key, val := range rawMsg { 14595 var err error 14596 switch key { 14597 case "address": 14598 err = unpopulate(val, "Address", &e.Address) 14599 delete(rawMsg, key) 14600 case "availableBandwidths": 14601 err = unpopulate(val, "AvailableBandwidths", &e.AvailableBandwidths) 14602 delete(rawMsg, key) 14603 case "contact": 14604 err = unpopulate(val, "Contact", &e.Contact) 14605 delete(rawMsg, key) 14606 case "provisioningState": 14607 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 14608 delete(rawMsg, key) 14609 } 14610 if err != nil { 14611 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14612 } 14613 } 14614 return nil 14615 } 14616 14617 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteProviderPort. 14618 func (e ExpressRouteProviderPort) MarshalJSON() ([]byte, error) { 14619 objectMap := make(map[string]any) 14620 populate(objectMap, "etag", e.Etag) 14621 populate(objectMap, "id", e.ID) 14622 populate(objectMap, "location", e.Location) 14623 populate(objectMap, "name", e.Name) 14624 populate(objectMap, "properties", e.Properties) 14625 populate(objectMap, "tags", e.Tags) 14626 populate(objectMap, "type", e.Type) 14627 return json.Marshal(objectMap) 14628 } 14629 14630 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteProviderPort. 14631 func (e *ExpressRouteProviderPort) UnmarshalJSON(data []byte) error { 14632 var rawMsg map[string]json.RawMessage 14633 if err := json.Unmarshal(data, &rawMsg); err != nil { 14634 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14635 } 14636 for key, val := range rawMsg { 14637 var err error 14638 switch key { 14639 case "etag": 14640 err = unpopulate(val, "Etag", &e.Etag) 14641 delete(rawMsg, key) 14642 case "id": 14643 err = unpopulate(val, "ID", &e.ID) 14644 delete(rawMsg, key) 14645 case "location": 14646 err = unpopulate(val, "Location", &e.Location) 14647 delete(rawMsg, key) 14648 case "name": 14649 err = unpopulate(val, "Name", &e.Name) 14650 delete(rawMsg, key) 14651 case "properties": 14652 err = unpopulate(val, "Properties", &e.Properties) 14653 delete(rawMsg, key) 14654 case "tags": 14655 err = unpopulate(val, "Tags", &e.Tags) 14656 delete(rawMsg, key) 14657 case "type": 14658 err = unpopulate(val, "Type", &e.Type) 14659 delete(rawMsg, key) 14660 } 14661 if err != nil { 14662 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14663 } 14664 } 14665 return nil 14666 } 14667 14668 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteProviderPortListResult. 14669 func (e ExpressRouteProviderPortListResult) MarshalJSON() ([]byte, error) { 14670 objectMap := make(map[string]any) 14671 populate(objectMap, "nextLink", e.NextLink) 14672 populate(objectMap, "value", e.Value) 14673 return json.Marshal(objectMap) 14674 } 14675 14676 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteProviderPortListResult. 14677 func (e *ExpressRouteProviderPortListResult) UnmarshalJSON(data []byte) error { 14678 var rawMsg map[string]json.RawMessage 14679 if err := json.Unmarshal(data, &rawMsg); err != nil { 14680 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14681 } 14682 for key, val := range rawMsg { 14683 var err error 14684 switch key { 14685 case "nextLink": 14686 err = unpopulate(val, "NextLink", &e.NextLink) 14687 delete(rawMsg, key) 14688 case "value": 14689 err = unpopulate(val, "Value", &e.Value) 14690 delete(rawMsg, key) 14691 } 14692 if err != nil { 14693 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14694 } 14695 } 14696 return nil 14697 } 14698 14699 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteProviderPortProperties. 14700 func (e ExpressRouteProviderPortProperties) MarshalJSON() ([]byte, error) { 14701 objectMap := make(map[string]any) 14702 populate(objectMap, "overprovisionFactor", e.OverprovisionFactor) 14703 populate(objectMap, "peeringLocation", e.PeeringLocation) 14704 populate(objectMap, "portBandwidthInMbps", e.PortBandwidthInMbps) 14705 populate(objectMap, "portPairDescriptor", e.PortPairDescriptor) 14706 populate(objectMap, "primaryAzurePort", e.PrimaryAzurePort) 14707 populate(objectMap, "remainingBandwidthInMbps", e.RemainingBandwidthInMbps) 14708 populate(objectMap, "secondaryAzurePort", e.SecondaryAzurePort) 14709 populate(objectMap, "usedBandwidthInMbps", e.UsedBandwidthInMbps) 14710 return json.Marshal(objectMap) 14711 } 14712 14713 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteProviderPortProperties. 14714 func (e *ExpressRouteProviderPortProperties) UnmarshalJSON(data []byte) error { 14715 var rawMsg map[string]json.RawMessage 14716 if err := json.Unmarshal(data, &rawMsg); err != nil { 14717 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14718 } 14719 for key, val := range rawMsg { 14720 var err error 14721 switch key { 14722 case "overprovisionFactor": 14723 err = unpopulate(val, "OverprovisionFactor", &e.OverprovisionFactor) 14724 delete(rawMsg, key) 14725 case "peeringLocation": 14726 err = unpopulate(val, "PeeringLocation", &e.PeeringLocation) 14727 delete(rawMsg, key) 14728 case "portBandwidthInMbps": 14729 err = unpopulate(val, "PortBandwidthInMbps", &e.PortBandwidthInMbps) 14730 delete(rawMsg, key) 14731 case "portPairDescriptor": 14732 err = unpopulate(val, "PortPairDescriptor", &e.PortPairDescriptor) 14733 delete(rawMsg, key) 14734 case "primaryAzurePort": 14735 err = unpopulate(val, "PrimaryAzurePort", &e.PrimaryAzurePort) 14736 delete(rawMsg, key) 14737 case "remainingBandwidthInMbps": 14738 err = unpopulate(val, "RemainingBandwidthInMbps", &e.RemainingBandwidthInMbps) 14739 delete(rawMsg, key) 14740 case "secondaryAzurePort": 14741 err = unpopulate(val, "SecondaryAzurePort", &e.SecondaryAzurePort) 14742 delete(rawMsg, key) 14743 case "usedBandwidthInMbps": 14744 err = unpopulate(val, "UsedBandwidthInMbps", &e.UsedBandwidthInMbps) 14745 delete(rawMsg, key) 14746 } 14747 if err != nil { 14748 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14749 } 14750 } 14751 return nil 14752 } 14753 14754 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProvider. 14755 func (e ExpressRouteServiceProvider) MarshalJSON() ([]byte, error) { 14756 objectMap := make(map[string]any) 14757 populate(objectMap, "id", e.ID) 14758 populate(objectMap, "location", e.Location) 14759 populate(objectMap, "name", e.Name) 14760 populate(objectMap, "properties", e.Properties) 14761 populate(objectMap, "tags", e.Tags) 14762 populate(objectMap, "type", e.Type) 14763 return json.Marshal(objectMap) 14764 } 14765 14766 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteServiceProvider. 14767 func (e *ExpressRouteServiceProvider) UnmarshalJSON(data []byte) error { 14768 var rawMsg map[string]json.RawMessage 14769 if err := json.Unmarshal(data, &rawMsg); err != nil { 14770 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14771 } 14772 for key, val := range rawMsg { 14773 var err error 14774 switch key { 14775 case "id": 14776 err = unpopulate(val, "ID", &e.ID) 14777 delete(rawMsg, key) 14778 case "location": 14779 err = unpopulate(val, "Location", &e.Location) 14780 delete(rawMsg, key) 14781 case "name": 14782 err = unpopulate(val, "Name", &e.Name) 14783 delete(rawMsg, key) 14784 case "properties": 14785 err = unpopulate(val, "Properties", &e.Properties) 14786 delete(rawMsg, key) 14787 case "tags": 14788 err = unpopulate(val, "Tags", &e.Tags) 14789 delete(rawMsg, key) 14790 case "type": 14791 err = unpopulate(val, "Type", &e.Type) 14792 delete(rawMsg, key) 14793 } 14794 if err != nil { 14795 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14796 } 14797 } 14798 return nil 14799 } 14800 14801 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderBandwidthsOffered. 14802 func (e ExpressRouteServiceProviderBandwidthsOffered) MarshalJSON() ([]byte, error) { 14803 objectMap := make(map[string]any) 14804 populate(objectMap, "offerName", e.OfferName) 14805 populate(objectMap, "valueInMbps", e.ValueInMbps) 14806 return json.Marshal(objectMap) 14807 } 14808 14809 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteServiceProviderBandwidthsOffered. 14810 func (e *ExpressRouteServiceProviderBandwidthsOffered) UnmarshalJSON(data []byte) error { 14811 var rawMsg map[string]json.RawMessage 14812 if err := json.Unmarshal(data, &rawMsg); err != nil { 14813 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14814 } 14815 for key, val := range rawMsg { 14816 var err error 14817 switch key { 14818 case "offerName": 14819 err = unpopulate(val, "OfferName", &e.OfferName) 14820 delete(rawMsg, key) 14821 case "valueInMbps": 14822 err = unpopulate(val, "ValueInMbps", &e.ValueInMbps) 14823 delete(rawMsg, key) 14824 } 14825 if err != nil { 14826 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14827 } 14828 } 14829 return nil 14830 } 14831 14832 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderListResult. 14833 func (e ExpressRouteServiceProviderListResult) MarshalJSON() ([]byte, error) { 14834 objectMap := make(map[string]any) 14835 populate(objectMap, "nextLink", e.NextLink) 14836 populate(objectMap, "value", e.Value) 14837 return json.Marshal(objectMap) 14838 } 14839 14840 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteServiceProviderListResult. 14841 func (e *ExpressRouteServiceProviderListResult) UnmarshalJSON(data []byte) error { 14842 var rawMsg map[string]json.RawMessage 14843 if err := json.Unmarshal(data, &rawMsg); err != nil { 14844 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14845 } 14846 for key, val := range rawMsg { 14847 var err error 14848 switch key { 14849 case "nextLink": 14850 err = unpopulate(val, "NextLink", &e.NextLink) 14851 delete(rawMsg, key) 14852 case "value": 14853 err = unpopulate(val, "Value", &e.Value) 14854 delete(rawMsg, key) 14855 } 14856 if err != nil { 14857 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14858 } 14859 } 14860 return nil 14861 } 14862 14863 // MarshalJSON implements the json.Marshaller interface for type ExpressRouteServiceProviderPropertiesFormat. 14864 func (e ExpressRouteServiceProviderPropertiesFormat) MarshalJSON() ([]byte, error) { 14865 objectMap := make(map[string]any) 14866 populate(objectMap, "bandwidthsOffered", e.BandwidthsOffered) 14867 populate(objectMap, "peeringLocations", e.PeeringLocations) 14868 populate(objectMap, "provisioningState", e.ProvisioningState) 14869 return json.Marshal(objectMap) 14870 } 14871 14872 // UnmarshalJSON implements the json.Unmarshaller interface for type ExpressRouteServiceProviderPropertiesFormat. 14873 func (e *ExpressRouteServiceProviderPropertiesFormat) UnmarshalJSON(data []byte) error { 14874 var rawMsg map[string]json.RawMessage 14875 if err := json.Unmarshal(data, &rawMsg); err != nil { 14876 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14877 } 14878 for key, val := range rawMsg { 14879 var err error 14880 switch key { 14881 case "bandwidthsOffered": 14882 err = unpopulate(val, "BandwidthsOffered", &e.BandwidthsOffered) 14883 delete(rawMsg, key) 14884 case "peeringLocations": 14885 err = unpopulate(val, "PeeringLocations", &e.PeeringLocations) 14886 delete(rawMsg, key) 14887 case "provisioningState": 14888 err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) 14889 delete(rawMsg, key) 14890 } 14891 if err != nil { 14892 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14893 } 14894 } 14895 return nil 14896 } 14897 14898 // MarshalJSON implements the json.Marshaller interface for type ExtendedLocation. 14899 func (e ExtendedLocation) MarshalJSON() ([]byte, error) { 14900 objectMap := make(map[string]any) 14901 populate(objectMap, "name", e.Name) 14902 populate(objectMap, "type", e.Type) 14903 return json.Marshal(objectMap) 14904 } 14905 14906 // UnmarshalJSON implements the json.Unmarshaller interface for type ExtendedLocation. 14907 func (e *ExtendedLocation) UnmarshalJSON(data []byte) error { 14908 var rawMsg map[string]json.RawMessage 14909 if err := json.Unmarshal(data, &rawMsg); err != nil { 14910 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14911 } 14912 for key, val := range rawMsg { 14913 var err error 14914 switch key { 14915 case "name": 14916 err = unpopulate(val, "Name", &e.Name) 14917 delete(rawMsg, key) 14918 case "type": 14919 err = unpopulate(val, "Type", &e.Type) 14920 delete(rawMsg, key) 14921 } 14922 if err != nil { 14923 return fmt.Errorf("unmarshalling type %T: %v", e, err) 14924 } 14925 } 14926 return nil 14927 } 14928 14929 // MarshalJSON implements the json.Marshaller interface for type FailoverConnectionDetails. 14930 func (f FailoverConnectionDetails) MarshalJSON() ([]byte, error) { 14931 objectMap := make(map[string]any) 14932 populate(objectMap, "failoverConnectionName", f.FailoverConnectionName) 14933 populate(objectMap, "failoverLocation", f.FailoverLocation) 14934 populate(objectMap, "isVerified", f.IsVerified) 14935 return json.Marshal(objectMap) 14936 } 14937 14938 // UnmarshalJSON implements the json.Unmarshaller interface for type FailoverConnectionDetails. 14939 func (f *FailoverConnectionDetails) UnmarshalJSON(data []byte) error { 14940 var rawMsg map[string]json.RawMessage 14941 if err := json.Unmarshal(data, &rawMsg); err != nil { 14942 return fmt.Errorf("unmarshalling type %T: %v", f, err) 14943 } 14944 for key, val := range rawMsg { 14945 var err error 14946 switch key { 14947 case "failoverConnectionName": 14948 err = unpopulate(val, "FailoverConnectionName", &f.FailoverConnectionName) 14949 delete(rawMsg, key) 14950 case "failoverLocation": 14951 err = unpopulate(val, "FailoverLocation", &f.FailoverLocation) 14952 delete(rawMsg, key) 14953 case "isVerified": 14954 err = unpopulate(val, "IsVerified", &f.IsVerified) 14955 delete(rawMsg, key) 14956 } 14957 if err != nil { 14958 return fmt.Errorf("unmarshalling type %T: %v", f, err) 14959 } 14960 } 14961 return nil 14962 } 14963 14964 // MarshalJSON implements the json.Marshaller interface for type FilterItems. 14965 func (f FilterItems) MarshalJSON() ([]byte, error) { 14966 objectMap := make(map[string]any) 14967 populate(objectMap, "field", f.Field) 14968 populate(objectMap, "values", f.Values) 14969 return json.Marshal(objectMap) 14970 } 14971 14972 // UnmarshalJSON implements the json.Unmarshaller interface for type FilterItems. 14973 func (f *FilterItems) UnmarshalJSON(data []byte) error { 14974 var rawMsg map[string]json.RawMessage 14975 if err := json.Unmarshal(data, &rawMsg); err != nil { 14976 return fmt.Errorf("unmarshalling type %T: %v", f, err) 14977 } 14978 for key, val := range rawMsg { 14979 var err error 14980 switch key { 14981 case "field": 14982 err = unpopulate(val, "Field", &f.Field) 14983 delete(rawMsg, key) 14984 case "values": 14985 err = unpopulate(val, "Values", &f.Values) 14986 delete(rawMsg, key) 14987 } 14988 if err != nil { 14989 return fmt.Errorf("unmarshalling type %T: %v", f, err) 14990 } 14991 } 14992 return nil 14993 } 14994 14995 // MarshalJSON implements the json.Marshaller interface for type FirewallPacketCaptureParameters. 14996 func (f FirewallPacketCaptureParameters) MarshalJSON() ([]byte, error) { 14997 objectMap := make(map[string]any) 14998 populate(objectMap, "durationInSeconds", f.DurationInSeconds) 14999 populate(objectMap, "fileName", f.FileName) 15000 populate(objectMap, "filters", f.Filters) 15001 populate(objectMap, "flags", f.Flags) 15002 populate(objectMap, "numberOfPacketsToCapture", f.NumberOfPacketsToCapture) 15003 populate(objectMap, "protocol", f.Protocol) 15004 populate(objectMap, "sasUrl", f.SasURL) 15005 return json.Marshal(objectMap) 15006 } 15007 15008 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPacketCaptureParameters. 15009 func (f *FirewallPacketCaptureParameters) UnmarshalJSON(data []byte) error { 15010 var rawMsg map[string]json.RawMessage 15011 if err := json.Unmarshal(data, &rawMsg); err != nil { 15012 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15013 } 15014 for key, val := range rawMsg { 15015 var err error 15016 switch key { 15017 case "durationInSeconds": 15018 err = unpopulate(val, "DurationInSeconds", &f.DurationInSeconds) 15019 delete(rawMsg, key) 15020 case "fileName": 15021 err = unpopulate(val, "FileName", &f.FileName) 15022 delete(rawMsg, key) 15023 case "filters": 15024 err = unpopulate(val, "Filters", &f.Filters) 15025 delete(rawMsg, key) 15026 case "flags": 15027 err = unpopulate(val, "Flags", &f.Flags) 15028 delete(rawMsg, key) 15029 case "numberOfPacketsToCapture": 15030 err = unpopulate(val, "NumberOfPacketsToCapture", &f.NumberOfPacketsToCapture) 15031 delete(rawMsg, key) 15032 case "protocol": 15033 err = unpopulate(val, "Protocol", &f.Protocol) 15034 delete(rawMsg, key) 15035 case "sasUrl": 15036 err = unpopulate(val, "SasURL", &f.SasURL) 15037 delete(rawMsg, key) 15038 } 15039 if err != nil { 15040 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15041 } 15042 } 15043 return nil 15044 } 15045 15046 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicy. 15047 func (f FirewallPolicy) MarshalJSON() ([]byte, error) { 15048 objectMap := make(map[string]any) 15049 populate(objectMap, "etag", f.Etag) 15050 populate(objectMap, "id", f.ID) 15051 populate(objectMap, "identity", f.Identity) 15052 populate(objectMap, "location", f.Location) 15053 populate(objectMap, "name", f.Name) 15054 populate(objectMap, "properties", f.Properties) 15055 populate(objectMap, "tags", f.Tags) 15056 populate(objectMap, "type", f.Type) 15057 return json.Marshal(objectMap) 15058 } 15059 15060 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicy. 15061 func (f *FirewallPolicy) UnmarshalJSON(data []byte) error { 15062 var rawMsg map[string]json.RawMessage 15063 if err := json.Unmarshal(data, &rawMsg); err != nil { 15064 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15065 } 15066 for key, val := range rawMsg { 15067 var err error 15068 switch key { 15069 case "etag": 15070 err = unpopulate(val, "Etag", &f.Etag) 15071 delete(rawMsg, key) 15072 case "id": 15073 err = unpopulate(val, "ID", &f.ID) 15074 delete(rawMsg, key) 15075 case "identity": 15076 err = unpopulate(val, "Identity", &f.Identity) 15077 delete(rawMsg, key) 15078 case "location": 15079 err = unpopulate(val, "Location", &f.Location) 15080 delete(rawMsg, key) 15081 case "name": 15082 err = unpopulate(val, "Name", &f.Name) 15083 delete(rawMsg, key) 15084 case "properties": 15085 err = unpopulate(val, "Properties", &f.Properties) 15086 delete(rawMsg, key) 15087 case "tags": 15088 err = unpopulate(val, "Tags", &f.Tags) 15089 delete(rawMsg, key) 15090 case "type": 15091 err = unpopulate(val, "Type", &f.Type) 15092 delete(rawMsg, key) 15093 } 15094 if err != nil { 15095 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15096 } 15097 } 15098 return nil 15099 } 15100 15101 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyCertificateAuthority. 15102 func (f FirewallPolicyCertificateAuthority) MarshalJSON() ([]byte, error) { 15103 objectMap := make(map[string]any) 15104 populate(objectMap, "keyVaultSecretId", f.KeyVaultSecretID) 15105 populate(objectMap, "name", f.Name) 15106 return json.Marshal(objectMap) 15107 } 15108 15109 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyCertificateAuthority. 15110 func (f *FirewallPolicyCertificateAuthority) UnmarshalJSON(data []byte) error { 15111 var rawMsg map[string]json.RawMessage 15112 if err := json.Unmarshal(data, &rawMsg); err != nil { 15113 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15114 } 15115 for key, val := range rawMsg { 15116 var err error 15117 switch key { 15118 case "keyVaultSecretId": 15119 err = unpopulate(val, "KeyVaultSecretID", &f.KeyVaultSecretID) 15120 delete(rawMsg, key) 15121 case "name": 15122 err = unpopulate(val, "Name", &f.Name) 15123 delete(rawMsg, key) 15124 } 15125 if err != nil { 15126 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15127 } 15128 } 15129 return nil 15130 } 15131 15132 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyDraft. 15133 func (f FirewallPolicyDraft) MarshalJSON() ([]byte, error) { 15134 objectMap := make(map[string]any) 15135 populate(objectMap, "id", f.ID) 15136 populate(objectMap, "location", f.Location) 15137 populate(objectMap, "name", f.Name) 15138 populate(objectMap, "properties", f.Properties) 15139 populate(objectMap, "tags", f.Tags) 15140 populate(objectMap, "type", f.Type) 15141 return json.Marshal(objectMap) 15142 } 15143 15144 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyDraft. 15145 func (f *FirewallPolicyDraft) UnmarshalJSON(data []byte) error { 15146 var rawMsg map[string]json.RawMessage 15147 if err := json.Unmarshal(data, &rawMsg); err != nil { 15148 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15149 } 15150 for key, val := range rawMsg { 15151 var err error 15152 switch key { 15153 case "id": 15154 err = unpopulate(val, "ID", &f.ID) 15155 delete(rawMsg, key) 15156 case "location": 15157 err = unpopulate(val, "Location", &f.Location) 15158 delete(rawMsg, key) 15159 case "name": 15160 err = unpopulate(val, "Name", &f.Name) 15161 delete(rawMsg, key) 15162 case "properties": 15163 err = unpopulate(val, "Properties", &f.Properties) 15164 delete(rawMsg, key) 15165 case "tags": 15166 err = unpopulate(val, "Tags", &f.Tags) 15167 delete(rawMsg, key) 15168 case "type": 15169 err = unpopulate(val, "Type", &f.Type) 15170 delete(rawMsg, key) 15171 } 15172 if err != nil { 15173 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15174 } 15175 } 15176 return nil 15177 } 15178 15179 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyDraftProperties. 15180 func (f FirewallPolicyDraftProperties) MarshalJSON() ([]byte, error) { 15181 objectMap := make(map[string]any) 15182 populate(objectMap, "basePolicy", f.BasePolicy) 15183 populate(objectMap, "dnsSettings", f.DNSSettings) 15184 populate(objectMap, "explicitProxy", f.ExplicitProxy) 15185 populate(objectMap, "insights", f.Insights) 15186 populate(objectMap, "intrusionDetection", f.IntrusionDetection) 15187 populate(objectMap, "sql", f.SQL) 15188 populate(objectMap, "snat", f.Snat) 15189 populate(objectMap, "threatIntelMode", f.ThreatIntelMode) 15190 populate(objectMap, "threatIntelWhitelist", f.ThreatIntelWhitelist) 15191 return json.Marshal(objectMap) 15192 } 15193 15194 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyDraftProperties. 15195 func (f *FirewallPolicyDraftProperties) UnmarshalJSON(data []byte) error { 15196 var rawMsg map[string]json.RawMessage 15197 if err := json.Unmarshal(data, &rawMsg); err != nil { 15198 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15199 } 15200 for key, val := range rawMsg { 15201 var err error 15202 switch key { 15203 case "basePolicy": 15204 err = unpopulate(val, "BasePolicy", &f.BasePolicy) 15205 delete(rawMsg, key) 15206 case "dnsSettings": 15207 err = unpopulate(val, "DNSSettings", &f.DNSSettings) 15208 delete(rawMsg, key) 15209 case "explicitProxy": 15210 err = unpopulate(val, "ExplicitProxy", &f.ExplicitProxy) 15211 delete(rawMsg, key) 15212 case "insights": 15213 err = unpopulate(val, "Insights", &f.Insights) 15214 delete(rawMsg, key) 15215 case "intrusionDetection": 15216 err = unpopulate(val, "IntrusionDetection", &f.IntrusionDetection) 15217 delete(rawMsg, key) 15218 case "sql": 15219 err = unpopulate(val, "SQL", &f.SQL) 15220 delete(rawMsg, key) 15221 case "snat": 15222 err = unpopulate(val, "Snat", &f.Snat) 15223 delete(rawMsg, key) 15224 case "threatIntelMode": 15225 err = unpopulate(val, "ThreatIntelMode", &f.ThreatIntelMode) 15226 delete(rawMsg, key) 15227 case "threatIntelWhitelist": 15228 err = unpopulate(val, "ThreatIntelWhitelist", &f.ThreatIntelWhitelist) 15229 delete(rawMsg, key) 15230 } 15231 if err != nil { 15232 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15233 } 15234 } 15235 return nil 15236 } 15237 15238 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyFilterRuleCollection. 15239 func (f FirewallPolicyFilterRuleCollection) MarshalJSON() ([]byte, error) { 15240 objectMap := make(map[string]any) 15241 populate(objectMap, "action", f.Action) 15242 populate(objectMap, "name", f.Name) 15243 populate(objectMap, "priority", f.Priority) 15244 objectMap["ruleCollectionType"] = FirewallPolicyRuleCollectionTypeFirewallPolicyFilterRuleCollection 15245 populate(objectMap, "rules", f.Rules) 15246 return json.Marshal(objectMap) 15247 } 15248 15249 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyFilterRuleCollection. 15250 func (f *FirewallPolicyFilterRuleCollection) UnmarshalJSON(data []byte) error { 15251 var rawMsg map[string]json.RawMessage 15252 if err := json.Unmarshal(data, &rawMsg); err != nil { 15253 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15254 } 15255 for key, val := range rawMsg { 15256 var err error 15257 switch key { 15258 case "action": 15259 err = unpopulate(val, "Action", &f.Action) 15260 delete(rawMsg, key) 15261 case "name": 15262 err = unpopulate(val, "Name", &f.Name) 15263 delete(rawMsg, key) 15264 case "priority": 15265 err = unpopulate(val, "Priority", &f.Priority) 15266 delete(rawMsg, key) 15267 case "ruleCollectionType": 15268 err = unpopulate(val, "RuleCollectionType", &f.RuleCollectionType) 15269 delete(rawMsg, key) 15270 case "rules": 15271 f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(val) 15272 delete(rawMsg, key) 15273 } 15274 if err != nil { 15275 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15276 } 15277 } 15278 return nil 15279 } 15280 15281 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyFilterRuleCollectionAction. 15282 func (f FirewallPolicyFilterRuleCollectionAction) MarshalJSON() ([]byte, error) { 15283 objectMap := make(map[string]any) 15284 populate(objectMap, "type", f.Type) 15285 return json.Marshal(objectMap) 15286 } 15287 15288 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyFilterRuleCollectionAction. 15289 func (f *FirewallPolicyFilterRuleCollectionAction) UnmarshalJSON(data []byte) error { 15290 var rawMsg map[string]json.RawMessage 15291 if err := json.Unmarshal(data, &rawMsg); err != nil { 15292 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15293 } 15294 for key, val := range rawMsg { 15295 var err error 15296 switch key { 15297 case "type": 15298 err = unpopulate(val, "Type", &f.Type) 15299 delete(rawMsg, key) 15300 } 15301 if err != nil { 15302 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15303 } 15304 } 15305 return nil 15306 } 15307 15308 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyHTTPHeaderToInsert. 15309 func (f FirewallPolicyHTTPHeaderToInsert) MarshalJSON() ([]byte, error) { 15310 objectMap := make(map[string]any) 15311 populate(objectMap, "headerName", f.HeaderName) 15312 populate(objectMap, "headerValue", f.HeaderValue) 15313 return json.Marshal(objectMap) 15314 } 15315 15316 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyHTTPHeaderToInsert. 15317 func (f *FirewallPolicyHTTPHeaderToInsert) UnmarshalJSON(data []byte) error { 15318 var rawMsg map[string]json.RawMessage 15319 if err := json.Unmarshal(data, &rawMsg); err != nil { 15320 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15321 } 15322 for key, val := range rawMsg { 15323 var err error 15324 switch key { 15325 case "headerName": 15326 err = unpopulate(val, "HeaderName", &f.HeaderName) 15327 delete(rawMsg, key) 15328 case "headerValue": 15329 err = unpopulate(val, "HeaderValue", &f.HeaderValue) 15330 delete(rawMsg, key) 15331 } 15332 if err != nil { 15333 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15334 } 15335 } 15336 return nil 15337 } 15338 15339 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyInsights. 15340 func (f FirewallPolicyInsights) MarshalJSON() ([]byte, error) { 15341 objectMap := make(map[string]any) 15342 populate(objectMap, "isEnabled", f.IsEnabled) 15343 populate(objectMap, "logAnalyticsResources", f.LogAnalyticsResources) 15344 populate(objectMap, "retentionDays", f.RetentionDays) 15345 return json.Marshal(objectMap) 15346 } 15347 15348 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyInsights. 15349 func (f *FirewallPolicyInsights) UnmarshalJSON(data []byte) error { 15350 var rawMsg map[string]json.RawMessage 15351 if err := json.Unmarshal(data, &rawMsg); err != nil { 15352 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15353 } 15354 for key, val := range rawMsg { 15355 var err error 15356 switch key { 15357 case "isEnabled": 15358 err = unpopulate(val, "IsEnabled", &f.IsEnabled) 15359 delete(rawMsg, key) 15360 case "logAnalyticsResources": 15361 err = unpopulate(val, "LogAnalyticsResources", &f.LogAnalyticsResources) 15362 delete(rawMsg, key) 15363 case "retentionDays": 15364 err = unpopulate(val, "RetentionDays", &f.RetentionDays) 15365 delete(rawMsg, key) 15366 } 15367 if err != nil { 15368 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15369 } 15370 } 15371 return nil 15372 } 15373 15374 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetection. 15375 func (f FirewallPolicyIntrusionDetection) MarshalJSON() ([]byte, error) { 15376 objectMap := make(map[string]any) 15377 populate(objectMap, "configuration", f.Configuration) 15378 populate(objectMap, "mode", f.Mode) 15379 populate(objectMap, "profile", f.Profile) 15380 return json.Marshal(objectMap) 15381 } 15382 15383 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyIntrusionDetection. 15384 func (f *FirewallPolicyIntrusionDetection) UnmarshalJSON(data []byte) error { 15385 var rawMsg map[string]json.RawMessage 15386 if err := json.Unmarshal(data, &rawMsg); err != nil { 15387 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15388 } 15389 for key, val := range rawMsg { 15390 var err error 15391 switch key { 15392 case "configuration": 15393 err = unpopulate(val, "Configuration", &f.Configuration) 15394 delete(rawMsg, key) 15395 case "mode": 15396 err = unpopulate(val, "Mode", &f.Mode) 15397 delete(rawMsg, key) 15398 case "profile": 15399 err = unpopulate(val, "Profile", &f.Profile) 15400 delete(rawMsg, key) 15401 } 15402 if err != nil { 15403 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15404 } 15405 } 15406 return nil 15407 } 15408 15409 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications. 15410 func (f FirewallPolicyIntrusionDetectionBypassTrafficSpecifications) MarshalJSON() ([]byte, error) { 15411 objectMap := make(map[string]any) 15412 populate(objectMap, "description", f.Description) 15413 populate(objectMap, "destinationAddresses", f.DestinationAddresses) 15414 populate(objectMap, "destinationIpGroups", f.DestinationIPGroups) 15415 populate(objectMap, "destinationPorts", f.DestinationPorts) 15416 populate(objectMap, "name", f.Name) 15417 populate(objectMap, "protocol", f.Protocol) 15418 populate(objectMap, "sourceAddresses", f.SourceAddresses) 15419 populate(objectMap, "sourceIpGroups", f.SourceIPGroups) 15420 return json.Marshal(objectMap) 15421 } 15422 15423 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyIntrusionDetectionBypassTrafficSpecifications. 15424 func (f *FirewallPolicyIntrusionDetectionBypassTrafficSpecifications) UnmarshalJSON(data []byte) error { 15425 var rawMsg map[string]json.RawMessage 15426 if err := json.Unmarshal(data, &rawMsg); err != nil { 15427 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15428 } 15429 for key, val := range rawMsg { 15430 var err error 15431 switch key { 15432 case "description": 15433 err = unpopulate(val, "Description", &f.Description) 15434 delete(rawMsg, key) 15435 case "destinationAddresses": 15436 err = unpopulate(val, "DestinationAddresses", &f.DestinationAddresses) 15437 delete(rawMsg, key) 15438 case "destinationIpGroups": 15439 err = unpopulate(val, "DestinationIPGroups", &f.DestinationIPGroups) 15440 delete(rawMsg, key) 15441 case "destinationPorts": 15442 err = unpopulate(val, "DestinationPorts", &f.DestinationPorts) 15443 delete(rawMsg, key) 15444 case "name": 15445 err = unpopulate(val, "Name", &f.Name) 15446 delete(rawMsg, key) 15447 case "protocol": 15448 err = unpopulate(val, "Protocol", &f.Protocol) 15449 delete(rawMsg, key) 15450 case "sourceAddresses": 15451 err = unpopulate(val, "SourceAddresses", &f.SourceAddresses) 15452 delete(rawMsg, key) 15453 case "sourceIpGroups": 15454 err = unpopulate(val, "SourceIPGroups", &f.SourceIPGroups) 15455 delete(rawMsg, key) 15456 } 15457 if err != nil { 15458 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15459 } 15460 } 15461 return nil 15462 } 15463 15464 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionConfiguration. 15465 func (f FirewallPolicyIntrusionDetectionConfiguration) MarshalJSON() ([]byte, error) { 15466 objectMap := make(map[string]any) 15467 populate(objectMap, "bypassTrafficSettings", f.BypassTrafficSettings) 15468 populate(objectMap, "privateRanges", f.PrivateRanges) 15469 populate(objectMap, "signatureOverrides", f.SignatureOverrides) 15470 return json.Marshal(objectMap) 15471 } 15472 15473 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyIntrusionDetectionConfiguration. 15474 func (f *FirewallPolicyIntrusionDetectionConfiguration) UnmarshalJSON(data []byte) error { 15475 var rawMsg map[string]json.RawMessage 15476 if err := json.Unmarshal(data, &rawMsg); err != nil { 15477 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15478 } 15479 for key, val := range rawMsg { 15480 var err error 15481 switch key { 15482 case "bypassTrafficSettings": 15483 err = unpopulate(val, "BypassTrafficSettings", &f.BypassTrafficSettings) 15484 delete(rawMsg, key) 15485 case "privateRanges": 15486 err = unpopulate(val, "PrivateRanges", &f.PrivateRanges) 15487 delete(rawMsg, key) 15488 case "signatureOverrides": 15489 err = unpopulate(val, "SignatureOverrides", &f.SignatureOverrides) 15490 delete(rawMsg, key) 15491 } 15492 if err != nil { 15493 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15494 } 15495 } 15496 return nil 15497 } 15498 15499 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyIntrusionDetectionSignatureSpecification. 15500 func (f FirewallPolicyIntrusionDetectionSignatureSpecification) MarshalJSON() ([]byte, error) { 15501 objectMap := make(map[string]any) 15502 populate(objectMap, "id", f.ID) 15503 populate(objectMap, "mode", f.Mode) 15504 return json.Marshal(objectMap) 15505 } 15506 15507 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyIntrusionDetectionSignatureSpecification. 15508 func (f *FirewallPolicyIntrusionDetectionSignatureSpecification) UnmarshalJSON(data []byte) error { 15509 var rawMsg map[string]json.RawMessage 15510 if err := json.Unmarshal(data, &rawMsg); err != nil { 15511 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15512 } 15513 for key, val := range rawMsg { 15514 var err error 15515 switch key { 15516 case "id": 15517 err = unpopulate(val, "ID", &f.ID) 15518 delete(rawMsg, key) 15519 case "mode": 15520 err = unpopulate(val, "Mode", &f.Mode) 15521 delete(rawMsg, key) 15522 } 15523 if err != nil { 15524 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15525 } 15526 } 15527 return nil 15528 } 15529 15530 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyListResult. 15531 func (f FirewallPolicyListResult) MarshalJSON() ([]byte, error) { 15532 objectMap := make(map[string]any) 15533 populate(objectMap, "nextLink", f.NextLink) 15534 populate(objectMap, "value", f.Value) 15535 return json.Marshal(objectMap) 15536 } 15537 15538 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyListResult. 15539 func (f *FirewallPolicyListResult) UnmarshalJSON(data []byte) error { 15540 var rawMsg map[string]json.RawMessage 15541 if err := json.Unmarshal(data, &rawMsg); err != nil { 15542 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15543 } 15544 for key, val := range rawMsg { 15545 var err error 15546 switch key { 15547 case "nextLink": 15548 err = unpopulate(val, "NextLink", &f.NextLink) 15549 delete(rawMsg, key) 15550 case "value": 15551 err = unpopulate(val, "Value", &f.Value) 15552 delete(rawMsg, key) 15553 } 15554 if err != nil { 15555 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15556 } 15557 } 15558 return nil 15559 } 15560 15561 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyLogAnalyticsResources. 15562 func (f FirewallPolicyLogAnalyticsResources) MarshalJSON() ([]byte, error) { 15563 objectMap := make(map[string]any) 15564 populate(objectMap, "defaultWorkspaceId", f.DefaultWorkspaceID) 15565 populate(objectMap, "workspaces", f.Workspaces) 15566 return json.Marshal(objectMap) 15567 } 15568 15569 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyLogAnalyticsResources. 15570 func (f *FirewallPolicyLogAnalyticsResources) UnmarshalJSON(data []byte) error { 15571 var rawMsg map[string]json.RawMessage 15572 if err := json.Unmarshal(data, &rawMsg); err != nil { 15573 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15574 } 15575 for key, val := range rawMsg { 15576 var err error 15577 switch key { 15578 case "defaultWorkspaceId": 15579 err = unpopulate(val, "DefaultWorkspaceID", &f.DefaultWorkspaceID) 15580 delete(rawMsg, key) 15581 case "workspaces": 15582 err = unpopulate(val, "Workspaces", &f.Workspaces) 15583 delete(rawMsg, key) 15584 } 15585 if err != nil { 15586 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15587 } 15588 } 15589 return nil 15590 } 15591 15592 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyLogAnalyticsWorkspace. 15593 func (f FirewallPolicyLogAnalyticsWorkspace) MarshalJSON() ([]byte, error) { 15594 objectMap := make(map[string]any) 15595 populate(objectMap, "region", f.Region) 15596 populate(objectMap, "workspaceId", f.WorkspaceID) 15597 return json.Marshal(objectMap) 15598 } 15599 15600 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyLogAnalyticsWorkspace. 15601 func (f *FirewallPolicyLogAnalyticsWorkspace) UnmarshalJSON(data []byte) error { 15602 var rawMsg map[string]json.RawMessage 15603 if err := json.Unmarshal(data, &rawMsg); err != nil { 15604 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15605 } 15606 for key, val := range rawMsg { 15607 var err error 15608 switch key { 15609 case "region": 15610 err = unpopulate(val, "Region", &f.Region) 15611 delete(rawMsg, key) 15612 case "workspaceId": 15613 err = unpopulate(val, "WorkspaceID", &f.WorkspaceID) 15614 delete(rawMsg, key) 15615 } 15616 if err != nil { 15617 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15618 } 15619 } 15620 return nil 15621 } 15622 15623 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyNatRuleCollection. 15624 func (f FirewallPolicyNatRuleCollection) MarshalJSON() ([]byte, error) { 15625 objectMap := make(map[string]any) 15626 populate(objectMap, "action", f.Action) 15627 populate(objectMap, "name", f.Name) 15628 populate(objectMap, "priority", f.Priority) 15629 objectMap["ruleCollectionType"] = FirewallPolicyRuleCollectionTypeFirewallPolicyNatRuleCollection 15630 populate(objectMap, "rules", f.Rules) 15631 return json.Marshal(objectMap) 15632 } 15633 15634 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyNatRuleCollection. 15635 func (f *FirewallPolicyNatRuleCollection) UnmarshalJSON(data []byte) error { 15636 var rawMsg map[string]json.RawMessage 15637 if err := json.Unmarshal(data, &rawMsg); err != nil { 15638 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15639 } 15640 for key, val := range rawMsg { 15641 var err error 15642 switch key { 15643 case "action": 15644 err = unpopulate(val, "Action", &f.Action) 15645 delete(rawMsg, key) 15646 case "name": 15647 err = unpopulate(val, "Name", &f.Name) 15648 delete(rawMsg, key) 15649 case "priority": 15650 err = unpopulate(val, "Priority", &f.Priority) 15651 delete(rawMsg, key) 15652 case "ruleCollectionType": 15653 err = unpopulate(val, "RuleCollectionType", &f.RuleCollectionType) 15654 delete(rawMsg, key) 15655 case "rules": 15656 f.Rules, err = unmarshalFirewallPolicyRuleClassificationArray(val) 15657 delete(rawMsg, key) 15658 } 15659 if err != nil { 15660 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15661 } 15662 } 15663 return nil 15664 } 15665 15666 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyNatRuleCollectionAction. 15667 func (f FirewallPolicyNatRuleCollectionAction) MarshalJSON() ([]byte, error) { 15668 objectMap := make(map[string]any) 15669 populate(objectMap, "type", f.Type) 15670 return json.Marshal(objectMap) 15671 } 15672 15673 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyNatRuleCollectionAction. 15674 func (f *FirewallPolicyNatRuleCollectionAction) UnmarshalJSON(data []byte) error { 15675 var rawMsg map[string]json.RawMessage 15676 if err := json.Unmarshal(data, &rawMsg); err != nil { 15677 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15678 } 15679 for key, val := range rawMsg { 15680 var err error 15681 switch key { 15682 case "type": 15683 err = unpopulate(val, "Type", &f.Type) 15684 delete(rawMsg, key) 15685 } 15686 if err != nil { 15687 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15688 } 15689 } 15690 return nil 15691 } 15692 15693 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyPropertiesFormat. 15694 func (f FirewallPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 15695 objectMap := make(map[string]any) 15696 populate(objectMap, "basePolicy", f.BasePolicy) 15697 populate(objectMap, "childPolicies", f.ChildPolicies) 15698 populate(objectMap, "dnsSettings", f.DNSSettings) 15699 populate(objectMap, "explicitProxySettings", f.ExplicitProxySettings) 15700 populate(objectMap, "firewalls", f.Firewalls) 15701 populate(objectMap, "insights", f.Insights) 15702 populate(objectMap, "intrusionDetection", f.IntrusionDetection) 15703 populate(objectMap, "provisioningState", f.ProvisioningState) 15704 populate(objectMap, "ruleCollectionGroups", f.RuleCollectionGroups) 15705 populate(objectMap, "sku", f.SKU) 15706 populate(objectMap, "sql", f.SQL) 15707 populate(objectMap, "size", f.Size) 15708 populate(objectMap, "snat", f.Snat) 15709 populate(objectMap, "threatIntelMode", f.ThreatIntelMode) 15710 populate(objectMap, "threatIntelWhitelist", f.ThreatIntelWhitelist) 15711 populate(objectMap, "transportSecurity", f.TransportSecurity) 15712 return json.Marshal(objectMap) 15713 } 15714 15715 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyPropertiesFormat. 15716 func (f *FirewallPolicyPropertiesFormat) UnmarshalJSON(data []byte) error { 15717 var rawMsg map[string]json.RawMessage 15718 if err := json.Unmarshal(data, &rawMsg); err != nil { 15719 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15720 } 15721 for key, val := range rawMsg { 15722 var err error 15723 switch key { 15724 case "basePolicy": 15725 err = unpopulate(val, "BasePolicy", &f.BasePolicy) 15726 delete(rawMsg, key) 15727 case "childPolicies": 15728 err = unpopulate(val, "ChildPolicies", &f.ChildPolicies) 15729 delete(rawMsg, key) 15730 case "dnsSettings": 15731 err = unpopulate(val, "DNSSettings", &f.DNSSettings) 15732 delete(rawMsg, key) 15733 case "explicitProxySettings": 15734 err = unpopulate(val, "ExplicitProxySettings", &f.ExplicitProxySettings) 15735 delete(rawMsg, key) 15736 case "firewalls": 15737 err = unpopulate(val, "Firewalls", &f.Firewalls) 15738 delete(rawMsg, key) 15739 case "insights": 15740 err = unpopulate(val, "Insights", &f.Insights) 15741 delete(rawMsg, key) 15742 case "intrusionDetection": 15743 err = unpopulate(val, "IntrusionDetection", &f.IntrusionDetection) 15744 delete(rawMsg, key) 15745 case "provisioningState": 15746 err = unpopulate(val, "ProvisioningState", &f.ProvisioningState) 15747 delete(rawMsg, key) 15748 case "ruleCollectionGroups": 15749 err = unpopulate(val, "RuleCollectionGroups", &f.RuleCollectionGroups) 15750 delete(rawMsg, key) 15751 case "sku": 15752 err = unpopulate(val, "SKU", &f.SKU) 15753 delete(rawMsg, key) 15754 case "sql": 15755 err = unpopulate(val, "SQL", &f.SQL) 15756 delete(rawMsg, key) 15757 case "size": 15758 err = unpopulate(val, "Size", &f.Size) 15759 delete(rawMsg, key) 15760 case "snat": 15761 err = unpopulate(val, "Snat", &f.Snat) 15762 delete(rawMsg, key) 15763 case "threatIntelMode": 15764 err = unpopulate(val, "ThreatIntelMode", &f.ThreatIntelMode) 15765 delete(rawMsg, key) 15766 case "threatIntelWhitelist": 15767 err = unpopulate(val, "ThreatIntelWhitelist", &f.ThreatIntelWhitelist) 15768 delete(rawMsg, key) 15769 case "transportSecurity": 15770 err = unpopulate(val, "TransportSecurity", &f.TransportSecurity) 15771 delete(rawMsg, key) 15772 } 15773 if err != nil { 15774 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15775 } 15776 } 15777 return nil 15778 } 15779 15780 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRule. 15781 func (f FirewallPolicyRule) MarshalJSON() ([]byte, error) { 15782 objectMap := make(map[string]any) 15783 populate(objectMap, "description", f.Description) 15784 populate(objectMap, "name", f.Name) 15785 objectMap["ruleType"] = f.RuleType 15786 return json.Marshal(objectMap) 15787 } 15788 15789 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRule. 15790 func (f *FirewallPolicyRule) UnmarshalJSON(data []byte) error { 15791 var rawMsg map[string]json.RawMessage 15792 if err := json.Unmarshal(data, &rawMsg); err != nil { 15793 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15794 } 15795 for key, val := range rawMsg { 15796 var err error 15797 switch key { 15798 case "description": 15799 err = unpopulate(val, "Description", &f.Description) 15800 delete(rawMsg, key) 15801 case "name": 15802 err = unpopulate(val, "Name", &f.Name) 15803 delete(rawMsg, key) 15804 case "ruleType": 15805 err = unpopulate(val, "RuleType", &f.RuleType) 15806 delete(rawMsg, key) 15807 } 15808 if err != nil { 15809 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15810 } 15811 } 15812 return nil 15813 } 15814 15815 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleApplicationProtocol. 15816 func (f FirewallPolicyRuleApplicationProtocol) MarshalJSON() ([]byte, error) { 15817 objectMap := make(map[string]any) 15818 populate(objectMap, "port", f.Port) 15819 populate(objectMap, "protocolType", f.ProtocolType) 15820 return json.Marshal(objectMap) 15821 } 15822 15823 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleApplicationProtocol. 15824 func (f *FirewallPolicyRuleApplicationProtocol) UnmarshalJSON(data []byte) error { 15825 var rawMsg map[string]json.RawMessage 15826 if err := json.Unmarshal(data, &rawMsg); err != nil { 15827 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15828 } 15829 for key, val := range rawMsg { 15830 var err error 15831 switch key { 15832 case "port": 15833 err = unpopulate(val, "Port", &f.Port) 15834 delete(rawMsg, key) 15835 case "protocolType": 15836 err = unpopulate(val, "ProtocolType", &f.ProtocolType) 15837 delete(rawMsg, key) 15838 } 15839 if err != nil { 15840 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15841 } 15842 } 15843 return nil 15844 } 15845 15846 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollection. 15847 func (f FirewallPolicyRuleCollection) MarshalJSON() ([]byte, error) { 15848 objectMap := make(map[string]any) 15849 populate(objectMap, "name", f.Name) 15850 populate(objectMap, "priority", f.Priority) 15851 objectMap["ruleCollectionType"] = f.RuleCollectionType 15852 return json.Marshal(objectMap) 15853 } 15854 15855 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollection. 15856 func (f *FirewallPolicyRuleCollection) UnmarshalJSON(data []byte) error { 15857 var rawMsg map[string]json.RawMessage 15858 if err := json.Unmarshal(data, &rawMsg); err != nil { 15859 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15860 } 15861 for key, val := range rawMsg { 15862 var err error 15863 switch key { 15864 case "name": 15865 err = unpopulate(val, "Name", &f.Name) 15866 delete(rawMsg, key) 15867 case "priority": 15868 err = unpopulate(val, "Priority", &f.Priority) 15869 delete(rawMsg, key) 15870 case "ruleCollectionType": 15871 err = unpopulate(val, "RuleCollectionType", &f.RuleCollectionType) 15872 delete(rawMsg, key) 15873 } 15874 if err != nil { 15875 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15876 } 15877 } 15878 return nil 15879 } 15880 15881 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroup. 15882 func (f FirewallPolicyRuleCollectionGroup) MarshalJSON() ([]byte, error) { 15883 objectMap := make(map[string]any) 15884 populate(objectMap, "etag", f.Etag) 15885 populate(objectMap, "id", f.ID) 15886 populate(objectMap, "name", f.Name) 15887 populate(objectMap, "properties", f.Properties) 15888 populate(objectMap, "type", f.Type) 15889 return json.Marshal(objectMap) 15890 } 15891 15892 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroup. 15893 func (f *FirewallPolicyRuleCollectionGroup) UnmarshalJSON(data []byte) error { 15894 var rawMsg map[string]json.RawMessage 15895 if err := json.Unmarshal(data, &rawMsg); err != nil { 15896 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15897 } 15898 for key, val := range rawMsg { 15899 var err error 15900 switch key { 15901 case "etag": 15902 err = unpopulate(val, "Etag", &f.Etag) 15903 delete(rawMsg, key) 15904 case "id": 15905 err = unpopulate(val, "ID", &f.ID) 15906 delete(rawMsg, key) 15907 case "name": 15908 err = unpopulate(val, "Name", &f.Name) 15909 delete(rawMsg, key) 15910 case "properties": 15911 err = unpopulate(val, "Properties", &f.Properties) 15912 delete(rawMsg, key) 15913 case "type": 15914 err = unpopulate(val, "Type", &f.Type) 15915 delete(rawMsg, key) 15916 } 15917 if err != nil { 15918 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15919 } 15920 } 15921 return nil 15922 } 15923 15924 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupDraft. 15925 func (f FirewallPolicyRuleCollectionGroupDraft) MarshalJSON() ([]byte, error) { 15926 objectMap := make(map[string]any) 15927 populate(objectMap, "id", f.ID) 15928 populate(objectMap, "name", f.Name) 15929 populate(objectMap, "properties", f.Properties) 15930 populate(objectMap, "type", f.Type) 15931 return json.Marshal(objectMap) 15932 } 15933 15934 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupDraft. 15935 func (f *FirewallPolicyRuleCollectionGroupDraft) UnmarshalJSON(data []byte) error { 15936 var rawMsg map[string]json.RawMessage 15937 if err := json.Unmarshal(data, &rawMsg); err != nil { 15938 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15939 } 15940 for key, val := range rawMsg { 15941 var err error 15942 switch key { 15943 case "id": 15944 err = unpopulate(val, "ID", &f.ID) 15945 delete(rawMsg, key) 15946 case "name": 15947 err = unpopulate(val, "Name", &f.Name) 15948 delete(rawMsg, key) 15949 case "properties": 15950 err = unpopulate(val, "Properties", &f.Properties) 15951 delete(rawMsg, key) 15952 case "type": 15953 err = unpopulate(val, "Type", &f.Type) 15954 delete(rawMsg, key) 15955 } 15956 if err != nil { 15957 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15958 } 15959 } 15960 return nil 15961 } 15962 15963 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupDraftProperties. 15964 func (f FirewallPolicyRuleCollectionGroupDraftProperties) MarshalJSON() ([]byte, error) { 15965 objectMap := make(map[string]any) 15966 populate(objectMap, "priority", f.Priority) 15967 populate(objectMap, "ruleCollections", f.RuleCollections) 15968 populate(objectMap, "size", f.Size) 15969 return json.Marshal(objectMap) 15970 } 15971 15972 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupDraftProperties. 15973 func (f *FirewallPolicyRuleCollectionGroupDraftProperties) UnmarshalJSON(data []byte) error { 15974 var rawMsg map[string]json.RawMessage 15975 if err := json.Unmarshal(data, &rawMsg); err != nil { 15976 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15977 } 15978 for key, val := range rawMsg { 15979 var err error 15980 switch key { 15981 case "priority": 15982 err = unpopulate(val, "Priority", &f.Priority) 15983 delete(rawMsg, key) 15984 case "ruleCollections": 15985 f.RuleCollections, err = unmarshalFirewallPolicyRuleCollectionClassificationArray(val) 15986 delete(rawMsg, key) 15987 case "size": 15988 err = unpopulate(val, "Size", &f.Size) 15989 delete(rawMsg, key) 15990 } 15991 if err != nil { 15992 return fmt.Errorf("unmarshalling type %T: %v", f, err) 15993 } 15994 } 15995 return nil 15996 } 15997 15998 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupListResult. 15999 func (f FirewallPolicyRuleCollectionGroupListResult) MarshalJSON() ([]byte, error) { 16000 objectMap := make(map[string]any) 16001 populate(objectMap, "nextLink", f.NextLink) 16002 populate(objectMap, "value", f.Value) 16003 return json.Marshal(objectMap) 16004 } 16005 16006 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupListResult. 16007 func (f *FirewallPolicyRuleCollectionGroupListResult) UnmarshalJSON(data []byte) error { 16008 var rawMsg map[string]json.RawMessage 16009 if err := json.Unmarshal(data, &rawMsg); err != nil { 16010 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16011 } 16012 for key, val := range rawMsg { 16013 var err error 16014 switch key { 16015 case "nextLink": 16016 err = unpopulate(val, "NextLink", &f.NextLink) 16017 delete(rawMsg, key) 16018 case "value": 16019 err = unpopulate(val, "Value", &f.Value) 16020 delete(rawMsg, key) 16021 } 16022 if err != nil { 16023 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16024 } 16025 } 16026 return nil 16027 } 16028 16029 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyRuleCollectionGroupProperties. 16030 func (f FirewallPolicyRuleCollectionGroupProperties) MarshalJSON() ([]byte, error) { 16031 objectMap := make(map[string]any) 16032 populate(objectMap, "priority", f.Priority) 16033 populate(objectMap, "provisioningState", f.ProvisioningState) 16034 populate(objectMap, "ruleCollections", f.RuleCollections) 16035 populate(objectMap, "size", f.Size) 16036 return json.Marshal(objectMap) 16037 } 16038 16039 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyRuleCollectionGroupProperties. 16040 func (f *FirewallPolicyRuleCollectionGroupProperties) UnmarshalJSON(data []byte) error { 16041 var rawMsg map[string]json.RawMessage 16042 if err := json.Unmarshal(data, &rawMsg); err != nil { 16043 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16044 } 16045 for key, val := range rawMsg { 16046 var err error 16047 switch key { 16048 case "priority": 16049 err = unpopulate(val, "Priority", &f.Priority) 16050 delete(rawMsg, key) 16051 case "provisioningState": 16052 err = unpopulate(val, "ProvisioningState", &f.ProvisioningState) 16053 delete(rawMsg, key) 16054 case "ruleCollections": 16055 f.RuleCollections, err = unmarshalFirewallPolicyRuleCollectionClassificationArray(val) 16056 delete(rawMsg, key) 16057 case "size": 16058 err = unpopulate(val, "Size", &f.Size) 16059 delete(rawMsg, key) 16060 } 16061 if err != nil { 16062 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16063 } 16064 } 16065 return nil 16066 } 16067 16068 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicySKU. 16069 func (f FirewallPolicySKU) MarshalJSON() ([]byte, error) { 16070 objectMap := make(map[string]any) 16071 populate(objectMap, "tier", f.Tier) 16072 return json.Marshal(objectMap) 16073 } 16074 16075 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicySKU. 16076 func (f *FirewallPolicySKU) UnmarshalJSON(data []byte) error { 16077 var rawMsg map[string]json.RawMessage 16078 if err := json.Unmarshal(data, &rawMsg); err != nil { 16079 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16080 } 16081 for key, val := range rawMsg { 16082 var err error 16083 switch key { 16084 case "tier": 16085 err = unpopulate(val, "Tier", &f.Tier) 16086 delete(rawMsg, key) 16087 } 16088 if err != nil { 16089 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16090 } 16091 } 16092 return nil 16093 } 16094 16095 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicySNAT. 16096 func (f FirewallPolicySNAT) MarshalJSON() ([]byte, error) { 16097 objectMap := make(map[string]any) 16098 populate(objectMap, "autoLearnPrivateRanges", f.AutoLearnPrivateRanges) 16099 populate(objectMap, "privateRanges", f.PrivateRanges) 16100 return json.Marshal(objectMap) 16101 } 16102 16103 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicySNAT. 16104 func (f *FirewallPolicySNAT) UnmarshalJSON(data []byte) error { 16105 var rawMsg map[string]json.RawMessage 16106 if err := json.Unmarshal(data, &rawMsg); err != nil { 16107 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16108 } 16109 for key, val := range rawMsg { 16110 var err error 16111 switch key { 16112 case "autoLearnPrivateRanges": 16113 err = unpopulate(val, "AutoLearnPrivateRanges", &f.AutoLearnPrivateRanges) 16114 delete(rawMsg, key) 16115 case "privateRanges": 16116 err = unpopulate(val, "PrivateRanges", &f.PrivateRanges) 16117 delete(rawMsg, key) 16118 } 16119 if err != nil { 16120 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16121 } 16122 } 16123 return nil 16124 } 16125 16126 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicySQL. 16127 func (f FirewallPolicySQL) MarshalJSON() ([]byte, error) { 16128 objectMap := make(map[string]any) 16129 populate(objectMap, "allowSqlRedirect", f.AllowSQLRedirect) 16130 return json.Marshal(objectMap) 16131 } 16132 16133 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicySQL. 16134 func (f *FirewallPolicySQL) UnmarshalJSON(data []byte) error { 16135 var rawMsg map[string]json.RawMessage 16136 if err := json.Unmarshal(data, &rawMsg); err != nil { 16137 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16138 } 16139 for key, val := range rawMsg { 16140 var err error 16141 switch key { 16142 case "allowSqlRedirect": 16143 err = unpopulate(val, "AllowSQLRedirect", &f.AllowSQLRedirect) 16144 delete(rawMsg, key) 16145 } 16146 if err != nil { 16147 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16148 } 16149 } 16150 return nil 16151 } 16152 16153 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyThreatIntelWhitelist. 16154 func (f FirewallPolicyThreatIntelWhitelist) MarshalJSON() ([]byte, error) { 16155 objectMap := make(map[string]any) 16156 populate(objectMap, "fqdns", f.Fqdns) 16157 populate(objectMap, "ipAddresses", f.IPAddresses) 16158 return json.Marshal(objectMap) 16159 } 16160 16161 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyThreatIntelWhitelist. 16162 func (f *FirewallPolicyThreatIntelWhitelist) UnmarshalJSON(data []byte) error { 16163 var rawMsg map[string]json.RawMessage 16164 if err := json.Unmarshal(data, &rawMsg); err != nil { 16165 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16166 } 16167 for key, val := range rawMsg { 16168 var err error 16169 switch key { 16170 case "fqdns": 16171 err = unpopulate(val, "Fqdns", &f.Fqdns) 16172 delete(rawMsg, key) 16173 case "ipAddresses": 16174 err = unpopulate(val, "IPAddresses", &f.IPAddresses) 16175 delete(rawMsg, key) 16176 } 16177 if err != nil { 16178 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16179 } 16180 } 16181 return nil 16182 } 16183 16184 // MarshalJSON implements the json.Marshaller interface for type FirewallPolicyTransportSecurity. 16185 func (f FirewallPolicyTransportSecurity) MarshalJSON() ([]byte, error) { 16186 objectMap := make(map[string]any) 16187 populate(objectMap, "certificateAuthority", f.CertificateAuthority) 16188 return json.Marshal(objectMap) 16189 } 16190 16191 // UnmarshalJSON implements the json.Unmarshaller interface for type FirewallPolicyTransportSecurity. 16192 func (f *FirewallPolicyTransportSecurity) UnmarshalJSON(data []byte) error { 16193 var rawMsg map[string]json.RawMessage 16194 if err := json.Unmarshal(data, &rawMsg); err != nil { 16195 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16196 } 16197 for key, val := range rawMsg { 16198 var err error 16199 switch key { 16200 case "certificateAuthority": 16201 err = unpopulate(val, "CertificateAuthority", &f.CertificateAuthority) 16202 delete(rawMsg, key) 16203 } 16204 if err != nil { 16205 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16206 } 16207 } 16208 return nil 16209 } 16210 16211 // MarshalJSON implements the json.Marshaller interface for type FlowLog. 16212 func (f FlowLog) MarshalJSON() ([]byte, error) { 16213 objectMap := make(map[string]any) 16214 populate(objectMap, "etag", f.Etag) 16215 populate(objectMap, "id", f.ID) 16216 populate(objectMap, "identity", f.Identity) 16217 populate(objectMap, "location", f.Location) 16218 populate(objectMap, "name", f.Name) 16219 populate(objectMap, "properties", f.Properties) 16220 populate(objectMap, "tags", f.Tags) 16221 populate(objectMap, "type", f.Type) 16222 return json.Marshal(objectMap) 16223 } 16224 16225 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLog. 16226 func (f *FlowLog) UnmarshalJSON(data []byte) error { 16227 var rawMsg map[string]json.RawMessage 16228 if err := json.Unmarshal(data, &rawMsg); err != nil { 16229 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16230 } 16231 for key, val := range rawMsg { 16232 var err error 16233 switch key { 16234 case "etag": 16235 err = unpopulate(val, "Etag", &f.Etag) 16236 delete(rawMsg, key) 16237 case "id": 16238 err = unpopulate(val, "ID", &f.ID) 16239 delete(rawMsg, key) 16240 case "identity": 16241 err = unpopulate(val, "Identity", &f.Identity) 16242 delete(rawMsg, key) 16243 case "location": 16244 err = unpopulate(val, "Location", &f.Location) 16245 delete(rawMsg, key) 16246 case "name": 16247 err = unpopulate(val, "Name", &f.Name) 16248 delete(rawMsg, key) 16249 case "properties": 16250 err = unpopulate(val, "Properties", &f.Properties) 16251 delete(rawMsg, key) 16252 case "tags": 16253 err = unpopulate(val, "Tags", &f.Tags) 16254 delete(rawMsg, key) 16255 case "type": 16256 err = unpopulate(val, "Type", &f.Type) 16257 delete(rawMsg, key) 16258 } 16259 if err != nil { 16260 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16261 } 16262 } 16263 return nil 16264 } 16265 16266 // MarshalJSON implements the json.Marshaller interface for type FlowLogFormatParameters. 16267 func (f FlowLogFormatParameters) MarshalJSON() ([]byte, error) { 16268 objectMap := make(map[string]any) 16269 populate(objectMap, "type", f.Type) 16270 populate(objectMap, "version", f.Version) 16271 return json.Marshal(objectMap) 16272 } 16273 16274 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLogFormatParameters. 16275 func (f *FlowLogFormatParameters) UnmarshalJSON(data []byte) error { 16276 var rawMsg map[string]json.RawMessage 16277 if err := json.Unmarshal(data, &rawMsg); err != nil { 16278 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16279 } 16280 for key, val := range rawMsg { 16281 var err error 16282 switch key { 16283 case "type": 16284 err = unpopulate(val, "Type", &f.Type) 16285 delete(rawMsg, key) 16286 case "version": 16287 err = unpopulate(val, "Version", &f.Version) 16288 delete(rawMsg, key) 16289 } 16290 if err != nil { 16291 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16292 } 16293 } 16294 return nil 16295 } 16296 16297 // MarshalJSON implements the json.Marshaller interface for type FlowLogInformation. 16298 func (f FlowLogInformation) MarshalJSON() ([]byte, error) { 16299 objectMap := make(map[string]any) 16300 populate(objectMap, "flowAnalyticsConfiguration", f.FlowAnalyticsConfiguration) 16301 populate(objectMap, "identity", f.Identity) 16302 populate(objectMap, "properties", f.Properties) 16303 populate(objectMap, "targetResourceId", f.TargetResourceID) 16304 return json.Marshal(objectMap) 16305 } 16306 16307 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLogInformation. 16308 func (f *FlowLogInformation) UnmarshalJSON(data []byte) error { 16309 var rawMsg map[string]json.RawMessage 16310 if err := json.Unmarshal(data, &rawMsg); err != nil { 16311 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16312 } 16313 for key, val := range rawMsg { 16314 var err error 16315 switch key { 16316 case "flowAnalyticsConfiguration": 16317 err = unpopulate(val, "FlowAnalyticsConfiguration", &f.FlowAnalyticsConfiguration) 16318 delete(rawMsg, key) 16319 case "identity": 16320 err = unpopulate(val, "Identity", &f.Identity) 16321 delete(rawMsg, key) 16322 case "properties": 16323 err = unpopulate(val, "Properties", &f.Properties) 16324 delete(rawMsg, key) 16325 case "targetResourceId": 16326 err = unpopulate(val, "TargetResourceID", &f.TargetResourceID) 16327 delete(rawMsg, key) 16328 } 16329 if err != nil { 16330 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16331 } 16332 } 16333 return nil 16334 } 16335 16336 // MarshalJSON implements the json.Marshaller interface for type FlowLogListResult. 16337 func (f FlowLogListResult) MarshalJSON() ([]byte, error) { 16338 objectMap := make(map[string]any) 16339 populate(objectMap, "nextLink", f.NextLink) 16340 populate(objectMap, "value", f.Value) 16341 return json.Marshal(objectMap) 16342 } 16343 16344 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLogListResult. 16345 func (f *FlowLogListResult) UnmarshalJSON(data []byte) error { 16346 var rawMsg map[string]json.RawMessage 16347 if err := json.Unmarshal(data, &rawMsg); err != nil { 16348 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16349 } 16350 for key, val := range rawMsg { 16351 var err error 16352 switch key { 16353 case "nextLink": 16354 err = unpopulate(val, "NextLink", &f.NextLink) 16355 delete(rawMsg, key) 16356 case "value": 16357 err = unpopulate(val, "Value", &f.Value) 16358 delete(rawMsg, key) 16359 } 16360 if err != nil { 16361 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16362 } 16363 } 16364 return nil 16365 } 16366 16367 // MarshalJSON implements the json.Marshaller interface for type FlowLogProperties. 16368 func (f FlowLogProperties) MarshalJSON() ([]byte, error) { 16369 objectMap := make(map[string]any) 16370 populate(objectMap, "enabled", f.Enabled) 16371 populate(objectMap, "enabledFilteringCriteria", f.EnabledFilteringCriteria) 16372 populate(objectMap, "format", f.Format) 16373 populate(objectMap, "retentionPolicy", f.RetentionPolicy) 16374 populate(objectMap, "storageId", f.StorageID) 16375 return json.Marshal(objectMap) 16376 } 16377 16378 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLogProperties. 16379 func (f *FlowLogProperties) UnmarshalJSON(data []byte) error { 16380 var rawMsg map[string]json.RawMessage 16381 if err := json.Unmarshal(data, &rawMsg); err != nil { 16382 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16383 } 16384 for key, val := range rawMsg { 16385 var err error 16386 switch key { 16387 case "enabled": 16388 err = unpopulate(val, "Enabled", &f.Enabled) 16389 delete(rawMsg, key) 16390 case "enabledFilteringCriteria": 16391 err = unpopulate(val, "EnabledFilteringCriteria", &f.EnabledFilteringCriteria) 16392 delete(rawMsg, key) 16393 case "format": 16394 err = unpopulate(val, "Format", &f.Format) 16395 delete(rawMsg, key) 16396 case "retentionPolicy": 16397 err = unpopulate(val, "RetentionPolicy", &f.RetentionPolicy) 16398 delete(rawMsg, key) 16399 case "storageId": 16400 err = unpopulate(val, "StorageID", &f.StorageID) 16401 delete(rawMsg, key) 16402 } 16403 if err != nil { 16404 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16405 } 16406 } 16407 return nil 16408 } 16409 16410 // MarshalJSON implements the json.Marshaller interface for type FlowLogPropertiesFormat. 16411 func (f FlowLogPropertiesFormat) MarshalJSON() ([]byte, error) { 16412 objectMap := make(map[string]any) 16413 populate(objectMap, "enabled", f.Enabled) 16414 populate(objectMap, "enabledFilteringCriteria", f.EnabledFilteringCriteria) 16415 populate(objectMap, "flowAnalyticsConfiguration", f.FlowAnalyticsConfiguration) 16416 populate(objectMap, "format", f.Format) 16417 populate(objectMap, "provisioningState", f.ProvisioningState) 16418 populate(objectMap, "retentionPolicy", f.RetentionPolicy) 16419 populate(objectMap, "storageId", f.StorageID) 16420 populate(objectMap, "targetResourceGuid", f.TargetResourceGUID) 16421 populate(objectMap, "targetResourceId", f.TargetResourceID) 16422 return json.Marshal(objectMap) 16423 } 16424 16425 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLogPropertiesFormat. 16426 func (f *FlowLogPropertiesFormat) UnmarshalJSON(data []byte) error { 16427 var rawMsg map[string]json.RawMessage 16428 if err := json.Unmarshal(data, &rawMsg); err != nil { 16429 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16430 } 16431 for key, val := range rawMsg { 16432 var err error 16433 switch key { 16434 case "enabled": 16435 err = unpopulate(val, "Enabled", &f.Enabled) 16436 delete(rawMsg, key) 16437 case "enabledFilteringCriteria": 16438 err = unpopulate(val, "EnabledFilteringCriteria", &f.EnabledFilteringCriteria) 16439 delete(rawMsg, key) 16440 case "flowAnalyticsConfiguration": 16441 err = unpopulate(val, "FlowAnalyticsConfiguration", &f.FlowAnalyticsConfiguration) 16442 delete(rawMsg, key) 16443 case "format": 16444 err = unpopulate(val, "Format", &f.Format) 16445 delete(rawMsg, key) 16446 case "provisioningState": 16447 err = unpopulate(val, "ProvisioningState", &f.ProvisioningState) 16448 delete(rawMsg, key) 16449 case "retentionPolicy": 16450 err = unpopulate(val, "RetentionPolicy", &f.RetentionPolicy) 16451 delete(rawMsg, key) 16452 case "storageId": 16453 err = unpopulate(val, "StorageID", &f.StorageID) 16454 delete(rawMsg, key) 16455 case "targetResourceGuid": 16456 err = unpopulate(val, "TargetResourceGUID", &f.TargetResourceGUID) 16457 delete(rawMsg, key) 16458 case "targetResourceId": 16459 err = unpopulate(val, "TargetResourceID", &f.TargetResourceID) 16460 delete(rawMsg, key) 16461 } 16462 if err != nil { 16463 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16464 } 16465 } 16466 return nil 16467 } 16468 16469 // MarshalJSON implements the json.Marshaller interface for type FlowLogStatusParameters. 16470 func (f FlowLogStatusParameters) MarshalJSON() ([]byte, error) { 16471 objectMap := make(map[string]any) 16472 populate(objectMap, "targetResourceId", f.TargetResourceID) 16473 return json.Marshal(objectMap) 16474 } 16475 16476 // UnmarshalJSON implements the json.Unmarshaller interface for type FlowLogStatusParameters. 16477 func (f *FlowLogStatusParameters) UnmarshalJSON(data []byte) error { 16478 var rawMsg map[string]json.RawMessage 16479 if err := json.Unmarshal(data, &rawMsg); err != nil { 16480 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16481 } 16482 for key, val := range rawMsg { 16483 var err error 16484 switch key { 16485 case "targetResourceId": 16486 err = unpopulate(val, "TargetResourceID", &f.TargetResourceID) 16487 delete(rawMsg, key) 16488 } 16489 if err != nil { 16490 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16491 } 16492 } 16493 return nil 16494 } 16495 16496 // MarshalJSON implements the json.Marshaller interface for type FrontendIPConfiguration. 16497 func (f FrontendIPConfiguration) MarshalJSON() ([]byte, error) { 16498 objectMap := make(map[string]any) 16499 populate(objectMap, "etag", f.Etag) 16500 populate(objectMap, "id", f.ID) 16501 populate(objectMap, "name", f.Name) 16502 populate(objectMap, "properties", f.Properties) 16503 populate(objectMap, "type", f.Type) 16504 populate(objectMap, "zones", f.Zones) 16505 return json.Marshal(objectMap) 16506 } 16507 16508 // UnmarshalJSON implements the json.Unmarshaller interface for type FrontendIPConfiguration. 16509 func (f *FrontendIPConfiguration) UnmarshalJSON(data []byte) error { 16510 var rawMsg map[string]json.RawMessage 16511 if err := json.Unmarshal(data, &rawMsg); err != nil { 16512 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16513 } 16514 for key, val := range rawMsg { 16515 var err error 16516 switch key { 16517 case "etag": 16518 err = unpopulate(val, "Etag", &f.Etag) 16519 delete(rawMsg, key) 16520 case "id": 16521 err = unpopulate(val, "ID", &f.ID) 16522 delete(rawMsg, key) 16523 case "name": 16524 err = unpopulate(val, "Name", &f.Name) 16525 delete(rawMsg, key) 16526 case "properties": 16527 err = unpopulate(val, "Properties", &f.Properties) 16528 delete(rawMsg, key) 16529 case "type": 16530 err = unpopulate(val, "Type", &f.Type) 16531 delete(rawMsg, key) 16532 case "zones": 16533 err = unpopulate(val, "Zones", &f.Zones) 16534 delete(rawMsg, key) 16535 } 16536 if err != nil { 16537 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16538 } 16539 } 16540 return nil 16541 } 16542 16543 // MarshalJSON implements the json.Marshaller interface for type FrontendIPConfigurationPropertiesFormat. 16544 func (f FrontendIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 16545 objectMap := make(map[string]any) 16546 populate(objectMap, "gatewayLoadBalancer", f.GatewayLoadBalancer) 16547 populate(objectMap, "inboundNatPools", f.InboundNatPools) 16548 populate(objectMap, "inboundNatRules", f.InboundNatRules) 16549 populate(objectMap, "loadBalancingRules", f.LoadBalancingRules) 16550 populate(objectMap, "outboundRules", f.OutboundRules) 16551 populate(objectMap, "privateIPAddress", f.PrivateIPAddress) 16552 populate(objectMap, "privateIPAddressVersion", f.PrivateIPAddressVersion) 16553 populate(objectMap, "privateIPAllocationMethod", f.PrivateIPAllocationMethod) 16554 populate(objectMap, "provisioningState", f.ProvisioningState) 16555 populate(objectMap, "publicIPAddress", f.PublicIPAddress) 16556 populate(objectMap, "publicIPPrefix", f.PublicIPPrefix) 16557 populate(objectMap, "subnet", f.Subnet) 16558 return json.Marshal(objectMap) 16559 } 16560 16561 // UnmarshalJSON implements the json.Unmarshaller interface for type FrontendIPConfigurationPropertiesFormat. 16562 func (f *FrontendIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 16563 var rawMsg map[string]json.RawMessage 16564 if err := json.Unmarshal(data, &rawMsg); err != nil { 16565 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16566 } 16567 for key, val := range rawMsg { 16568 var err error 16569 switch key { 16570 case "gatewayLoadBalancer": 16571 err = unpopulate(val, "GatewayLoadBalancer", &f.GatewayLoadBalancer) 16572 delete(rawMsg, key) 16573 case "inboundNatPools": 16574 err = unpopulate(val, "InboundNatPools", &f.InboundNatPools) 16575 delete(rawMsg, key) 16576 case "inboundNatRules": 16577 err = unpopulate(val, "InboundNatRules", &f.InboundNatRules) 16578 delete(rawMsg, key) 16579 case "loadBalancingRules": 16580 err = unpopulate(val, "LoadBalancingRules", &f.LoadBalancingRules) 16581 delete(rawMsg, key) 16582 case "outboundRules": 16583 err = unpopulate(val, "OutboundRules", &f.OutboundRules) 16584 delete(rawMsg, key) 16585 case "privateIPAddress": 16586 err = unpopulate(val, "PrivateIPAddress", &f.PrivateIPAddress) 16587 delete(rawMsg, key) 16588 case "privateIPAddressVersion": 16589 err = unpopulate(val, "PrivateIPAddressVersion", &f.PrivateIPAddressVersion) 16590 delete(rawMsg, key) 16591 case "privateIPAllocationMethod": 16592 err = unpopulate(val, "PrivateIPAllocationMethod", &f.PrivateIPAllocationMethod) 16593 delete(rawMsg, key) 16594 case "provisioningState": 16595 err = unpopulate(val, "ProvisioningState", &f.ProvisioningState) 16596 delete(rawMsg, key) 16597 case "publicIPAddress": 16598 err = unpopulate(val, "PublicIPAddress", &f.PublicIPAddress) 16599 delete(rawMsg, key) 16600 case "publicIPPrefix": 16601 err = unpopulate(val, "PublicIPPrefix", &f.PublicIPPrefix) 16602 delete(rawMsg, key) 16603 case "subnet": 16604 err = unpopulate(val, "Subnet", &f.Subnet) 16605 delete(rawMsg, key) 16606 } 16607 if err != nil { 16608 return fmt.Errorf("unmarshalling type %T: %v", f, err) 16609 } 16610 } 16611 return nil 16612 } 16613 16614 // MarshalJSON implements the json.Marshaller interface for type GatewayCustomBgpIPAddressIPConfiguration. 16615 func (g GatewayCustomBgpIPAddressIPConfiguration) MarshalJSON() ([]byte, error) { 16616 objectMap := make(map[string]any) 16617 populate(objectMap, "customBgpIpAddress", g.CustomBgpIPAddress) 16618 populate(objectMap, "ipConfigurationId", g.IPConfigurationID) 16619 return json.Marshal(objectMap) 16620 } 16621 16622 // UnmarshalJSON implements the json.Unmarshaller interface for type GatewayCustomBgpIPAddressIPConfiguration. 16623 func (g *GatewayCustomBgpIPAddressIPConfiguration) UnmarshalJSON(data []byte) error { 16624 var rawMsg map[string]json.RawMessage 16625 if err := json.Unmarshal(data, &rawMsg); err != nil { 16626 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16627 } 16628 for key, val := range rawMsg { 16629 var err error 16630 switch key { 16631 case "customBgpIpAddress": 16632 err = unpopulate(val, "CustomBgpIPAddress", &g.CustomBgpIPAddress) 16633 delete(rawMsg, key) 16634 case "ipConfigurationId": 16635 err = unpopulate(val, "IPConfigurationID", &g.IPConfigurationID) 16636 delete(rawMsg, key) 16637 } 16638 if err != nil { 16639 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16640 } 16641 } 16642 return nil 16643 } 16644 16645 // MarshalJSON implements the json.Marshaller interface for type GatewayLoadBalancerTunnelInterface. 16646 func (g GatewayLoadBalancerTunnelInterface) MarshalJSON() ([]byte, error) { 16647 objectMap := make(map[string]any) 16648 populate(objectMap, "identifier", g.Identifier) 16649 populate(objectMap, "port", g.Port) 16650 populate(objectMap, "protocol", g.Protocol) 16651 populate(objectMap, "type", g.Type) 16652 return json.Marshal(objectMap) 16653 } 16654 16655 // UnmarshalJSON implements the json.Unmarshaller interface for type GatewayLoadBalancerTunnelInterface. 16656 func (g *GatewayLoadBalancerTunnelInterface) UnmarshalJSON(data []byte) error { 16657 var rawMsg map[string]json.RawMessage 16658 if err := json.Unmarshal(data, &rawMsg); err != nil { 16659 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16660 } 16661 for key, val := range rawMsg { 16662 var err error 16663 switch key { 16664 case "identifier": 16665 err = unpopulate(val, "Identifier", &g.Identifier) 16666 delete(rawMsg, key) 16667 case "port": 16668 err = unpopulate(val, "Port", &g.Port) 16669 delete(rawMsg, key) 16670 case "protocol": 16671 err = unpopulate(val, "Protocol", &g.Protocol) 16672 delete(rawMsg, key) 16673 case "type": 16674 err = unpopulate(val, "Type", &g.Type) 16675 delete(rawMsg, key) 16676 } 16677 if err != nil { 16678 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16679 } 16680 } 16681 return nil 16682 } 16683 16684 // MarshalJSON implements the json.Marshaller interface for type GatewayRoute. 16685 func (g GatewayRoute) MarshalJSON() ([]byte, error) { 16686 objectMap := make(map[string]any) 16687 populate(objectMap, "asPath", g.AsPath) 16688 populate(objectMap, "localAddress", g.LocalAddress) 16689 populate(objectMap, "network", g.Network) 16690 populate(objectMap, "nextHop", g.NextHop) 16691 populate(objectMap, "origin", g.Origin) 16692 populate(objectMap, "sourcePeer", g.SourcePeer) 16693 populate(objectMap, "weight", g.Weight) 16694 return json.Marshal(objectMap) 16695 } 16696 16697 // UnmarshalJSON implements the json.Unmarshaller interface for type GatewayRoute. 16698 func (g *GatewayRoute) UnmarshalJSON(data []byte) error { 16699 var rawMsg map[string]json.RawMessage 16700 if err := json.Unmarshal(data, &rawMsg); err != nil { 16701 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16702 } 16703 for key, val := range rawMsg { 16704 var err error 16705 switch key { 16706 case "asPath": 16707 err = unpopulate(val, "AsPath", &g.AsPath) 16708 delete(rawMsg, key) 16709 case "localAddress": 16710 err = unpopulate(val, "LocalAddress", &g.LocalAddress) 16711 delete(rawMsg, key) 16712 case "network": 16713 err = unpopulate(val, "Network", &g.Network) 16714 delete(rawMsg, key) 16715 case "nextHop": 16716 err = unpopulate(val, "NextHop", &g.NextHop) 16717 delete(rawMsg, key) 16718 case "origin": 16719 err = unpopulate(val, "Origin", &g.Origin) 16720 delete(rawMsg, key) 16721 case "sourcePeer": 16722 err = unpopulate(val, "SourcePeer", &g.SourcePeer) 16723 delete(rawMsg, key) 16724 case "weight": 16725 err = unpopulate(val, "Weight", &g.Weight) 16726 delete(rawMsg, key) 16727 } 16728 if err != nil { 16729 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16730 } 16731 } 16732 return nil 16733 } 16734 16735 // MarshalJSON implements the json.Marshaller interface for type GatewayRouteListResult. 16736 func (g GatewayRouteListResult) MarshalJSON() ([]byte, error) { 16737 objectMap := make(map[string]any) 16738 populate(objectMap, "value", g.Value) 16739 return json.Marshal(objectMap) 16740 } 16741 16742 // UnmarshalJSON implements the json.Unmarshaller interface for type GatewayRouteListResult. 16743 func (g *GatewayRouteListResult) UnmarshalJSON(data []byte) error { 16744 var rawMsg map[string]json.RawMessage 16745 if err := json.Unmarshal(data, &rawMsg); err != nil { 16746 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16747 } 16748 for key, val := range rawMsg { 16749 var err error 16750 switch key { 16751 case "value": 16752 err = unpopulate(val, "Value", &g.Value) 16753 delete(rawMsg, key) 16754 } 16755 if err != nil { 16756 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16757 } 16758 } 16759 return nil 16760 } 16761 16762 // MarshalJSON implements the json.Marshaller interface for type GenerateExpressRoutePortsLOARequest. 16763 func (g GenerateExpressRoutePortsLOARequest) MarshalJSON() ([]byte, error) { 16764 objectMap := make(map[string]any) 16765 populate(objectMap, "customerName", g.CustomerName) 16766 return json.Marshal(objectMap) 16767 } 16768 16769 // UnmarshalJSON implements the json.Unmarshaller interface for type GenerateExpressRoutePortsLOARequest. 16770 func (g *GenerateExpressRoutePortsLOARequest) UnmarshalJSON(data []byte) error { 16771 var rawMsg map[string]json.RawMessage 16772 if err := json.Unmarshal(data, &rawMsg); err != nil { 16773 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16774 } 16775 for key, val := range rawMsg { 16776 var err error 16777 switch key { 16778 case "customerName": 16779 err = unpopulate(val, "CustomerName", &g.CustomerName) 16780 delete(rawMsg, key) 16781 } 16782 if err != nil { 16783 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16784 } 16785 } 16786 return nil 16787 } 16788 16789 // MarshalJSON implements the json.Marshaller interface for type GenerateExpressRoutePortsLOAResult. 16790 func (g GenerateExpressRoutePortsLOAResult) MarshalJSON() ([]byte, error) { 16791 objectMap := make(map[string]any) 16792 populate(objectMap, "encodedContent", g.EncodedContent) 16793 return json.Marshal(objectMap) 16794 } 16795 16796 // UnmarshalJSON implements the json.Unmarshaller interface for type GenerateExpressRoutePortsLOAResult. 16797 func (g *GenerateExpressRoutePortsLOAResult) UnmarshalJSON(data []byte) error { 16798 var rawMsg map[string]json.RawMessage 16799 if err := json.Unmarshal(data, &rawMsg); err != nil { 16800 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16801 } 16802 for key, val := range rawMsg { 16803 var err error 16804 switch key { 16805 case "encodedContent": 16806 err = unpopulate(val, "EncodedContent", &g.EncodedContent) 16807 delete(rawMsg, key) 16808 } 16809 if err != nil { 16810 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16811 } 16812 } 16813 return nil 16814 } 16815 16816 // MarshalJSON implements the json.Marshaller interface for type GetInboundRoutesParameters. 16817 func (g GetInboundRoutesParameters) MarshalJSON() ([]byte, error) { 16818 objectMap := make(map[string]any) 16819 populate(objectMap, "connectionType", g.ConnectionType) 16820 populate(objectMap, "resourceUri", g.ResourceURI) 16821 return json.Marshal(objectMap) 16822 } 16823 16824 // UnmarshalJSON implements the json.Unmarshaller interface for type GetInboundRoutesParameters. 16825 func (g *GetInboundRoutesParameters) UnmarshalJSON(data []byte) error { 16826 var rawMsg map[string]json.RawMessage 16827 if err := json.Unmarshal(data, &rawMsg); err != nil { 16828 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16829 } 16830 for key, val := range rawMsg { 16831 var err error 16832 switch key { 16833 case "connectionType": 16834 err = unpopulate(val, "ConnectionType", &g.ConnectionType) 16835 delete(rawMsg, key) 16836 case "resourceUri": 16837 err = unpopulate(val, "ResourceURI", &g.ResourceURI) 16838 delete(rawMsg, key) 16839 } 16840 if err != nil { 16841 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16842 } 16843 } 16844 return nil 16845 } 16846 16847 // MarshalJSON implements the json.Marshaller interface for type GetOutboundRoutesParameters. 16848 func (g GetOutboundRoutesParameters) MarshalJSON() ([]byte, error) { 16849 objectMap := make(map[string]any) 16850 populate(objectMap, "connectionType", g.ConnectionType) 16851 populate(objectMap, "resourceUri", g.ResourceURI) 16852 return json.Marshal(objectMap) 16853 } 16854 16855 // UnmarshalJSON implements the json.Unmarshaller interface for type GetOutboundRoutesParameters. 16856 func (g *GetOutboundRoutesParameters) UnmarshalJSON(data []byte) error { 16857 var rawMsg map[string]json.RawMessage 16858 if err := json.Unmarshal(data, &rawMsg); err != nil { 16859 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16860 } 16861 for key, val := range rawMsg { 16862 var err error 16863 switch key { 16864 case "connectionType": 16865 err = unpopulate(val, "ConnectionType", &g.ConnectionType) 16866 delete(rawMsg, key) 16867 case "resourceUri": 16868 err = unpopulate(val, "ResourceURI", &g.ResourceURI) 16869 delete(rawMsg, key) 16870 } 16871 if err != nil { 16872 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16873 } 16874 } 16875 return nil 16876 } 16877 16878 // MarshalJSON implements the json.Marshaller interface for type GetVPNSitesConfigurationRequest. 16879 func (g GetVPNSitesConfigurationRequest) MarshalJSON() ([]byte, error) { 16880 objectMap := make(map[string]any) 16881 populate(objectMap, "outputBlobSasUrl", g.OutputBlobSasURL) 16882 populate(objectMap, "vpnSites", g.VPNSites) 16883 return json.Marshal(objectMap) 16884 } 16885 16886 // UnmarshalJSON implements the json.Unmarshaller interface for type GetVPNSitesConfigurationRequest. 16887 func (g *GetVPNSitesConfigurationRequest) UnmarshalJSON(data []byte) error { 16888 var rawMsg map[string]json.RawMessage 16889 if err := json.Unmarshal(data, &rawMsg); err != nil { 16890 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16891 } 16892 for key, val := range rawMsg { 16893 var err error 16894 switch key { 16895 case "outputBlobSasUrl": 16896 err = unpopulate(val, "OutputBlobSasURL", &g.OutputBlobSasURL) 16897 delete(rawMsg, key) 16898 case "vpnSites": 16899 err = unpopulate(val, "VPNSites", &g.VPNSites) 16900 delete(rawMsg, key) 16901 } 16902 if err != nil { 16903 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16904 } 16905 } 16906 return nil 16907 } 16908 16909 // MarshalJSON implements the json.Marshaller interface for type Group. 16910 func (g Group) MarshalJSON() ([]byte, error) { 16911 objectMap := make(map[string]any) 16912 populate(objectMap, "etag", g.Etag) 16913 populate(objectMap, "id", g.ID) 16914 populate(objectMap, "name", g.Name) 16915 populate(objectMap, "properties", g.Properties) 16916 populate(objectMap, "systemData", g.SystemData) 16917 populate(objectMap, "type", g.Type) 16918 return json.Marshal(objectMap) 16919 } 16920 16921 // UnmarshalJSON implements the json.Unmarshaller interface for type Group. 16922 func (g *Group) UnmarshalJSON(data []byte) error { 16923 var rawMsg map[string]json.RawMessage 16924 if err := json.Unmarshal(data, &rawMsg); err != nil { 16925 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16926 } 16927 for key, val := range rawMsg { 16928 var err error 16929 switch key { 16930 case "etag": 16931 err = unpopulate(val, "Etag", &g.Etag) 16932 delete(rawMsg, key) 16933 case "id": 16934 err = unpopulate(val, "ID", &g.ID) 16935 delete(rawMsg, key) 16936 case "name": 16937 err = unpopulate(val, "Name", &g.Name) 16938 delete(rawMsg, key) 16939 case "properties": 16940 err = unpopulate(val, "Properties", &g.Properties) 16941 delete(rawMsg, key) 16942 case "systemData": 16943 err = unpopulate(val, "SystemData", &g.SystemData) 16944 delete(rawMsg, key) 16945 case "type": 16946 err = unpopulate(val, "Type", &g.Type) 16947 delete(rawMsg, key) 16948 } 16949 if err != nil { 16950 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16951 } 16952 } 16953 return nil 16954 } 16955 16956 // MarshalJSON implements the json.Marshaller interface for type GroupByUserSession. 16957 func (g GroupByUserSession) MarshalJSON() ([]byte, error) { 16958 objectMap := make(map[string]any) 16959 populate(objectMap, "groupByVariables", g.GroupByVariables) 16960 return json.Marshal(objectMap) 16961 } 16962 16963 // UnmarshalJSON implements the json.Unmarshaller interface for type GroupByUserSession. 16964 func (g *GroupByUserSession) UnmarshalJSON(data []byte) error { 16965 var rawMsg map[string]json.RawMessage 16966 if err := json.Unmarshal(data, &rawMsg); err != nil { 16967 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16968 } 16969 for key, val := range rawMsg { 16970 var err error 16971 switch key { 16972 case "groupByVariables": 16973 err = unpopulate(val, "GroupByVariables", &g.GroupByVariables) 16974 delete(rawMsg, key) 16975 } 16976 if err != nil { 16977 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16978 } 16979 } 16980 return nil 16981 } 16982 16983 // MarshalJSON implements the json.Marshaller interface for type GroupByVariable. 16984 func (g GroupByVariable) MarshalJSON() ([]byte, error) { 16985 objectMap := make(map[string]any) 16986 populate(objectMap, "variableName", g.VariableName) 16987 return json.Marshal(objectMap) 16988 } 16989 16990 // UnmarshalJSON implements the json.Unmarshaller interface for type GroupByVariable. 16991 func (g *GroupByVariable) UnmarshalJSON(data []byte) error { 16992 var rawMsg map[string]json.RawMessage 16993 if err := json.Unmarshal(data, &rawMsg); err != nil { 16994 return fmt.Errorf("unmarshalling type %T: %v", g, err) 16995 } 16996 for key, val := range rawMsg { 16997 var err error 16998 switch key { 16999 case "variableName": 17000 err = unpopulate(val, "VariableName", &g.VariableName) 17001 delete(rawMsg, key) 17002 } 17003 if err != nil { 17004 return fmt.Errorf("unmarshalling type %T: %v", g, err) 17005 } 17006 } 17007 return nil 17008 } 17009 17010 // MarshalJSON implements the json.Marshaller interface for type GroupListResult. 17011 func (g GroupListResult) MarshalJSON() ([]byte, error) { 17012 objectMap := make(map[string]any) 17013 populate(objectMap, "nextLink", g.NextLink) 17014 populate(objectMap, "value", g.Value) 17015 return json.Marshal(objectMap) 17016 } 17017 17018 // UnmarshalJSON implements the json.Unmarshaller interface for type GroupListResult. 17019 func (g *GroupListResult) UnmarshalJSON(data []byte) error { 17020 var rawMsg map[string]json.RawMessage 17021 if err := json.Unmarshal(data, &rawMsg); err != nil { 17022 return fmt.Errorf("unmarshalling type %T: %v", g, err) 17023 } 17024 for key, val := range rawMsg { 17025 var err error 17026 switch key { 17027 case "nextLink": 17028 err = unpopulate(val, "NextLink", &g.NextLink) 17029 delete(rawMsg, key) 17030 case "value": 17031 err = unpopulate(val, "Value", &g.Value) 17032 delete(rawMsg, key) 17033 } 17034 if err != nil { 17035 return fmt.Errorf("unmarshalling type %T: %v", g, err) 17036 } 17037 } 17038 return nil 17039 } 17040 17041 // MarshalJSON implements the json.Marshaller interface for type GroupProperties. 17042 func (g GroupProperties) MarshalJSON() ([]byte, error) { 17043 objectMap := make(map[string]any) 17044 populate(objectMap, "description", g.Description) 17045 populate(objectMap, "memberType", g.MemberType) 17046 populate(objectMap, "provisioningState", g.ProvisioningState) 17047 populate(objectMap, "resourceGuid", g.ResourceGUID) 17048 return json.Marshal(objectMap) 17049 } 17050 17051 // UnmarshalJSON implements the json.Unmarshaller interface for type GroupProperties. 17052 func (g *GroupProperties) UnmarshalJSON(data []byte) error { 17053 var rawMsg map[string]json.RawMessage 17054 if err := json.Unmarshal(data, &rawMsg); err != nil { 17055 return fmt.Errorf("unmarshalling type %T: %v", g, err) 17056 } 17057 for key, val := range rawMsg { 17058 var err error 17059 switch key { 17060 case "description": 17061 err = unpopulate(val, "Description", &g.Description) 17062 delete(rawMsg, key) 17063 case "memberType": 17064 err = unpopulate(val, "MemberType", &g.MemberType) 17065 delete(rawMsg, key) 17066 case "provisioningState": 17067 err = unpopulate(val, "ProvisioningState", &g.ProvisioningState) 17068 delete(rawMsg, key) 17069 case "resourceGuid": 17070 err = unpopulate(val, "ResourceGUID", &g.ResourceGUID) 17071 delete(rawMsg, key) 17072 } 17073 if err != nil { 17074 return fmt.Errorf("unmarshalling type %T: %v", g, err) 17075 } 17076 } 17077 return nil 17078 } 17079 17080 // MarshalJSON implements the json.Marshaller interface for type HTTPConfiguration. 17081 func (h HTTPConfiguration) MarshalJSON() ([]byte, error) { 17082 objectMap := make(map[string]any) 17083 populate(objectMap, "headers", h.Headers) 17084 populate(objectMap, "method", h.Method) 17085 populate(objectMap, "validStatusCodes", h.ValidStatusCodes) 17086 return json.Marshal(objectMap) 17087 } 17088 17089 // UnmarshalJSON implements the json.Unmarshaller interface for type HTTPConfiguration. 17090 func (h *HTTPConfiguration) UnmarshalJSON(data []byte) error { 17091 var rawMsg map[string]json.RawMessage 17092 if err := json.Unmarshal(data, &rawMsg); err != nil { 17093 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17094 } 17095 for key, val := range rawMsg { 17096 var err error 17097 switch key { 17098 case "headers": 17099 err = unpopulate(val, "Headers", &h.Headers) 17100 delete(rawMsg, key) 17101 case "method": 17102 err = unpopulate(val, "Method", &h.Method) 17103 delete(rawMsg, key) 17104 case "validStatusCodes": 17105 err = unpopulate(val, "ValidStatusCodes", &h.ValidStatusCodes) 17106 delete(rawMsg, key) 17107 } 17108 if err != nil { 17109 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17110 } 17111 } 17112 return nil 17113 } 17114 17115 // MarshalJSON implements the json.Marshaller interface for type HTTPHeader. 17116 func (h HTTPHeader) MarshalJSON() ([]byte, error) { 17117 objectMap := make(map[string]any) 17118 populate(objectMap, "name", h.Name) 17119 populate(objectMap, "value", h.Value) 17120 return json.Marshal(objectMap) 17121 } 17122 17123 // UnmarshalJSON implements the json.Unmarshaller interface for type HTTPHeader. 17124 func (h *HTTPHeader) UnmarshalJSON(data []byte) error { 17125 var rawMsg map[string]json.RawMessage 17126 if err := json.Unmarshal(data, &rawMsg); err != nil { 17127 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17128 } 17129 for key, val := range rawMsg { 17130 var err error 17131 switch key { 17132 case "name": 17133 err = unpopulate(val, "Name", &h.Name) 17134 delete(rawMsg, key) 17135 case "value": 17136 err = unpopulate(val, "Value", &h.Value) 17137 delete(rawMsg, key) 17138 } 17139 if err != nil { 17140 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17141 } 17142 } 17143 return nil 17144 } 17145 17146 // MarshalJSON implements the json.Marshaller interface for type HeaderValueMatcher. 17147 func (h HeaderValueMatcher) MarshalJSON() ([]byte, error) { 17148 objectMap := make(map[string]any) 17149 populate(objectMap, "ignoreCase", h.IgnoreCase) 17150 populate(objectMap, "negate", h.Negate) 17151 populate(objectMap, "pattern", h.Pattern) 17152 return json.Marshal(objectMap) 17153 } 17154 17155 // UnmarshalJSON implements the json.Unmarshaller interface for type HeaderValueMatcher. 17156 func (h *HeaderValueMatcher) UnmarshalJSON(data []byte) error { 17157 var rawMsg map[string]json.RawMessage 17158 if err := json.Unmarshal(data, &rawMsg); err != nil { 17159 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17160 } 17161 for key, val := range rawMsg { 17162 var err error 17163 switch key { 17164 case "ignoreCase": 17165 err = unpopulate(val, "IgnoreCase", &h.IgnoreCase) 17166 delete(rawMsg, key) 17167 case "negate": 17168 err = unpopulate(val, "Negate", &h.Negate) 17169 delete(rawMsg, key) 17170 case "pattern": 17171 err = unpopulate(val, "Pattern", &h.Pattern) 17172 delete(rawMsg, key) 17173 } 17174 if err != nil { 17175 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17176 } 17177 } 17178 return nil 17179 } 17180 17181 // MarshalJSON implements the json.Marshaller interface for type HopLink. 17182 func (h HopLink) MarshalJSON() ([]byte, error) { 17183 objectMap := make(map[string]any) 17184 populate(objectMap, "context", h.Context) 17185 populate(objectMap, "issues", h.Issues) 17186 populate(objectMap, "linkType", h.LinkType) 17187 populate(objectMap, "nextHopId", h.NextHopID) 17188 populate(objectMap, "properties", h.Properties) 17189 populate(objectMap, "resourceId", h.ResourceID) 17190 return json.Marshal(objectMap) 17191 } 17192 17193 // UnmarshalJSON implements the json.Unmarshaller interface for type HopLink. 17194 func (h *HopLink) UnmarshalJSON(data []byte) error { 17195 var rawMsg map[string]json.RawMessage 17196 if err := json.Unmarshal(data, &rawMsg); err != nil { 17197 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17198 } 17199 for key, val := range rawMsg { 17200 var err error 17201 switch key { 17202 case "context": 17203 err = unpopulate(val, "Context", &h.Context) 17204 delete(rawMsg, key) 17205 case "issues": 17206 err = unpopulate(val, "Issues", &h.Issues) 17207 delete(rawMsg, key) 17208 case "linkType": 17209 err = unpopulate(val, "LinkType", &h.LinkType) 17210 delete(rawMsg, key) 17211 case "nextHopId": 17212 err = unpopulate(val, "NextHopID", &h.NextHopID) 17213 delete(rawMsg, key) 17214 case "properties": 17215 err = unpopulate(val, "Properties", &h.Properties) 17216 delete(rawMsg, key) 17217 case "resourceId": 17218 err = unpopulate(val, "ResourceID", &h.ResourceID) 17219 delete(rawMsg, key) 17220 } 17221 if err != nil { 17222 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17223 } 17224 } 17225 return nil 17226 } 17227 17228 // MarshalJSON implements the json.Marshaller interface for type HopLinkProperties. 17229 func (h HopLinkProperties) MarshalJSON() ([]byte, error) { 17230 objectMap := make(map[string]any) 17231 populate(objectMap, "roundTripTimeAvg", h.RoundTripTimeAvg) 17232 populate(objectMap, "roundTripTimeMax", h.RoundTripTimeMax) 17233 populate(objectMap, "roundTripTimeMin", h.RoundTripTimeMin) 17234 return json.Marshal(objectMap) 17235 } 17236 17237 // UnmarshalJSON implements the json.Unmarshaller interface for type HopLinkProperties. 17238 func (h *HopLinkProperties) UnmarshalJSON(data []byte) error { 17239 var rawMsg map[string]json.RawMessage 17240 if err := json.Unmarshal(data, &rawMsg); err != nil { 17241 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17242 } 17243 for key, val := range rawMsg { 17244 var err error 17245 switch key { 17246 case "roundTripTimeAvg": 17247 err = unpopulate(val, "RoundTripTimeAvg", &h.RoundTripTimeAvg) 17248 delete(rawMsg, key) 17249 case "roundTripTimeMax": 17250 err = unpopulate(val, "RoundTripTimeMax", &h.RoundTripTimeMax) 17251 delete(rawMsg, key) 17252 case "roundTripTimeMin": 17253 err = unpopulate(val, "RoundTripTimeMin", &h.RoundTripTimeMin) 17254 delete(rawMsg, key) 17255 } 17256 if err != nil { 17257 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17258 } 17259 } 17260 return nil 17261 } 17262 17263 // MarshalJSON implements the json.Marshaller interface for type Hub. 17264 func (h Hub) MarshalJSON() ([]byte, error) { 17265 objectMap := make(map[string]any) 17266 populate(objectMap, "resourceId", h.ResourceID) 17267 populate(objectMap, "resourceType", h.ResourceType) 17268 return json.Marshal(objectMap) 17269 } 17270 17271 // UnmarshalJSON implements the json.Unmarshaller interface for type Hub. 17272 func (h *Hub) UnmarshalJSON(data []byte) error { 17273 var rawMsg map[string]json.RawMessage 17274 if err := json.Unmarshal(data, &rawMsg); err != nil { 17275 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17276 } 17277 for key, val := range rawMsg { 17278 var err error 17279 switch key { 17280 case "resourceId": 17281 err = unpopulate(val, "ResourceID", &h.ResourceID) 17282 delete(rawMsg, key) 17283 case "resourceType": 17284 err = unpopulate(val, "ResourceType", &h.ResourceType) 17285 delete(rawMsg, key) 17286 } 17287 if err != nil { 17288 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17289 } 17290 } 17291 return nil 17292 } 17293 17294 // MarshalJSON implements the json.Marshaller interface for type HubIPAddresses. 17295 func (h HubIPAddresses) MarshalJSON() ([]byte, error) { 17296 objectMap := make(map[string]any) 17297 populate(objectMap, "privateIPAddress", h.PrivateIPAddress) 17298 populate(objectMap, "publicIPs", h.PublicIPs) 17299 return json.Marshal(objectMap) 17300 } 17301 17302 // UnmarshalJSON implements the json.Unmarshaller interface for type HubIPAddresses. 17303 func (h *HubIPAddresses) UnmarshalJSON(data []byte) error { 17304 var rawMsg map[string]json.RawMessage 17305 if err := json.Unmarshal(data, &rawMsg); err != nil { 17306 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17307 } 17308 for key, val := range rawMsg { 17309 var err error 17310 switch key { 17311 case "privateIPAddress": 17312 err = unpopulate(val, "PrivateIPAddress", &h.PrivateIPAddress) 17313 delete(rawMsg, key) 17314 case "publicIPs": 17315 err = unpopulate(val, "PublicIPs", &h.PublicIPs) 17316 delete(rawMsg, key) 17317 } 17318 if err != nil { 17319 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17320 } 17321 } 17322 return nil 17323 } 17324 17325 // MarshalJSON implements the json.Marshaller interface for type HubIPConfiguration. 17326 func (h HubIPConfiguration) MarshalJSON() ([]byte, error) { 17327 objectMap := make(map[string]any) 17328 populate(objectMap, "etag", h.Etag) 17329 populate(objectMap, "id", h.ID) 17330 populate(objectMap, "name", h.Name) 17331 populate(objectMap, "properties", h.Properties) 17332 populate(objectMap, "type", h.Type) 17333 return json.Marshal(objectMap) 17334 } 17335 17336 // UnmarshalJSON implements the json.Unmarshaller interface for type HubIPConfiguration. 17337 func (h *HubIPConfiguration) UnmarshalJSON(data []byte) error { 17338 var rawMsg map[string]json.RawMessage 17339 if err := json.Unmarshal(data, &rawMsg); err != nil { 17340 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17341 } 17342 for key, val := range rawMsg { 17343 var err error 17344 switch key { 17345 case "etag": 17346 err = unpopulate(val, "Etag", &h.Etag) 17347 delete(rawMsg, key) 17348 case "id": 17349 err = unpopulate(val, "ID", &h.ID) 17350 delete(rawMsg, key) 17351 case "name": 17352 err = unpopulate(val, "Name", &h.Name) 17353 delete(rawMsg, key) 17354 case "properties": 17355 err = unpopulate(val, "Properties", &h.Properties) 17356 delete(rawMsg, key) 17357 case "type": 17358 err = unpopulate(val, "Type", &h.Type) 17359 delete(rawMsg, key) 17360 } 17361 if err != nil { 17362 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17363 } 17364 } 17365 return nil 17366 } 17367 17368 // MarshalJSON implements the json.Marshaller interface for type HubIPConfigurationPropertiesFormat. 17369 func (h HubIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 17370 objectMap := make(map[string]any) 17371 populate(objectMap, "privateIPAddress", h.PrivateIPAddress) 17372 populate(objectMap, "privateIPAllocationMethod", h.PrivateIPAllocationMethod) 17373 populate(objectMap, "provisioningState", h.ProvisioningState) 17374 populate(objectMap, "publicIPAddress", h.PublicIPAddress) 17375 populate(objectMap, "subnet", h.Subnet) 17376 return json.Marshal(objectMap) 17377 } 17378 17379 // UnmarshalJSON implements the json.Unmarshaller interface for type HubIPConfigurationPropertiesFormat. 17380 func (h *HubIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 17381 var rawMsg map[string]json.RawMessage 17382 if err := json.Unmarshal(data, &rawMsg); err != nil { 17383 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17384 } 17385 for key, val := range rawMsg { 17386 var err error 17387 switch key { 17388 case "privateIPAddress": 17389 err = unpopulate(val, "PrivateIPAddress", &h.PrivateIPAddress) 17390 delete(rawMsg, key) 17391 case "privateIPAllocationMethod": 17392 err = unpopulate(val, "PrivateIPAllocationMethod", &h.PrivateIPAllocationMethod) 17393 delete(rawMsg, key) 17394 case "provisioningState": 17395 err = unpopulate(val, "ProvisioningState", &h.ProvisioningState) 17396 delete(rawMsg, key) 17397 case "publicIPAddress": 17398 err = unpopulate(val, "PublicIPAddress", &h.PublicIPAddress) 17399 delete(rawMsg, key) 17400 case "subnet": 17401 err = unpopulate(val, "Subnet", &h.Subnet) 17402 delete(rawMsg, key) 17403 } 17404 if err != nil { 17405 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17406 } 17407 } 17408 return nil 17409 } 17410 17411 // MarshalJSON implements the json.Marshaller interface for type HubPublicIPAddresses. 17412 func (h HubPublicIPAddresses) MarshalJSON() ([]byte, error) { 17413 objectMap := make(map[string]any) 17414 populate(objectMap, "addresses", h.Addresses) 17415 populate(objectMap, "count", h.Count) 17416 return json.Marshal(objectMap) 17417 } 17418 17419 // UnmarshalJSON implements the json.Unmarshaller interface for type HubPublicIPAddresses. 17420 func (h *HubPublicIPAddresses) UnmarshalJSON(data []byte) error { 17421 var rawMsg map[string]json.RawMessage 17422 if err := json.Unmarshal(data, &rawMsg); err != nil { 17423 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17424 } 17425 for key, val := range rawMsg { 17426 var err error 17427 switch key { 17428 case "addresses": 17429 err = unpopulate(val, "Addresses", &h.Addresses) 17430 delete(rawMsg, key) 17431 case "count": 17432 err = unpopulate(val, "Count", &h.Count) 17433 delete(rawMsg, key) 17434 } 17435 if err != nil { 17436 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17437 } 17438 } 17439 return nil 17440 } 17441 17442 // MarshalJSON implements the json.Marshaller interface for type HubRoute. 17443 func (h HubRoute) MarshalJSON() ([]byte, error) { 17444 objectMap := make(map[string]any) 17445 populate(objectMap, "destinationType", h.DestinationType) 17446 populate(objectMap, "destinations", h.Destinations) 17447 populate(objectMap, "name", h.Name) 17448 populate(objectMap, "nextHop", h.NextHop) 17449 populate(objectMap, "nextHopType", h.NextHopType) 17450 return json.Marshal(objectMap) 17451 } 17452 17453 // UnmarshalJSON implements the json.Unmarshaller interface for type HubRoute. 17454 func (h *HubRoute) UnmarshalJSON(data []byte) error { 17455 var rawMsg map[string]json.RawMessage 17456 if err := json.Unmarshal(data, &rawMsg); err != nil { 17457 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17458 } 17459 for key, val := range rawMsg { 17460 var err error 17461 switch key { 17462 case "destinationType": 17463 err = unpopulate(val, "DestinationType", &h.DestinationType) 17464 delete(rawMsg, key) 17465 case "destinations": 17466 err = unpopulate(val, "Destinations", &h.Destinations) 17467 delete(rawMsg, key) 17468 case "name": 17469 err = unpopulate(val, "Name", &h.Name) 17470 delete(rawMsg, key) 17471 case "nextHop": 17472 err = unpopulate(val, "NextHop", &h.NextHop) 17473 delete(rawMsg, key) 17474 case "nextHopType": 17475 err = unpopulate(val, "NextHopType", &h.NextHopType) 17476 delete(rawMsg, key) 17477 } 17478 if err != nil { 17479 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17480 } 17481 } 17482 return nil 17483 } 17484 17485 // MarshalJSON implements the json.Marshaller interface for type HubRouteTable. 17486 func (h HubRouteTable) MarshalJSON() ([]byte, error) { 17487 objectMap := make(map[string]any) 17488 populate(objectMap, "etag", h.Etag) 17489 populate(objectMap, "id", h.ID) 17490 populate(objectMap, "name", h.Name) 17491 populate(objectMap, "properties", h.Properties) 17492 populate(objectMap, "type", h.Type) 17493 return json.Marshal(objectMap) 17494 } 17495 17496 // UnmarshalJSON implements the json.Unmarshaller interface for type HubRouteTable. 17497 func (h *HubRouteTable) UnmarshalJSON(data []byte) error { 17498 var rawMsg map[string]json.RawMessage 17499 if err := json.Unmarshal(data, &rawMsg); err != nil { 17500 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17501 } 17502 for key, val := range rawMsg { 17503 var err error 17504 switch key { 17505 case "etag": 17506 err = unpopulate(val, "Etag", &h.Etag) 17507 delete(rawMsg, key) 17508 case "id": 17509 err = unpopulate(val, "ID", &h.ID) 17510 delete(rawMsg, key) 17511 case "name": 17512 err = unpopulate(val, "Name", &h.Name) 17513 delete(rawMsg, key) 17514 case "properties": 17515 err = unpopulate(val, "Properties", &h.Properties) 17516 delete(rawMsg, key) 17517 case "type": 17518 err = unpopulate(val, "Type", &h.Type) 17519 delete(rawMsg, key) 17520 } 17521 if err != nil { 17522 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17523 } 17524 } 17525 return nil 17526 } 17527 17528 // MarshalJSON implements the json.Marshaller interface for type HubRouteTableProperties. 17529 func (h HubRouteTableProperties) MarshalJSON() ([]byte, error) { 17530 objectMap := make(map[string]any) 17531 populate(objectMap, "associatedConnections", h.AssociatedConnections) 17532 populate(objectMap, "labels", h.Labels) 17533 populate(objectMap, "propagatingConnections", h.PropagatingConnections) 17534 populate(objectMap, "provisioningState", h.ProvisioningState) 17535 populate(objectMap, "routes", h.Routes) 17536 return json.Marshal(objectMap) 17537 } 17538 17539 // UnmarshalJSON implements the json.Unmarshaller interface for type HubRouteTableProperties. 17540 func (h *HubRouteTableProperties) UnmarshalJSON(data []byte) error { 17541 var rawMsg map[string]json.RawMessage 17542 if err := json.Unmarshal(data, &rawMsg); err != nil { 17543 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17544 } 17545 for key, val := range rawMsg { 17546 var err error 17547 switch key { 17548 case "associatedConnections": 17549 err = unpopulate(val, "AssociatedConnections", &h.AssociatedConnections) 17550 delete(rawMsg, key) 17551 case "labels": 17552 err = unpopulate(val, "Labels", &h.Labels) 17553 delete(rawMsg, key) 17554 case "propagatingConnections": 17555 err = unpopulate(val, "PropagatingConnections", &h.PropagatingConnections) 17556 delete(rawMsg, key) 17557 case "provisioningState": 17558 err = unpopulate(val, "ProvisioningState", &h.ProvisioningState) 17559 delete(rawMsg, key) 17560 case "routes": 17561 err = unpopulate(val, "Routes", &h.Routes) 17562 delete(rawMsg, key) 17563 } 17564 if err != nil { 17565 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17566 } 17567 } 17568 return nil 17569 } 17570 17571 // MarshalJSON implements the json.Marshaller interface for type HubVirtualNetworkConnection. 17572 func (h HubVirtualNetworkConnection) MarshalJSON() ([]byte, error) { 17573 objectMap := make(map[string]any) 17574 populate(objectMap, "etag", h.Etag) 17575 populate(objectMap, "id", h.ID) 17576 populate(objectMap, "name", h.Name) 17577 populate(objectMap, "properties", h.Properties) 17578 return json.Marshal(objectMap) 17579 } 17580 17581 // UnmarshalJSON implements the json.Unmarshaller interface for type HubVirtualNetworkConnection. 17582 func (h *HubVirtualNetworkConnection) UnmarshalJSON(data []byte) error { 17583 var rawMsg map[string]json.RawMessage 17584 if err := json.Unmarshal(data, &rawMsg); err != nil { 17585 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17586 } 17587 for key, val := range rawMsg { 17588 var err error 17589 switch key { 17590 case "etag": 17591 err = unpopulate(val, "Etag", &h.Etag) 17592 delete(rawMsg, key) 17593 case "id": 17594 err = unpopulate(val, "ID", &h.ID) 17595 delete(rawMsg, key) 17596 case "name": 17597 err = unpopulate(val, "Name", &h.Name) 17598 delete(rawMsg, key) 17599 case "properties": 17600 err = unpopulate(val, "Properties", &h.Properties) 17601 delete(rawMsg, key) 17602 } 17603 if err != nil { 17604 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17605 } 17606 } 17607 return nil 17608 } 17609 17610 // MarshalJSON implements the json.Marshaller interface for type HubVirtualNetworkConnectionProperties. 17611 func (h HubVirtualNetworkConnectionProperties) MarshalJSON() ([]byte, error) { 17612 objectMap := make(map[string]any) 17613 populate(objectMap, "allowHubToRemoteVnetTransit", h.AllowHubToRemoteVnetTransit) 17614 populate(objectMap, "allowRemoteVnetToUseHubVnetGateways", h.AllowRemoteVnetToUseHubVnetGateways) 17615 populate(objectMap, "enableInternetSecurity", h.EnableInternetSecurity) 17616 populate(objectMap, "provisioningState", h.ProvisioningState) 17617 populate(objectMap, "remoteVirtualNetwork", h.RemoteVirtualNetwork) 17618 populate(objectMap, "routingConfiguration", h.RoutingConfiguration) 17619 return json.Marshal(objectMap) 17620 } 17621 17622 // UnmarshalJSON implements the json.Unmarshaller interface for type HubVirtualNetworkConnectionProperties. 17623 func (h *HubVirtualNetworkConnectionProperties) UnmarshalJSON(data []byte) error { 17624 var rawMsg map[string]json.RawMessage 17625 if err := json.Unmarshal(data, &rawMsg); err != nil { 17626 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17627 } 17628 for key, val := range rawMsg { 17629 var err error 17630 switch key { 17631 case "allowHubToRemoteVnetTransit": 17632 err = unpopulate(val, "AllowHubToRemoteVnetTransit", &h.AllowHubToRemoteVnetTransit) 17633 delete(rawMsg, key) 17634 case "allowRemoteVnetToUseHubVnetGateways": 17635 err = unpopulate(val, "AllowRemoteVnetToUseHubVnetGateways", &h.AllowRemoteVnetToUseHubVnetGateways) 17636 delete(rawMsg, key) 17637 case "enableInternetSecurity": 17638 err = unpopulate(val, "EnableInternetSecurity", &h.EnableInternetSecurity) 17639 delete(rawMsg, key) 17640 case "provisioningState": 17641 err = unpopulate(val, "ProvisioningState", &h.ProvisioningState) 17642 delete(rawMsg, key) 17643 case "remoteVirtualNetwork": 17644 err = unpopulate(val, "RemoteVirtualNetwork", &h.RemoteVirtualNetwork) 17645 delete(rawMsg, key) 17646 case "routingConfiguration": 17647 err = unpopulate(val, "RoutingConfiguration", &h.RoutingConfiguration) 17648 delete(rawMsg, key) 17649 } 17650 if err != nil { 17651 return fmt.Errorf("unmarshalling type %T: %v", h, err) 17652 } 17653 } 17654 return nil 17655 } 17656 17657 // MarshalJSON implements the json.Marshaller interface for type IDPSQueryObject. 17658 func (i IDPSQueryObject) MarshalJSON() ([]byte, error) { 17659 objectMap := make(map[string]any) 17660 populate(objectMap, "filters", i.Filters) 17661 populate(objectMap, "orderBy", i.OrderBy) 17662 populate(objectMap, "resultsPerPage", i.ResultsPerPage) 17663 populate(objectMap, "search", i.Search) 17664 populate(objectMap, "skip", i.Skip) 17665 return json.Marshal(objectMap) 17666 } 17667 17668 // UnmarshalJSON implements the json.Unmarshaller interface for type IDPSQueryObject. 17669 func (i *IDPSQueryObject) UnmarshalJSON(data []byte) error { 17670 var rawMsg map[string]json.RawMessage 17671 if err := json.Unmarshal(data, &rawMsg); err != nil { 17672 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17673 } 17674 for key, val := range rawMsg { 17675 var err error 17676 switch key { 17677 case "filters": 17678 err = unpopulate(val, "Filters", &i.Filters) 17679 delete(rawMsg, key) 17680 case "orderBy": 17681 err = unpopulate(val, "OrderBy", &i.OrderBy) 17682 delete(rawMsg, key) 17683 case "resultsPerPage": 17684 err = unpopulate(val, "ResultsPerPage", &i.ResultsPerPage) 17685 delete(rawMsg, key) 17686 case "search": 17687 err = unpopulate(val, "Search", &i.Search) 17688 delete(rawMsg, key) 17689 case "skip": 17690 err = unpopulate(val, "Skip", &i.Skip) 17691 delete(rawMsg, key) 17692 } 17693 if err != nil { 17694 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17695 } 17696 } 17697 return nil 17698 } 17699 17700 // MarshalJSON implements the json.Marshaller interface for type IPAddressAvailabilityResult. 17701 func (i IPAddressAvailabilityResult) MarshalJSON() ([]byte, error) { 17702 objectMap := make(map[string]any) 17703 populate(objectMap, "available", i.Available) 17704 populate(objectMap, "availableIPAddresses", i.AvailableIPAddresses) 17705 populate(objectMap, "isPlatformReserved", i.IsPlatformReserved) 17706 return json.Marshal(objectMap) 17707 } 17708 17709 // UnmarshalJSON implements the json.Unmarshaller interface for type IPAddressAvailabilityResult. 17710 func (i *IPAddressAvailabilityResult) UnmarshalJSON(data []byte) error { 17711 var rawMsg map[string]json.RawMessage 17712 if err := json.Unmarshal(data, &rawMsg); err != nil { 17713 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17714 } 17715 for key, val := range rawMsg { 17716 var err error 17717 switch key { 17718 case "available": 17719 err = unpopulate(val, "Available", &i.Available) 17720 delete(rawMsg, key) 17721 case "availableIPAddresses": 17722 err = unpopulate(val, "AvailableIPAddresses", &i.AvailableIPAddresses) 17723 delete(rawMsg, key) 17724 case "isPlatformReserved": 17725 err = unpopulate(val, "IsPlatformReserved", &i.IsPlatformReserved) 17726 delete(rawMsg, key) 17727 } 17728 if err != nil { 17729 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17730 } 17731 } 17732 return nil 17733 } 17734 17735 // MarshalJSON implements the json.Marshaller interface for type IPAllocation. 17736 func (i IPAllocation) MarshalJSON() ([]byte, error) { 17737 objectMap := make(map[string]any) 17738 populate(objectMap, "etag", i.Etag) 17739 populate(objectMap, "id", i.ID) 17740 populate(objectMap, "location", i.Location) 17741 populate(objectMap, "name", i.Name) 17742 populate(objectMap, "properties", i.Properties) 17743 populate(objectMap, "tags", i.Tags) 17744 populate(objectMap, "type", i.Type) 17745 return json.Marshal(objectMap) 17746 } 17747 17748 // UnmarshalJSON implements the json.Unmarshaller interface for type IPAllocation. 17749 func (i *IPAllocation) UnmarshalJSON(data []byte) error { 17750 var rawMsg map[string]json.RawMessage 17751 if err := json.Unmarshal(data, &rawMsg); err != nil { 17752 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17753 } 17754 for key, val := range rawMsg { 17755 var err error 17756 switch key { 17757 case "etag": 17758 err = unpopulate(val, "Etag", &i.Etag) 17759 delete(rawMsg, key) 17760 case "id": 17761 err = unpopulate(val, "ID", &i.ID) 17762 delete(rawMsg, key) 17763 case "location": 17764 err = unpopulate(val, "Location", &i.Location) 17765 delete(rawMsg, key) 17766 case "name": 17767 err = unpopulate(val, "Name", &i.Name) 17768 delete(rawMsg, key) 17769 case "properties": 17770 err = unpopulate(val, "Properties", &i.Properties) 17771 delete(rawMsg, key) 17772 case "tags": 17773 err = unpopulate(val, "Tags", &i.Tags) 17774 delete(rawMsg, key) 17775 case "type": 17776 err = unpopulate(val, "Type", &i.Type) 17777 delete(rawMsg, key) 17778 } 17779 if err != nil { 17780 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17781 } 17782 } 17783 return nil 17784 } 17785 17786 // MarshalJSON implements the json.Marshaller interface for type IPAllocationListResult. 17787 func (i IPAllocationListResult) MarshalJSON() ([]byte, error) { 17788 objectMap := make(map[string]any) 17789 populate(objectMap, "nextLink", i.NextLink) 17790 populate(objectMap, "value", i.Value) 17791 return json.Marshal(objectMap) 17792 } 17793 17794 // UnmarshalJSON implements the json.Unmarshaller interface for type IPAllocationListResult. 17795 func (i *IPAllocationListResult) UnmarshalJSON(data []byte) error { 17796 var rawMsg map[string]json.RawMessage 17797 if err := json.Unmarshal(data, &rawMsg); err != nil { 17798 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17799 } 17800 for key, val := range rawMsg { 17801 var err error 17802 switch key { 17803 case "nextLink": 17804 err = unpopulate(val, "NextLink", &i.NextLink) 17805 delete(rawMsg, key) 17806 case "value": 17807 err = unpopulate(val, "Value", &i.Value) 17808 delete(rawMsg, key) 17809 } 17810 if err != nil { 17811 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17812 } 17813 } 17814 return nil 17815 } 17816 17817 // MarshalJSON implements the json.Marshaller interface for type IPAllocationPropertiesFormat. 17818 func (i IPAllocationPropertiesFormat) MarshalJSON() ([]byte, error) { 17819 objectMap := make(map[string]any) 17820 populate(objectMap, "allocationTags", i.AllocationTags) 17821 populate(objectMap, "ipamAllocationId", i.IpamAllocationID) 17822 populate(objectMap, "prefix", i.Prefix) 17823 populate(objectMap, "prefixLength", i.PrefixLength) 17824 populate(objectMap, "prefixType", i.PrefixType) 17825 populate(objectMap, "subnet", i.Subnet) 17826 populate(objectMap, "type", i.Type) 17827 populate(objectMap, "virtualNetwork", i.VirtualNetwork) 17828 return json.Marshal(objectMap) 17829 } 17830 17831 // UnmarshalJSON implements the json.Unmarshaller interface for type IPAllocationPropertiesFormat. 17832 func (i *IPAllocationPropertiesFormat) UnmarshalJSON(data []byte) error { 17833 var rawMsg map[string]json.RawMessage 17834 if err := json.Unmarshal(data, &rawMsg); err != nil { 17835 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17836 } 17837 for key, val := range rawMsg { 17838 var err error 17839 switch key { 17840 case "allocationTags": 17841 err = unpopulate(val, "AllocationTags", &i.AllocationTags) 17842 delete(rawMsg, key) 17843 case "ipamAllocationId": 17844 err = unpopulate(val, "IpamAllocationID", &i.IpamAllocationID) 17845 delete(rawMsg, key) 17846 case "prefix": 17847 err = unpopulate(val, "Prefix", &i.Prefix) 17848 delete(rawMsg, key) 17849 case "prefixLength": 17850 err = unpopulate(val, "PrefixLength", &i.PrefixLength) 17851 delete(rawMsg, key) 17852 case "prefixType": 17853 err = unpopulate(val, "PrefixType", &i.PrefixType) 17854 delete(rawMsg, key) 17855 case "subnet": 17856 err = unpopulate(val, "Subnet", &i.Subnet) 17857 delete(rawMsg, key) 17858 case "type": 17859 err = unpopulate(val, "Type", &i.Type) 17860 delete(rawMsg, key) 17861 case "virtualNetwork": 17862 err = unpopulate(val, "VirtualNetwork", &i.VirtualNetwork) 17863 delete(rawMsg, key) 17864 } 17865 if err != nil { 17866 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17867 } 17868 } 17869 return nil 17870 } 17871 17872 // MarshalJSON implements the json.Marshaller interface for type IPConfiguration. 17873 func (i IPConfiguration) MarshalJSON() ([]byte, error) { 17874 objectMap := make(map[string]any) 17875 populate(objectMap, "etag", i.Etag) 17876 populate(objectMap, "id", i.ID) 17877 populate(objectMap, "name", i.Name) 17878 populate(objectMap, "properties", i.Properties) 17879 return json.Marshal(objectMap) 17880 } 17881 17882 // UnmarshalJSON implements the json.Unmarshaller interface for type IPConfiguration. 17883 func (i *IPConfiguration) UnmarshalJSON(data []byte) error { 17884 var rawMsg map[string]json.RawMessage 17885 if err := json.Unmarshal(data, &rawMsg); err != nil { 17886 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17887 } 17888 for key, val := range rawMsg { 17889 var err error 17890 switch key { 17891 case "etag": 17892 err = unpopulate(val, "Etag", &i.Etag) 17893 delete(rawMsg, key) 17894 case "id": 17895 err = unpopulate(val, "ID", &i.ID) 17896 delete(rawMsg, key) 17897 case "name": 17898 err = unpopulate(val, "Name", &i.Name) 17899 delete(rawMsg, key) 17900 case "properties": 17901 err = unpopulate(val, "Properties", &i.Properties) 17902 delete(rawMsg, key) 17903 } 17904 if err != nil { 17905 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17906 } 17907 } 17908 return nil 17909 } 17910 17911 // MarshalJSON implements the json.Marshaller interface for type IPConfigurationBgpPeeringAddress. 17912 func (i IPConfigurationBgpPeeringAddress) MarshalJSON() ([]byte, error) { 17913 objectMap := make(map[string]any) 17914 populate(objectMap, "customBgpIpAddresses", i.CustomBgpIPAddresses) 17915 populate(objectMap, "defaultBgpIpAddresses", i.DefaultBgpIPAddresses) 17916 populate(objectMap, "ipconfigurationId", i.IPConfigurationID) 17917 populate(objectMap, "tunnelIpAddresses", i.TunnelIPAddresses) 17918 return json.Marshal(objectMap) 17919 } 17920 17921 // UnmarshalJSON implements the json.Unmarshaller interface for type IPConfigurationBgpPeeringAddress. 17922 func (i *IPConfigurationBgpPeeringAddress) UnmarshalJSON(data []byte) error { 17923 var rawMsg map[string]json.RawMessage 17924 if err := json.Unmarshal(data, &rawMsg); err != nil { 17925 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17926 } 17927 for key, val := range rawMsg { 17928 var err error 17929 switch key { 17930 case "customBgpIpAddresses": 17931 err = unpopulate(val, "CustomBgpIPAddresses", &i.CustomBgpIPAddresses) 17932 delete(rawMsg, key) 17933 case "defaultBgpIpAddresses": 17934 err = unpopulate(val, "DefaultBgpIPAddresses", &i.DefaultBgpIPAddresses) 17935 delete(rawMsg, key) 17936 case "ipconfigurationId": 17937 err = unpopulate(val, "IPConfigurationID", &i.IPConfigurationID) 17938 delete(rawMsg, key) 17939 case "tunnelIpAddresses": 17940 err = unpopulate(val, "TunnelIPAddresses", &i.TunnelIPAddresses) 17941 delete(rawMsg, key) 17942 } 17943 if err != nil { 17944 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17945 } 17946 } 17947 return nil 17948 } 17949 17950 // MarshalJSON implements the json.Marshaller interface for type IPConfigurationProfile. 17951 func (i IPConfigurationProfile) MarshalJSON() ([]byte, error) { 17952 objectMap := make(map[string]any) 17953 populate(objectMap, "etag", i.Etag) 17954 populate(objectMap, "id", i.ID) 17955 populate(objectMap, "name", i.Name) 17956 populate(objectMap, "properties", i.Properties) 17957 populate(objectMap, "type", i.Type) 17958 return json.Marshal(objectMap) 17959 } 17960 17961 // UnmarshalJSON implements the json.Unmarshaller interface for type IPConfigurationProfile. 17962 func (i *IPConfigurationProfile) UnmarshalJSON(data []byte) error { 17963 var rawMsg map[string]json.RawMessage 17964 if err := json.Unmarshal(data, &rawMsg); err != nil { 17965 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17966 } 17967 for key, val := range rawMsg { 17968 var err error 17969 switch key { 17970 case "etag": 17971 err = unpopulate(val, "Etag", &i.Etag) 17972 delete(rawMsg, key) 17973 case "id": 17974 err = unpopulate(val, "ID", &i.ID) 17975 delete(rawMsg, key) 17976 case "name": 17977 err = unpopulate(val, "Name", &i.Name) 17978 delete(rawMsg, key) 17979 case "properties": 17980 err = unpopulate(val, "Properties", &i.Properties) 17981 delete(rawMsg, key) 17982 case "type": 17983 err = unpopulate(val, "Type", &i.Type) 17984 delete(rawMsg, key) 17985 } 17986 if err != nil { 17987 return fmt.Errorf("unmarshalling type %T: %v", i, err) 17988 } 17989 } 17990 return nil 17991 } 17992 17993 // MarshalJSON implements the json.Marshaller interface for type IPConfigurationProfilePropertiesFormat. 17994 func (i IPConfigurationProfilePropertiesFormat) MarshalJSON() ([]byte, error) { 17995 objectMap := make(map[string]any) 17996 populate(objectMap, "provisioningState", i.ProvisioningState) 17997 populate(objectMap, "subnet", i.Subnet) 17998 return json.Marshal(objectMap) 17999 } 18000 18001 // UnmarshalJSON implements the json.Unmarshaller interface for type IPConfigurationProfilePropertiesFormat. 18002 func (i *IPConfigurationProfilePropertiesFormat) UnmarshalJSON(data []byte) error { 18003 var rawMsg map[string]json.RawMessage 18004 if err := json.Unmarshal(data, &rawMsg); err != nil { 18005 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18006 } 18007 for key, val := range rawMsg { 18008 var err error 18009 switch key { 18010 case "provisioningState": 18011 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 18012 delete(rawMsg, key) 18013 case "subnet": 18014 err = unpopulate(val, "Subnet", &i.Subnet) 18015 delete(rawMsg, key) 18016 } 18017 if err != nil { 18018 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18019 } 18020 } 18021 return nil 18022 } 18023 18024 // MarshalJSON implements the json.Marshaller interface for type IPConfigurationPropertiesFormat. 18025 func (i IPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 18026 objectMap := make(map[string]any) 18027 populate(objectMap, "privateIPAddress", i.PrivateIPAddress) 18028 populate(objectMap, "privateIPAllocationMethod", i.PrivateIPAllocationMethod) 18029 populate(objectMap, "provisioningState", i.ProvisioningState) 18030 populate(objectMap, "publicIPAddress", i.PublicIPAddress) 18031 populate(objectMap, "subnet", i.Subnet) 18032 return json.Marshal(objectMap) 18033 } 18034 18035 // UnmarshalJSON implements the json.Unmarshaller interface for type IPConfigurationPropertiesFormat. 18036 func (i *IPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 18037 var rawMsg map[string]json.RawMessage 18038 if err := json.Unmarshal(data, &rawMsg); err != nil { 18039 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18040 } 18041 for key, val := range rawMsg { 18042 var err error 18043 switch key { 18044 case "privateIPAddress": 18045 err = unpopulate(val, "PrivateIPAddress", &i.PrivateIPAddress) 18046 delete(rawMsg, key) 18047 case "privateIPAllocationMethod": 18048 err = unpopulate(val, "PrivateIPAllocationMethod", &i.PrivateIPAllocationMethod) 18049 delete(rawMsg, key) 18050 case "provisioningState": 18051 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 18052 delete(rawMsg, key) 18053 case "publicIPAddress": 18054 err = unpopulate(val, "PublicIPAddress", &i.PublicIPAddress) 18055 delete(rawMsg, key) 18056 case "subnet": 18057 err = unpopulate(val, "Subnet", &i.Subnet) 18058 delete(rawMsg, key) 18059 } 18060 if err != nil { 18061 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18062 } 18063 } 18064 return nil 18065 } 18066 18067 // MarshalJSON implements the json.Marshaller interface for type IPGroup. 18068 func (i IPGroup) MarshalJSON() ([]byte, error) { 18069 objectMap := make(map[string]any) 18070 populate(objectMap, "etag", i.Etag) 18071 populate(objectMap, "id", i.ID) 18072 populate(objectMap, "location", i.Location) 18073 populate(objectMap, "name", i.Name) 18074 populate(objectMap, "properties", i.Properties) 18075 populate(objectMap, "tags", i.Tags) 18076 populate(objectMap, "type", i.Type) 18077 return json.Marshal(objectMap) 18078 } 18079 18080 // UnmarshalJSON implements the json.Unmarshaller interface for type IPGroup. 18081 func (i *IPGroup) UnmarshalJSON(data []byte) error { 18082 var rawMsg map[string]json.RawMessage 18083 if err := json.Unmarshal(data, &rawMsg); err != nil { 18084 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18085 } 18086 for key, val := range rawMsg { 18087 var err error 18088 switch key { 18089 case "etag": 18090 err = unpopulate(val, "Etag", &i.Etag) 18091 delete(rawMsg, key) 18092 case "id": 18093 err = unpopulate(val, "ID", &i.ID) 18094 delete(rawMsg, key) 18095 case "location": 18096 err = unpopulate(val, "Location", &i.Location) 18097 delete(rawMsg, key) 18098 case "name": 18099 err = unpopulate(val, "Name", &i.Name) 18100 delete(rawMsg, key) 18101 case "properties": 18102 err = unpopulate(val, "Properties", &i.Properties) 18103 delete(rawMsg, key) 18104 case "tags": 18105 err = unpopulate(val, "Tags", &i.Tags) 18106 delete(rawMsg, key) 18107 case "type": 18108 err = unpopulate(val, "Type", &i.Type) 18109 delete(rawMsg, key) 18110 } 18111 if err != nil { 18112 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18113 } 18114 } 18115 return nil 18116 } 18117 18118 // MarshalJSON implements the json.Marshaller interface for type IPGroupListResult. 18119 func (i IPGroupListResult) MarshalJSON() ([]byte, error) { 18120 objectMap := make(map[string]any) 18121 populate(objectMap, "nextLink", i.NextLink) 18122 populate(objectMap, "value", i.Value) 18123 return json.Marshal(objectMap) 18124 } 18125 18126 // UnmarshalJSON implements the json.Unmarshaller interface for type IPGroupListResult. 18127 func (i *IPGroupListResult) UnmarshalJSON(data []byte) error { 18128 var rawMsg map[string]json.RawMessage 18129 if err := json.Unmarshal(data, &rawMsg); err != nil { 18130 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18131 } 18132 for key, val := range rawMsg { 18133 var err error 18134 switch key { 18135 case "nextLink": 18136 err = unpopulate(val, "NextLink", &i.NextLink) 18137 delete(rawMsg, key) 18138 case "value": 18139 err = unpopulate(val, "Value", &i.Value) 18140 delete(rawMsg, key) 18141 } 18142 if err != nil { 18143 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18144 } 18145 } 18146 return nil 18147 } 18148 18149 // MarshalJSON implements the json.Marshaller interface for type IPGroupPropertiesFormat. 18150 func (i IPGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 18151 objectMap := make(map[string]any) 18152 populate(objectMap, "firewallPolicies", i.FirewallPolicies) 18153 populate(objectMap, "firewalls", i.Firewalls) 18154 populate(objectMap, "ipAddresses", i.IPAddresses) 18155 populate(objectMap, "provisioningState", i.ProvisioningState) 18156 return json.Marshal(objectMap) 18157 } 18158 18159 // UnmarshalJSON implements the json.Unmarshaller interface for type IPGroupPropertiesFormat. 18160 func (i *IPGroupPropertiesFormat) UnmarshalJSON(data []byte) error { 18161 var rawMsg map[string]json.RawMessage 18162 if err := json.Unmarshal(data, &rawMsg); err != nil { 18163 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18164 } 18165 for key, val := range rawMsg { 18166 var err error 18167 switch key { 18168 case "firewallPolicies": 18169 err = unpopulate(val, "FirewallPolicies", &i.FirewallPolicies) 18170 delete(rawMsg, key) 18171 case "firewalls": 18172 err = unpopulate(val, "Firewalls", &i.Firewalls) 18173 delete(rawMsg, key) 18174 case "ipAddresses": 18175 err = unpopulate(val, "IPAddresses", &i.IPAddresses) 18176 delete(rawMsg, key) 18177 case "provisioningState": 18178 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 18179 delete(rawMsg, key) 18180 } 18181 if err != nil { 18182 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18183 } 18184 } 18185 return nil 18186 } 18187 18188 // MarshalJSON implements the json.Marshaller interface for type IPPrefixesList. 18189 func (i IPPrefixesList) MarshalJSON() ([]byte, error) { 18190 objectMap := make(map[string]any) 18191 populate(objectMap, "ipPrefixes", i.IPPrefixes) 18192 return json.Marshal(objectMap) 18193 } 18194 18195 // UnmarshalJSON implements the json.Unmarshaller interface for type IPPrefixesList. 18196 func (i *IPPrefixesList) UnmarshalJSON(data []byte) error { 18197 var rawMsg map[string]json.RawMessage 18198 if err := json.Unmarshal(data, &rawMsg); err != nil { 18199 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18200 } 18201 for key, val := range rawMsg { 18202 var err error 18203 switch key { 18204 case "ipPrefixes": 18205 err = unpopulate(val, "IPPrefixes", &i.IPPrefixes) 18206 delete(rawMsg, key) 18207 } 18208 if err != nil { 18209 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18210 } 18211 } 18212 return nil 18213 } 18214 18215 // MarshalJSON implements the json.Marshaller interface for type IPRule. 18216 func (i IPRule) MarshalJSON() ([]byte, error) { 18217 objectMap := make(map[string]any) 18218 populate(objectMap, "addressPrefix", i.AddressPrefix) 18219 return json.Marshal(objectMap) 18220 } 18221 18222 // UnmarshalJSON implements the json.Unmarshaller interface for type IPRule. 18223 func (i *IPRule) UnmarshalJSON(data []byte) error { 18224 var rawMsg map[string]json.RawMessage 18225 if err := json.Unmarshal(data, &rawMsg); err != nil { 18226 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18227 } 18228 for key, val := range rawMsg { 18229 var err error 18230 switch key { 18231 case "addressPrefix": 18232 err = unpopulate(val, "AddressPrefix", &i.AddressPrefix) 18233 delete(rawMsg, key) 18234 } 18235 if err != nil { 18236 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18237 } 18238 } 18239 return nil 18240 } 18241 18242 // MarshalJSON implements the json.Marshaller interface for type IPSecPolicy. 18243 func (i IPSecPolicy) MarshalJSON() ([]byte, error) { 18244 objectMap := make(map[string]any) 18245 populate(objectMap, "dhGroup", i.DhGroup) 18246 populate(objectMap, "ipsecEncryption", i.IPSecEncryption) 18247 populate(objectMap, "ipsecIntegrity", i.IPSecIntegrity) 18248 populate(objectMap, "ikeEncryption", i.IkeEncryption) 18249 populate(objectMap, "ikeIntegrity", i.IkeIntegrity) 18250 populate(objectMap, "pfsGroup", i.PfsGroup) 18251 populate(objectMap, "saDataSizeKilobytes", i.SaDataSizeKilobytes) 18252 populate(objectMap, "saLifeTimeSeconds", i.SaLifeTimeSeconds) 18253 return json.Marshal(objectMap) 18254 } 18255 18256 // UnmarshalJSON implements the json.Unmarshaller interface for type IPSecPolicy. 18257 func (i *IPSecPolicy) UnmarshalJSON(data []byte) error { 18258 var rawMsg map[string]json.RawMessage 18259 if err := json.Unmarshal(data, &rawMsg); err != nil { 18260 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18261 } 18262 for key, val := range rawMsg { 18263 var err error 18264 switch key { 18265 case "dhGroup": 18266 err = unpopulate(val, "DhGroup", &i.DhGroup) 18267 delete(rawMsg, key) 18268 case "ipsecEncryption": 18269 err = unpopulate(val, "IPSecEncryption", &i.IPSecEncryption) 18270 delete(rawMsg, key) 18271 case "ipsecIntegrity": 18272 err = unpopulate(val, "IPSecIntegrity", &i.IPSecIntegrity) 18273 delete(rawMsg, key) 18274 case "ikeEncryption": 18275 err = unpopulate(val, "IkeEncryption", &i.IkeEncryption) 18276 delete(rawMsg, key) 18277 case "ikeIntegrity": 18278 err = unpopulate(val, "IkeIntegrity", &i.IkeIntegrity) 18279 delete(rawMsg, key) 18280 case "pfsGroup": 18281 err = unpopulate(val, "PfsGroup", &i.PfsGroup) 18282 delete(rawMsg, key) 18283 case "saDataSizeKilobytes": 18284 err = unpopulate(val, "SaDataSizeKilobytes", &i.SaDataSizeKilobytes) 18285 delete(rawMsg, key) 18286 case "saLifeTimeSeconds": 18287 err = unpopulate(val, "SaLifeTimeSeconds", &i.SaLifeTimeSeconds) 18288 delete(rawMsg, key) 18289 } 18290 if err != nil { 18291 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18292 } 18293 } 18294 return nil 18295 } 18296 18297 // MarshalJSON implements the json.Marshaller interface for type IPTag. 18298 func (i IPTag) MarshalJSON() ([]byte, error) { 18299 objectMap := make(map[string]any) 18300 populate(objectMap, "ipTagType", i.IPTagType) 18301 populate(objectMap, "tag", i.Tag) 18302 return json.Marshal(objectMap) 18303 } 18304 18305 // UnmarshalJSON implements the json.Unmarshaller interface for type IPTag. 18306 func (i *IPTag) UnmarshalJSON(data []byte) error { 18307 var rawMsg map[string]json.RawMessage 18308 if err := json.Unmarshal(data, &rawMsg); err != nil { 18309 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18310 } 18311 for key, val := range rawMsg { 18312 var err error 18313 switch key { 18314 case "ipTagType": 18315 err = unpopulate(val, "IPTagType", &i.IPTagType) 18316 delete(rawMsg, key) 18317 case "tag": 18318 err = unpopulate(val, "Tag", &i.Tag) 18319 delete(rawMsg, key) 18320 } 18321 if err != nil { 18322 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18323 } 18324 } 18325 return nil 18326 } 18327 18328 // MarshalJSON implements the json.Marshaller interface for type IPTraffic. 18329 func (i IPTraffic) MarshalJSON() ([]byte, error) { 18330 objectMap := make(map[string]any) 18331 populate(objectMap, "destinationIps", i.DestinationIPs) 18332 populate(objectMap, "destinationPorts", i.DestinationPorts) 18333 populate(objectMap, "protocols", i.Protocols) 18334 populate(objectMap, "sourceIps", i.SourceIPs) 18335 populate(objectMap, "sourcePorts", i.SourcePorts) 18336 return json.Marshal(objectMap) 18337 } 18338 18339 // UnmarshalJSON implements the json.Unmarshaller interface for type IPTraffic. 18340 func (i *IPTraffic) UnmarshalJSON(data []byte) error { 18341 var rawMsg map[string]json.RawMessage 18342 if err := json.Unmarshal(data, &rawMsg); err != nil { 18343 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18344 } 18345 for key, val := range rawMsg { 18346 var err error 18347 switch key { 18348 case "destinationIps": 18349 err = unpopulate(val, "DestinationIPs", &i.DestinationIPs) 18350 delete(rawMsg, key) 18351 case "destinationPorts": 18352 err = unpopulate(val, "DestinationPorts", &i.DestinationPorts) 18353 delete(rawMsg, key) 18354 case "protocols": 18355 err = unpopulate(val, "Protocols", &i.Protocols) 18356 delete(rawMsg, key) 18357 case "sourceIps": 18358 err = unpopulate(val, "SourceIPs", &i.SourceIPs) 18359 delete(rawMsg, key) 18360 case "sourcePorts": 18361 err = unpopulate(val, "SourcePorts", &i.SourcePorts) 18362 delete(rawMsg, key) 18363 } 18364 if err != nil { 18365 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18366 } 18367 } 18368 return nil 18369 } 18370 18371 // MarshalJSON implements the json.Marshaller interface for type IPv6CircuitConnectionConfig. 18372 func (i IPv6CircuitConnectionConfig) MarshalJSON() ([]byte, error) { 18373 objectMap := make(map[string]any) 18374 populate(objectMap, "addressPrefix", i.AddressPrefix) 18375 populate(objectMap, "circuitConnectionStatus", i.CircuitConnectionStatus) 18376 return json.Marshal(objectMap) 18377 } 18378 18379 // UnmarshalJSON implements the json.Unmarshaller interface for type IPv6CircuitConnectionConfig. 18380 func (i *IPv6CircuitConnectionConfig) UnmarshalJSON(data []byte) error { 18381 var rawMsg map[string]json.RawMessage 18382 if err := json.Unmarshal(data, &rawMsg); err != nil { 18383 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18384 } 18385 for key, val := range rawMsg { 18386 var err error 18387 switch key { 18388 case "addressPrefix": 18389 err = unpopulate(val, "AddressPrefix", &i.AddressPrefix) 18390 delete(rawMsg, key) 18391 case "circuitConnectionStatus": 18392 err = unpopulate(val, "CircuitConnectionStatus", &i.CircuitConnectionStatus) 18393 delete(rawMsg, key) 18394 } 18395 if err != nil { 18396 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18397 } 18398 } 18399 return nil 18400 } 18401 18402 // MarshalJSON implements the json.Marshaller interface for type IPv6ExpressRouteCircuitPeeringConfig. 18403 func (i IPv6ExpressRouteCircuitPeeringConfig) MarshalJSON() ([]byte, error) { 18404 objectMap := make(map[string]any) 18405 populate(objectMap, "microsoftPeeringConfig", i.MicrosoftPeeringConfig) 18406 populate(objectMap, "primaryPeerAddressPrefix", i.PrimaryPeerAddressPrefix) 18407 populate(objectMap, "routeFilter", i.RouteFilter) 18408 populate(objectMap, "secondaryPeerAddressPrefix", i.SecondaryPeerAddressPrefix) 18409 populate(objectMap, "state", i.State) 18410 return json.Marshal(objectMap) 18411 } 18412 18413 // UnmarshalJSON implements the json.Unmarshaller interface for type IPv6ExpressRouteCircuitPeeringConfig. 18414 func (i *IPv6ExpressRouteCircuitPeeringConfig) UnmarshalJSON(data []byte) error { 18415 var rawMsg map[string]json.RawMessage 18416 if err := json.Unmarshal(data, &rawMsg); err != nil { 18417 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18418 } 18419 for key, val := range rawMsg { 18420 var err error 18421 switch key { 18422 case "microsoftPeeringConfig": 18423 err = unpopulate(val, "MicrosoftPeeringConfig", &i.MicrosoftPeeringConfig) 18424 delete(rawMsg, key) 18425 case "primaryPeerAddressPrefix": 18426 err = unpopulate(val, "PrimaryPeerAddressPrefix", &i.PrimaryPeerAddressPrefix) 18427 delete(rawMsg, key) 18428 case "routeFilter": 18429 err = unpopulate(val, "RouteFilter", &i.RouteFilter) 18430 delete(rawMsg, key) 18431 case "secondaryPeerAddressPrefix": 18432 err = unpopulate(val, "SecondaryPeerAddressPrefix", &i.SecondaryPeerAddressPrefix) 18433 delete(rawMsg, key) 18434 case "state": 18435 err = unpopulate(val, "State", &i.State) 18436 delete(rawMsg, key) 18437 } 18438 if err != nil { 18439 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18440 } 18441 } 18442 return nil 18443 } 18444 18445 // MarshalJSON implements the json.Marshaller interface for type InboundNatPool. 18446 func (i InboundNatPool) MarshalJSON() ([]byte, error) { 18447 objectMap := make(map[string]any) 18448 populate(objectMap, "etag", i.Etag) 18449 populate(objectMap, "id", i.ID) 18450 populate(objectMap, "name", i.Name) 18451 populate(objectMap, "properties", i.Properties) 18452 populate(objectMap, "type", i.Type) 18453 return json.Marshal(objectMap) 18454 } 18455 18456 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundNatPool. 18457 func (i *InboundNatPool) UnmarshalJSON(data []byte) error { 18458 var rawMsg map[string]json.RawMessage 18459 if err := json.Unmarshal(data, &rawMsg); err != nil { 18460 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18461 } 18462 for key, val := range rawMsg { 18463 var err error 18464 switch key { 18465 case "etag": 18466 err = unpopulate(val, "Etag", &i.Etag) 18467 delete(rawMsg, key) 18468 case "id": 18469 err = unpopulate(val, "ID", &i.ID) 18470 delete(rawMsg, key) 18471 case "name": 18472 err = unpopulate(val, "Name", &i.Name) 18473 delete(rawMsg, key) 18474 case "properties": 18475 err = unpopulate(val, "Properties", &i.Properties) 18476 delete(rawMsg, key) 18477 case "type": 18478 err = unpopulate(val, "Type", &i.Type) 18479 delete(rawMsg, key) 18480 } 18481 if err != nil { 18482 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18483 } 18484 } 18485 return nil 18486 } 18487 18488 // MarshalJSON implements the json.Marshaller interface for type InboundNatPoolPropertiesFormat. 18489 func (i InboundNatPoolPropertiesFormat) MarshalJSON() ([]byte, error) { 18490 objectMap := make(map[string]any) 18491 populate(objectMap, "backendPort", i.BackendPort) 18492 populate(objectMap, "enableFloatingIP", i.EnableFloatingIP) 18493 populate(objectMap, "enableTcpReset", i.EnableTCPReset) 18494 populate(objectMap, "frontendIPConfiguration", i.FrontendIPConfiguration) 18495 populate(objectMap, "frontendPortRangeEnd", i.FrontendPortRangeEnd) 18496 populate(objectMap, "frontendPortRangeStart", i.FrontendPortRangeStart) 18497 populate(objectMap, "idleTimeoutInMinutes", i.IdleTimeoutInMinutes) 18498 populate(objectMap, "protocol", i.Protocol) 18499 populate(objectMap, "provisioningState", i.ProvisioningState) 18500 return json.Marshal(objectMap) 18501 } 18502 18503 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundNatPoolPropertiesFormat. 18504 func (i *InboundNatPoolPropertiesFormat) UnmarshalJSON(data []byte) error { 18505 var rawMsg map[string]json.RawMessage 18506 if err := json.Unmarshal(data, &rawMsg); err != nil { 18507 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18508 } 18509 for key, val := range rawMsg { 18510 var err error 18511 switch key { 18512 case "backendPort": 18513 err = unpopulate(val, "BackendPort", &i.BackendPort) 18514 delete(rawMsg, key) 18515 case "enableFloatingIP": 18516 err = unpopulate(val, "EnableFloatingIP", &i.EnableFloatingIP) 18517 delete(rawMsg, key) 18518 case "enableTcpReset": 18519 err = unpopulate(val, "EnableTCPReset", &i.EnableTCPReset) 18520 delete(rawMsg, key) 18521 case "frontendIPConfiguration": 18522 err = unpopulate(val, "FrontendIPConfiguration", &i.FrontendIPConfiguration) 18523 delete(rawMsg, key) 18524 case "frontendPortRangeEnd": 18525 err = unpopulate(val, "FrontendPortRangeEnd", &i.FrontendPortRangeEnd) 18526 delete(rawMsg, key) 18527 case "frontendPortRangeStart": 18528 err = unpopulate(val, "FrontendPortRangeStart", &i.FrontendPortRangeStart) 18529 delete(rawMsg, key) 18530 case "idleTimeoutInMinutes": 18531 err = unpopulate(val, "IdleTimeoutInMinutes", &i.IdleTimeoutInMinutes) 18532 delete(rawMsg, key) 18533 case "protocol": 18534 err = unpopulate(val, "Protocol", &i.Protocol) 18535 delete(rawMsg, key) 18536 case "provisioningState": 18537 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 18538 delete(rawMsg, key) 18539 } 18540 if err != nil { 18541 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18542 } 18543 } 18544 return nil 18545 } 18546 18547 // MarshalJSON implements the json.Marshaller interface for type InboundNatRule. 18548 func (i InboundNatRule) MarshalJSON() ([]byte, error) { 18549 objectMap := make(map[string]any) 18550 populate(objectMap, "etag", i.Etag) 18551 populate(objectMap, "id", i.ID) 18552 populate(objectMap, "name", i.Name) 18553 populate(objectMap, "properties", i.Properties) 18554 populate(objectMap, "type", i.Type) 18555 return json.Marshal(objectMap) 18556 } 18557 18558 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundNatRule. 18559 func (i *InboundNatRule) UnmarshalJSON(data []byte) error { 18560 var rawMsg map[string]json.RawMessage 18561 if err := json.Unmarshal(data, &rawMsg); err != nil { 18562 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18563 } 18564 for key, val := range rawMsg { 18565 var err error 18566 switch key { 18567 case "etag": 18568 err = unpopulate(val, "Etag", &i.Etag) 18569 delete(rawMsg, key) 18570 case "id": 18571 err = unpopulate(val, "ID", &i.ID) 18572 delete(rawMsg, key) 18573 case "name": 18574 err = unpopulate(val, "Name", &i.Name) 18575 delete(rawMsg, key) 18576 case "properties": 18577 err = unpopulate(val, "Properties", &i.Properties) 18578 delete(rawMsg, key) 18579 case "type": 18580 err = unpopulate(val, "Type", &i.Type) 18581 delete(rawMsg, key) 18582 } 18583 if err != nil { 18584 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18585 } 18586 } 18587 return nil 18588 } 18589 18590 // MarshalJSON implements the json.Marshaller interface for type InboundNatRuleListResult. 18591 func (i InboundNatRuleListResult) MarshalJSON() ([]byte, error) { 18592 objectMap := make(map[string]any) 18593 populate(objectMap, "nextLink", i.NextLink) 18594 populate(objectMap, "value", i.Value) 18595 return json.Marshal(objectMap) 18596 } 18597 18598 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundNatRuleListResult. 18599 func (i *InboundNatRuleListResult) UnmarshalJSON(data []byte) error { 18600 var rawMsg map[string]json.RawMessage 18601 if err := json.Unmarshal(data, &rawMsg); err != nil { 18602 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18603 } 18604 for key, val := range rawMsg { 18605 var err error 18606 switch key { 18607 case "nextLink": 18608 err = unpopulate(val, "NextLink", &i.NextLink) 18609 delete(rawMsg, key) 18610 case "value": 18611 err = unpopulate(val, "Value", &i.Value) 18612 delete(rawMsg, key) 18613 } 18614 if err != nil { 18615 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18616 } 18617 } 18618 return nil 18619 } 18620 18621 // MarshalJSON implements the json.Marshaller interface for type InboundNatRulePortMapping. 18622 func (i InboundNatRulePortMapping) MarshalJSON() ([]byte, error) { 18623 objectMap := make(map[string]any) 18624 populate(objectMap, "backendPort", i.BackendPort) 18625 populate(objectMap, "frontendPort", i.FrontendPort) 18626 populate(objectMap, "inboundNatRuleName", i.InboundNatRuleName) 18627 populate(objectMap, "protocol", i.Protocol) 18628 return json.Marshal(objectMap) 18629 } 18630 18631 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundNatRulePortMapping. 18632 func (i *InboundNatRulePortMapping) UnmarshalJSON(data []byte) error { 18633 var rawMsg map[string]json.RawMessage 18634 if err := json.Unmarshal(data, &rawMsg); err != nil { 18635 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18636 } 18637 for key, val := range rawMsg { 18638 var err error 18639 switch key { 18640 case "backendPort": 18641 err = unpopulate(val, "BackendPort", &i.BackendPort) 18642 delete(rawMsg, key) 18643 case "frontendPort": 18644 err = unpopulate(val, "FrontendPort", &i.FrontendPort) 18645 delete(rawMsg, key) 18646 case "inboundNatRuleName": 18647 err = unpopulate(val, "InboundNatRuleName", &i.InboundNatRuleName) 18648 delete(rawMsg, key) 18649 case "protocol": 18650 err = unpopulate(val, "Protocol", &i.Protocol) 18651 delete(rawMsg, key) 18652 } 18653 if err != nil { 18654 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18655 } 18656 } 18657 return nil 18658 } 18659 18660 // MarshalJSON implements the json.Marshaller interface for type InboundNatRulePropertiesFormat. 18661 func (i InboundNatRulePropertiesFormat) MarshalJSON() ([]byte, error) { 18662 objectMap := make(map[string]any) 18663 populate(objectMap, "backendAddressPool", i.BackendAddressPool) 18664 populate(objectMap, "backendIPConfiguration", i.BackendIPConfiguration) 18665 populate(objectMap, "backendPort", i.BackendPort) 18666 populate(objectMap, "enableFloatingIP", i.EnableFloatingIP) 18667 populate(objectMap, "enableTcpReset", i.EnableTCPReset) 18668 populate(objectMap, "frontendIPConfiguration", i.FrontendIPConfiguration) 18669 populate(objectMap, "frontendPort", i.FrontendPort) 18670 populate(objectMap, "frontendPortRangeEnd", i.FrontendPortRangeEnd) 18671 populate(objectMap, "frontendPortRangeStart", i.FrontendPortRangeStart) 18672 populate(objectMap, "idleTimeoutInMinutes", i.IdleTimeoutInMinutes) 18673 populate(objectMap, "protocol", i.Protocol) 18674 populate(objectMap, "provisioningState", i.ProvisioningState) 18675 return json.Marshal(objectMap) 18676 } 18677 18678 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundNatRulePropertiesFormat. 18679 func (i *InboundNatRulePropertiesFormat) UnmarshalJSON(data []byte) error { 18680 var rawMsg map[string]json.RawMessage 18681 if err := json.Unmarshal(data, &rawMsg); err != nil { 18682 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18683 } 18684 for key, val := range rawMsg { 18685 var err error 18686 switch key { 18687 case "backendAddressPool": 18688 err = unpopulate(val, "BackendAddressPool", &i.BackendAddressPool) 18689 delete(rawMsg, key) 18690 case "backendIPConfiguration": 18691 err = unpopulate(val, "BackendIPConfiguration", &i.BackendIPConfiguration) 18692 delete(rawMsg, key) 18693 case "backendPort": 18694 err = unpopulate(val, "BackendPort", &i.BackendPort) 18695 delete(rawMsg, key) 18696 case "enableFloatingIP": 18697 err = unpopulate(val, "EnableFloatingIP", &i.EnableFloatingIP) 18698 delete(rawMsg, key) 18699 case "enableTcpReset": 18700 err = unpopulate(val, "EnableTCPReset", &i.EnableTCPReset) 18701 delete(rawMsg, key) 18702 case "frontendIPConfiguration": 18703 err = unpopulate(val, "FrontendIPConfiguration", &i.FrontendIPConfiguration) 18704 delete(rawMsg, key) 18705 case "frontendPort": 18706 err = unpopulate(val, "FrontendPort", &i.FrontendPort) 18707 delete(rawMsg, key) 18708 case "frontendPortRangeEnd": 18709 err = unpopulate(val, "FrontendPortRangeEnd", &i.FrontendPortRangeEnd) 18710 delete(rawMsg, key) 18711 case "frontendPortRangeStart": 18712 err = unpopulate(val, "FrontendPortRangeStart", &i.FrontendPortRangeStart) 18713 delete(rawMsg, key) 18714 case "idleTimeoutInMinutes": 18715 err = unpopulate(val, "IdleTimeoutInMinutes", &i.IdleTimeoutInMinutes) 18716 delete(rawMsg, key) 18717 case "protocol": 18718 err = unpopulate(val, "Protocol", &i.Protocol) 18719 delete(rawMsg, key) 18720 case "provisioningState": 18721 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 18722 delete(rawMsg, key) 18723 } 18724 if err != nil { 18725 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18726 } 18727 } 18728 return nil 18729 } 18730 18731 // MarshalJSON implements the json.Marshaller interface for type InboundSecurityRule. 18732 func (i InboundSecurityRule) MarshalJSON() ([]byte, error) { 18733 objectMap := make(map[string]any) 18734 populate(objectMap, "etag", i.Etag) 18735 populate(objectMap, "id", i.ID) 18736 populate(objectMap, "name", i.Name) 18737 populate(objectMap, "properties", i.Properties) 18738 populate(objectMap, "type", i.Type) 18739 return json.Marshal(objectMap) 18740 } 18741 18742 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundSecurityRule. 18743 func (i *InboundSecurityRule) UnmarshalJSON(data []byte) error { 18744 var rawMsg map[string]json.RawMessage 18745 if err := json.Unmarshal(data, &rawMsg); err != nil { 18746 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18747 } 18748 for key, val := range rawMsg { 18749 var err error 18750 switch key { 18751 case "etag": 18752 err = unpopulate(val, "Etag", &i.Etag) 18753 delete(rawMsg, key) 18754 case "id": 18755 err = unpopulate(val, "ID", &i.ID) 18756 delete(rawMsg, key) 18757 case "name": 18758 err = unpopulate(val, "Name", &i.Name) 18759 delete(rawMsg, key) 18760 case "properties": 18761 err = unpopulate(val, "Properties", &i.Properties) 18762 delete(rawMsg, key) 18763 case "type": 18764 err = unpopulate(val, "Type", &i.Type) 18765 delete(rawMsg, key) 18766 } 18767 if err != nil { 18768 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18769 } 18770 } 18771 return nil 18772 } 18773 18774 // MarshalJSON implements the json.Marshaller interface for type InboundSecurityRuleProperties. 18775 func (i InboundSecurityRuleProperties) MarshalJSON() ([]byte, error) { 18776 objectMap := make(map[string]any) 18777 populate(objectMap, "provisioningState", i.ProvisioningState) 18778 populate(objectMap, "ruleType", i.RuleType) 18779 populate(objectMap, "rules", i.Rules) 18780 return json.Marshal(objectMap) 18781 } 18782 18783 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundSecurityRuleProperties. 18784 func (i *InboundSecurityRuleProperties) UnmarshalJSON(data []byte) error { 18785 var rawMsg map[string]json.RawMessage 18786 if err := json.Unmarshal(data, &rawMsg); err != nil { 18787 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18788 } 18789 for key, val := range rawMsg { 18790 var err error 18791 switch key { 18792 case "provisioningState": 18793 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 18794 delete(rawMsg, key) 18795 case "ruleType": 18796 err = unpopulate(val, "RuleType", &i.RuleType) 18797 delete(rawMsg, key) 18798 case "rules": 18799 err = unpopulate(val, "Rules", &i.Rules) 18800 delete(rawMsg, key) 18801 } 18802 if err != nil { 18803 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18804 } 18805 } 18806 return nil 18807 } 18808 18809 // MarshalJSON implements the json.Marshaller interface for type InboundSecurityRules. 18810 func (i InboundSecurityRules) MarshalJSON() ([]byte, error) { 18811 objectMap := make(map[string]any) 18812 populate(objectMap, "appliesOn", i.AppliesOn) 18813 populate(objectMap, "destinationPortRange", i.DestinationPortRange) 18814 populate(objectMap, "destinationPortRanges", i.DestinationPortRanges) 18815 populate(objectMap, "name", i.Name) 18816 populate(objectMap, "protocol", i.Protocol) 18817 populate(objectMap, "sourceAddressPrefix", i.SourceAddressPrefix) 18818 return json.Marshal(objectMap) 18819 } 18820 18821 // UnmarshalJSON implements the json.Unmarshaller interface for type InboundSecurityRules. 18822 func (i *InboundSecurityRules) UnmarshalJSON(data []byte) error { 18823 var rawMsg map[string]json.RawMessage 18824 if err := json.Unmarshal(data, &rawMsg); err != nil { 18825 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18826 } 18827 for key, val := range rawMsg { 18828 var err error 18829 switch key { 18830 case "appliesOn": 18831 err = unpopulate(val, "AppliesOn", &i.AppliesOn) 18832 delete(rawMsg, key) 18833 case "destinationPortRange": 18834 err = unpopulate(val, "DestinationPortRange", &i.DestinationPortRange) 18835 delete(rawMsg, key) 18836 case "destinationPortRanges": 18837 err = unpopulate(val, "DestinationPortRanges", &i.DestinationPortRanges) 18838 delete(rawMsg, key) 18839 case "name": 18840 err = unpopulate(val, "Name", &i.Name) 18841 delete(rawMsg, key) 18842 case "protocol": 18843 err = unpopulate(val, "Protocol", &i.Protocol) 18844 delete(rawMsg, key) 18845 case "sourceAddressPrefix": 18846 err = unpopulate(val, "SourceAddressPrefix", &i.SourceAddressPrefix) 18847 delete(rawMsg, key) 18848 } 18849 if err != nil { 18850 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18851 } 18852 } 18853 return nil 18854 } 18855 18856 // MarshalJSON implements the json.Marshaller interface for type IntentContent. 18857 func (i IntentContent) MarshalJSON() ([]byte, error) { 18858 objectMap := make(map[string]any) 18859 populate(objectMap, "description", i.Description) 18860 populate(objectMap, "destinationResourceId", i.DestinationResourceID) 18861 populate(objectMap, "ipTraffic", i.IPTraffic) 18862 populate(objectMap, "sourceResourceId", i.SourceResourceID) 18863 return json.Marshal(objectMap) 18864 } 18865 18866 // UnmarshalJSON implements the json.Unmarshaller interface for type IntentContent. 18867 func (i *IntentContent) UnmarshalJSON(data []byte) error { 18868 var rawMsg map[string]json.RawMessage 18869 if err := json.Unmarshal(data, &rawMsg); err != nil { 18870 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18871 } 18872 for key, val := range rawMsg { 18873 var err error 18874 switch key { 18875 case "description": 18876 err = unpopulate(val, "Description", &i.Description) 18877 delete(rawMsg, key) 18878 case "destinationResourceId": 18879 err = unpopulate(val, "DestinationResourceID", &i.DestinationResourceID) 18880 delete(rawMsg, key) 18881 case "ipTraffic": 18882 err = unpopulate(val, "IPTraffic", &i.IPTraffic) 18883 delete(rawMsg, key) 18884 case "sourceResourceId": 18885 err = unpopulate(val, "SourceResourceID", &i.SourceResourceID) 18886 delete(rawMsg, key) 18887 } 18888 if err != nil { 18889 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18890 } 18891 } 18892 return nil 18893 } 18894 18895 // MarshalJSON implements the json.Marshaller interface for type IntentPolicy. 18896 func (i IntentPolicy) MarshalJSON() ([]byte, error) { 18897 objectMap := make(map[string]any) 18898 populate(objectMap, "etag", i.Etag) 18899 populate(objectMap, "id", i.ID) 18900 populate(objectMap, "location", i.Location) 18901 populate(objectMap, "name", i.Name) 18902 populate(objectMap, "tags", i.Tags) 18903 populate(objectMap, "type", i.Type) 18904 return json.Marshal(objectMap) 18905 } 18906 18907 // UnmarshalJSON implements the json.Unmarshaller interface for type IntentPolicy. 18908 func (i *IntentPolicy) UnmarshalJSON(data []byte) error { 18909 var rawMsg map[string]json.RawMessage 18910 if err := json.Unmarshal(data, &rawMsg); err != nil { 18911 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18912 } 18913 for key, val := range rawMsg { 18914 var err error 18915 switch key { 18916 case "etag": 18917 err = unpopulate(val, "Etag", &i.Etag) 18918 delete(rawMsg, key) 18919 case "id": 18920 err = unpopulate(val, "ID", &i.ID) 18921 delete(rawMsg, key) 18922 case "location": 18923 err = unpopulate(val, "Location", &i.Location) 18924 delete(rawMsg, key) 18925 case "name": 18926 err = unpopulate(val, "Name", &i.Name) 18927 delete(rawMsg, key) 18928 case "tags": 18929 err = unpopulate(val, "Tags", &i.Tags) 18930 delete(rawMsg, key) 18931 case "type": 18932 err = unpopulate(val, "Type", &i.Type) 18933 delete(rawMsg, key) 18934 } 18935 if err != nil { 18936 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18937 } 18938 } 18939 return nil 18940 } 18941 18942 // MarshalJSON implements the json.Marshaller interface for type IntentPolicyConfiguration. 18943 func (i IntentPolicyConfiguration) MarshalJSON() ([]byte, error) { 18944 objectMap := make(map[string]any) 18945 populate(objectMap, "networkIntentPolicyName", i.NetworkIntentPolicyName) 18946 populate(objectMap, "sourceNetworkIntentPolicy", i.SourceNetworkIntentPolicy) 18947 return json.Marshal(objectMap) 18948 } 18949 18950 // UnmarshalJSON implements the json.Unmarshaller interface for type IntentPolicyConfiguration. 18951 func (i *IntentPolicyConfiguration) UnmarshalJSON(data []byte) error { 18952 var rawMsg map[string]json.RawMessage 18953 if err := json.Unmarshal(data, &rawMsg); err != nil { 18954 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18955 } 18956 for key, val := range rawMsg { 18957 var err error 18958 switch key { 18959 case "networkIntentPolicyName": 18960 err = unpopulate(val, "NetworkIntentPolicyName", &i.NetworkIntentPolicyName) 18961 delete(rawMsg, key) 18962 case "sourceNetworkIntentPolicy": 18963 err = unpopulate(val, "SourceNetworkIntentPolicy", &i.SourceNetworkIntentPolicy) 18964 delete(rawMsg, key) 18965 } 18966 if err != nil { 18967 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18968 } 18969 } 18970 return nil 18971 } 18972 18973 // MarshalJSON implements the json.Marshaller interface for type Interface. 18974 func (i Interface) MarshalJSON() ([]byte, error) { 18975 objectMap := make(map[string]any) 18976 populate(objectMap, "etag", i.Etag) 18977 populate(objectMap, "extendedLocation", i.ExtendedLocation) 18978 populate(objectMap, "id", i.ID) 18979 populate(objectMap, "location", i.Location) 18980 populate(objectMap, "name", i.Name) 18981 populate(objectMap, "properties", i.Properties) 18982 populate(objectMap, "tags", i.Tags) 18983 populate(objectMap, "type", i.Type) 18984 return json.Marshal(objectMap) 18985 } 18986 18987 // UnmarshalJSON implements the json.Unmarshaller interface for type Interface. 18988 func (i *Interface) UnmarshalJSON(data []byte) error { 18989 var rawMsg map[string]json.RawMessage 18990 if err := json.Unmarshal(data, &rawMsg); err != nil { 18991 return fmt.Errorf("unmarshalling type %T: %v", i, err) 18992 } 18993 for key, val := range rawMsg { 18994 var err error 18995 switch key { 18996 case "etag": 18997 err = unpopulate(val, "Etag", &i.Etag) 18998 delete(rawMsg, key) 18999 case "extendedLocation": 19000 err = unpopulate(val, "ExtendedLocation", &i.ExtendedLocation) 19001 delete(rawMsg, key) 19002 case "id": 19003 err = unpopulate(val, "ID", &i.ID) 19004 delete(rawMsg, key) 19005 case "location": 19006 err = unpopulate(val, "Location", &i.Location) 19007 delete(rawMsg, key) 19008 case "name": 19009 err = unpopulate(val, "Name", &i.Name) 19010 delete(rawMsg, key) 19011 case "properties": 19012 err = unpopulate(val, "Properties", &i.Properties) 19013 delete(rawMsg, key) 19014 case "tags": 19015 err = unpopulate(val, "Tags", &i.Tags) 19016 delete(rawMsg, key) 19017 case "type": 19018 err = unpopulate(val, "Type", &i.Type) 19019 delete(rawMsg, key) 19020 } 19021 if err != nil { 19022 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19023 } 19024 } 19025 return nil 19026 } 19027 19028 // MarshalJSON implements the json.Marshaller interface for type InterfaceAssociation. 19029 func (i InterfaceAssociation) MarshalJSON() ([]byte, error) { 19030 objectMap := make(map[string]any) 19031 populate(objectMap, "id", i.ID) 19032 populate(objectMap, "securityRules", i.SecurityRules) 19033 return json.Marshal(objectMap) 19034 } 19035 19036 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceAssociation. 19037 func (i *InterfaceAssociation) UnmarshalJSON(data []byte) error { 19038 var rawMsg map[string]json.RawMessage 19039 if err := json.Unmarshal(data, &rawMsg); err != nil { 19040 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19041 } 19042 for key, val := range rawMsg { 19043 var err error 19044 switch key { 19045 case "id": 19046 err = unpopulate(val, "ID", &i.ID) 19047 delete(rawMsg, key) 19048 case "securityRules": 19049 err = unpopulate(val, "SecurityRules", &i.SecurityRules) 19050 delete(rawMsg, key) 19051 } 19052 if err != nil { 19053 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19054 } 19055 } 19056 return nil 19057 } 19058 19059 // MarshalJSON implements the json.Marshaller interface for type InterfaceDNSSettings. 19060 func (i InterfaceDNSSettings) MarshalJSON() ([]byte, error) { 19061 objectMap := make(map[string]any) 19062 populate(objectMap, "appliedDnsServers", i.AppliedDNSServers) 19063 populate(objectMap, "dnsServers", i.DNSServers) 19064 populate(objectMap, "internalDnsNameLabel", i.InternalDNSNameLabel) 19065 populate(objectMap, "internalDomainNameSuffix", i.InternalDomainNameSuffix) 19066 populate(objectMap, "internalFqdn", i.InternalFqdn) 19067 return json.Marshal(objectMap) 19068 } 19069 19070 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceDNSSettings. 19071 func (i *InterfaceDNSSettings) UnmarshalJSON(data []byte) error { 19072 var rawMsg map[string]json.RawMessage 19073 if err := json.Unmarshal(data, &rawMsg); err != nil { 19074 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19075 } 19076 for key, val := range rawMsg { 19077 var err error 19078 switch key { 19079 case "appliedDnsServers": 19080 err = unpopulate(val, "AppliedDNSServers", &i.AppliedDNSServers) 19081 delete(rawMsg, key) 19082 case "dnsServers": 19083 err = unpopulate(val, "DNSServers", &i.DNSServers) 19084 delete(rawMsg, key) 19085 case "internalDnsNameLabel": 19086 err = unpopulate(val, "InternalDNSNameLabel", &i.InternalDNSNameLabel) 19087 delete(rawMsg, key) 19088 case "internalDomainNameSuffix": 19089 err = unpopulate(val, "InternalDomainNameSuffix", &i.InternalDomainNameSuffix) 19090 delete(rawMsg, key) 19091 case "internalFqdn": 19092 err = unpopulate(val, "InternalFqdn", &i.InternalFqdn) 19093 delete(rawMsg, key) 19094 } 19095 if err != nil { 19096 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19097 } 19098 } 19099 return nil 19100 } 19101 19102 // MarshalJSON implements the json.Marshaller interface for type InterfaceIPConfiguration. 19103 func (i InterfaceIPConfiguration) MarshalJSON() ([]byte, error) { 19104 objectMap := make(map[string]any) 19105 populate(objectMap, "etag", i.Etag) 19106 populate(objectMap, "id", i.ID) 19107 populate(objectMap, "name", i.Name) 19108 populate(objectMap, "properties", i.Properties) 19109 populate(objectMap, "type", i.Type) 19110 return json.Marshal(objectMap) 19111 } 19112 19113 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceIPConfiguration. 19114 func (i *InterfaceIPConfiguration) UnmarshalJSON(data []byte) error { 19115 var rawMsg map[string]json.RawMessage 19116 if err := json.Unmarshal(data, &rawMsg); err != nil { 19117 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19118 } 19119 for key, val := range rawMsg { 19120 var err error 19121 switch key { 19122 case "etag": 19123 err = unpopulate(val, "Etag", &i.Etag) 19124 delete(rawMsg, key) 19125 case "id": 19126 err = unpopulate(val, "ID", &i.ID) 19127 delete(rawMsg, key) 19128 case "name": 19129 err = unpopulate(val, "Name", &i.Name) 19130 delete(rawMsg, key) 19131 case "properties": 19132 err = unpopulate(val, "Properties", &i.Properties) 19133 delete(rawMsg, key) 19134 case "type": 19135 err = unpopulate(val, "Type", &i.Type) 19136 delete(rawMsg, key) 19137 } 19138 if err != nil { 19139 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19140 } 19141 } 19142 return nil 19143 } 19144 19145 // MarshalJSON implements the json.Marshaller interface for type InterfaceIPConfigurationListResult. 19146 func (i InterfaceIPConfigurationListResult) MarshalJSON() ([]byte, error) { 19147 objectMap := make(map[string]any) 19148 populate(objectMap, "nextLink", i.NextLink) 19149 populate(objectMap, "value", i.Value) 19150 return json.Marshal(objectMap) 19151 } 19152 19153 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceIPConfigurationListResult. 19154 func (i *InterfaceIPConfigurationListResult) UnmarshalJSON(data []byte) error { 19155 var rawMsg map[string]json.RawMessage 19156 if err := json.Unmarshal(data, &rawMsg); err != nil { 19157 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19158 } 19159 for key, val := range rawMsg { 19160 var err error 19161 switch key { 19162 case "nextLink": 19163 err = unpopulate(val, "NextLink", &i.NextLink) 19164 delete(rawMsg, key) 19165 case "value": 19166 err = unpopulate(val, "Value", &i.Value) 19167 delete(rawMsg, key) 19168 } 19169 if err != nil { 19170 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19171 } 19172 } 19173 return nil 19174 } 19175 19176 // MarshalJSON implements the json.Marshaller interface for type InterfaceIPConfigurationPrivateLinkConnectionProperties. 19177 func (i InterfaceIPConfigurationPrivateLinkConnectionProperties) MarshalJSON() ([]byte, error) { 19178 objectMap := make(map[string]any) 19179 populate(objectMap, "fqdns", i.Fqdns) 19180 populate(objectMap, "groupId", i.GroupID) 19181 populate(objectMap, "requiredMemberName", i.RequiredMemberName) 19182 return json.Marshal(objectMap) 19183 } 19184 19185 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceIPConfigurationPrivateLinkConnectionProperties. 19186 func (i *InterfaceIPConfigurationPrivateLinkConnectionProperties) UnmarshalJSON(data []byte) error { 19187 var rawMsg map[string]json.RawMessage 19188 if err := json.Unmarshal(data, &rawMsg); err != nil { 19189 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19190 } 19191 for key, val := range rawMsg { 19192 var err error 19193 switch key { 19194 case "fqdns": 19195 err = unpopulate(val, "Fqdns", &i.Fqdns) 19196 delete(rawMsg, key) 19197 case "groupId": 19198 err = unpopulate(val, "GroupID", &i.GroupID) 19199 delete(rawMsg, key) 19200 case "requiredMemberName": 19201 err = unpopulate(val, "RequiredMemberName", &i.RequiredMemberName) 19202 delete(rawMsg, key) 19203 } 19204 if err != nil { 19205 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19206 } 19207 } 19208 return nil 19209 } 19210 19211 // MarshalJSON implements the json.Marshaller interface for type InterfaceIPConfigurationPropertiesFormat. 19212 func (i InterfaceIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 19213 objectMap := make(map[string]any) 19214 populate(objectMap, "applicationGatewayBackendAddressPools", i.ApplicationGatewayBackendAddressPools) 19215 populate(objectMap, "applicationSecurityGroups", i.ApplicationSecurityGroups) 19216 populate(objectMap, "gatewayLoadBalancer", i.GatewayLoadBalancer) 19217 populate(objectMap, "loadBalancerBackendAddressPools", i.LoadBalancerBackendAddressPools) 19218 populate(objectMap, "loadBalancerInboundNatRules", i.LoadBalancerInboundNatRules) 19219 populate(objectMap, "primary", i.Primary) 19220 populate(objectMap, "privateIPAddress", i.PrivateIPAddress) 19221 populate(objectMap, "privateIPAddressPrefixLength", i.PrivateIPAddressPrefixLength) 19222 populate(objectMap, "privateIPAddressVersion", i.PrivateIPAddressVersion) 19223 populate(objectMap, "privateIPAllocationMethod", i.PrivateIPAllocationMethod) 19224 populate(objectMap, "privateLinkConnectionProperties", i.PrivateLinkConnectionProperties) 19225 populate(objectMap, "provisioningState", i.ProvisioningState) 19226 populate(objectMap, "publicIPAddress", i.PublicIPAddress) 19227 populate(objectMap, "subnet", i.Subnet) 19228 populate(objectMap, "virtualNetworkTaps", i.VirtualNetworkTaps) 19229 return json.Marshal(objectMap) 19230 } 19231 19232 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceIPConfigurationPropertiesFormat. 19233 func (i *InterfaceIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 19234 var rawMsg map[string]json.RawMessage 19235 if err := json.Unmarshal(data, &rawMsg); err != nil { 19236 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19237 } 19238 for key, val := range rawMsg { 19239 var err error 19240 switch key { 19241 case "applicationGatewayBackendAddressPools": 19242 err = unpopulate(val, "ApplicationGatewayBackendAddressPools", &i.ApplicationGatewayBackendAddressPools) 19243 delete(rawMsg, key) 19244 case "applicationSecurityGroups": 19245 err = unpopulate(val, "ApplicationSecurityGroups", &i.ApplicationSecurityGroups) 19246 delete(rawMsg, key) 19247 case "gatewayLoadBalancer": 19248 err = unpopulate(val, "GatewayLoadBalancer", &i.GatewayLoadBalancer) 19249 delete(rawMsg, key) 19250 case "loadBalancerBackendAddressPools": 19251 err = unpopulate(val, "LoadBalancerBackendAddressPools", &i.LoadBalancerBackendAddressPools) 19252 delete(rawMsg, key) 19253 case "loadBalancerInboundNatRules": 19254 err = unpopulate(val, "LoadBalancerInboundNatRules", &i.LoadBalancerInboundNatRules) 19255 delete(rawMsg, key) 19256 case "primary": 19257 err = unpopulate(val, "Primary", &i.Primary) 19258 delete(rawMsg, key) 19259 case "privateIPAddress": 19260 err = unpopulate(val, "PrivateIPAddress", &i.PrivateIPAddress) 19261 delete(rawMsg, key) 19262 case "privateIPAddressPrefixLength": 19263 err = unpopulate(val, "PrivateIPAddressPrefixLength", &i.PrivateIPAddressPrefixLength) 19264 delete(rawMsg, key) 19265 case "privateIPAddressVersion": 19266 err = unpopulate(val, "PrivateIPAddressVersion", &i.PrivateIPAddressVersion) 19267 delete(rawMsg, key) 19268 case "privateIPAllocationMethod": 19269 err = unpopulate(val, "PrivateIPAllocationMethod", &i.PrivateIPAllocationMethod) 19270 delete(rawMsg, key) 19271 case "privateLinkConnectionProperties": 19272 err = unpopulate(val, "PrivateLinkConnectionProperties", &i.PrivateLinkConnectionProperties) 19273 delete(rawMsg, key) 19274 case "provisioningState": 19275 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 19276 delete(rawMsg, key) 19277 case "publicIPAddress": 19278 err = unpopulate(val, "PublicIPAddress", &i.PublicIPAddress) 19279 delete(rawMsg, key) 19280 case "subnet": 19281 err = unpopulate(val, "Subnet", &i.Subnet) 19282 delete(rawMsg, key) 19283 case "virtualNetworkTaps": 19284 err = unpopulate(val, "VirtualNetworkTaps", &i.VirtualNetworkTaps) 19285 delete(rawMsg, key) 19286 } 19287 if err != nil { 19288 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19289 } 19290 } 19291 return nil 19292 } 19293 19294 // MarshalJSON implements the json.Marshaller interface for type InterfaceListResult. 19295 func (i InterfaceListResult) MarshalJSON() ([]byte, error) { 19296 objectMap := make(map[string]any) 19297 populate(objectMap, "nextLink", i.NextLink) 19298 populate(objectMap, "value", i.Value) 19299 return json.Marshal(objectMap) 19300 } 19301 19302 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceListResult. 19303 func (i *InterfaceListResult) UnmarshalJSON(data []byte) error { 19304 var rawMsg map[string]json.RawMessage 19305 if err := json.Unmarshal(data, &rawMsg); err != nil { 19306 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19307 } 19308 for key, val := range rawMsg { 19309 var err error 19310 switch key { 19311 case "nextLink": 19312 err = unpopulate(val, "NextLink", &i.NextLink) 19313 delete(rawMsg, key) 19314 case "value": 19315 err = unpopulate(val, "Value", &i.Value) 19316 delete(rawMsg, key) 19317 } 19318 if err != nil { 19319 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19320 } 19321 } 19322 return nil 19323 } 19324 19325 // MarshalJSON implements the json.Marshaller interface for type InterfaceLoadBalancerListResult. 19326 func (i InterfaceLoadBalancerListResult) MarshalJSON() ([]byte, error) { 19327 objectMap := make(map[string]any) 19328 populate(objectMap, "nextLink", i.NextLink) 19329 populate(objectMap, "value", i.Value) 19330 return json.Marshal(objectMap) 19331 } 19332 19333 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceLoadBalancerListResult. 19334 func (i *InterfaceLoadBalancerListResult) UnmarshalJSON(data []byte) error { 19335 var rawMsg map[string]json.RawMessage 19336 if err := json.Unmarshal(data, &rawMsg); err != nil { 19337 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19338 } 19339 for key, val := range rawMsg { 19340 var err error 19341 switch key { 19342 case "nextLink": 19343 err = unpopulate(val, "NextLink", &i.NextLink) 19344 delete(rawMsg, key) 19345 case "value": 19346 err = unpopulate(val, "Value", &i.Value) 19347 delete(rawMsg, key) 19348 } 19349 if err != nil { 19350 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19351 } 19352 } 19353 return nil 19354 } 19355 19356 // MarshalJSON implements the json.Marshaller interface for type InterfacePropertiesFormat. 19357 func (i InterfacePropertiesFormat) MarshalJSON() ([]byte, error) { 19358 objectMap := make(map[string]any) 19359 populate(objectMap, "auxiliaryMode", i.AuxiliaryMode) 19360 populate(objectMap, "auxiliarySku", i.AuxiliarySKU) 19361 populate(objectMap, "dnsSettings", i.DNSSettings) 19362 populate(objectMap, "defaultOutboundConnectivityEnabled", i.DefaultOutboundConnectivityEnabled) 19363 populate(objectMap, "disableTcpStateTracking", i.DisableTCPStateTracking) 19364 populate(objectMap, "dscpConfiguration", i.DscpConfiguration) 19365 populate(objectMap, "enableAcceleratedNetworking", i.EnableAcceleratedNetworking) 19366 populate(objectMap, "enableIPForwarding", i.EnableIPForwarding) 19367 populate(objectMap, "hostedWorkloads", i.HostedWorkloads) 19368 populate(objectMap, "ipConfigurations", i.IPConfigurations) 19369 populate(objectMap, "macAddress", i.MacAddress) 19370 populate(objectMap, "migrationPhase", i.MigrationPhase) 19371 populate(objectMap, "networkSecurityGroup", i.NetworkSecurityGroup) 19372 populate(objectMap, "nicType", i.NicType) 19373 populate(objectMap, "primary", i.Primary) 19374 populate(objectMap, "privateEndpoint", i.PrivateEndpoint) 19375 populate(objectMap, "privateLinkService", i.PrivateLinkService) 19376 populate(objectMap, "provisioningState", i.ProvisioningState) 19377 populate(objectMap, "resourceGuid", i.ResourceGUID) 19378 populate(objectMap, "tapConfigurations", i.TapConfigurations) 19379 populate(objectMap, "virtualMachine", i.VirtualMachine) 19380 populate(objectMap, "vnetEncryptionSupported", i.VnetEncryptionSupported) 19381 populate(objectMap, "workloadType", i.WorkloadType) 19382 return json.Marshal(objectMap) 19383 } 19384 19385 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfacePropertiesFormat. 19386 func (i *InterfacePropertiesFormat) UnmarshalJSON(data []byte) error { 19387 var rawMsg map[string]json.RawMessage 19388 if err := json.Unmarshal(data, &rawMsg); err != nil { 19389 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19390 } 19391 for key, val := range rawMsg { 19392 var err error 19393 switch key { 19394 case "auxiliaryMode": 19395 err = unpopulate(val, "AuxiliaryMode", &i.AuxiliaryMode) 19396 delete(rawMsg, key) 19397 case "auxiliarySku": 19398 err = unpopulate(val, "AuxiliarySKU", &i.AuxiliarySKU) 19399 delete(rawMsg, key) 19400 case "dnsSettings": 19401 err = unpopulate(val, "DNSSettings", &i.DNSSettings) 19402 delete(rawMsg, key) 19403 case "defaultOutboundConnectivityEnabled": 19404 err = unpopulate(val, "DefaultOutboundConnectivityEnabled", &i.DefaultOutboundConnectivityEnabled) 19405 delete(rawMsg, key) 19406 case "disableTcpStateTracking": 19407 err = unpopulate(val, "DisableTCPStateTracking", &i.DisableTCPStateTracking) 19408 delete(rawMsg, key) 19409 case "dscpConfiguration": 19410 err = unpopulate(val, "DscpConfiguration", &i.DscpConfiguration) 19411 delete(rawMsg, key) 19412 case "enableAcceleratedNetworking": 19413 err = unpopulate(val, "EnableAcceleratedNetworking", &i.EnableAcceleratedNetworking) 19414 delete(rawMsg, key) 19415 case "enableIPForwarding": 19416 err = unpopulate(val, "EnableIPForwarding", &i.EnableIPForwarding) 19417 delete(rawMsg, key) 19418 case "hostedWorkloads": 19419 err = unpopulate(val, "HostedWorkloads", &i.HostedWorkloads) 19420 delete(rawMsg, key) 19421 case "ipConfigurations": 19422 err = unpopulate(val, "IPConfigurations", &i.IPConfigurations) 19423 delete(rawMsg, key) 19424 case "macAddress": 19425 err = unpopulate(val, "MacAddress", &i.MacAddress) 19426 delete(rawMsg, key) 19427 case "migrationPhase": 19428 err = unpopulate(val, "MigrationPhase", &i.MigrationPhase) 19429 delete(rawMsg, key) 19430 case "networkSecurityGroup": 19431 err = unpopulate(val, "NetworkSecurityGroup", &i.NetworkSecurityGroup) 19432 delete(rawMsg, key) 19433 case "nicType": 19434 err = unpopulate(val, "NicType", &i.NicType) 19435 delete(rawMsg, key) 19436 case "primary": 19437 err = unpopulate(val, "Primary", &i.Primary) 19438 delete(rawMsg, key) 19439 case "privateEndpoint": 19440 err = unpopulate(val, "PrivateEndpoint", &i.PrivateEndpoint) 19441 delete(rawMsg, key) 19442 case "privateLinkService": 19443 err = unpopulate(val, "PrivateLinkService", &i.PrivateLinkService) 19444 delete(rawMsg, key) 19445 case "provisioningState": 19446 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 19447 delete(rawMsg, key) 19448 case "resourceGuid": 19449 err = unpopulate(val, "ResourceGUID", &i.ResourceGUID) 19450 delete(rawMsg, key) 19451 case "tapConfigurations": 19452 err = unpopulate(val, "TapConfigurations", &i.TapConfigurations) 19453 delete(rawMsg, key) 19454 case "virtualMachine": 19455 err = unpopulate(val, "VirtualMachine", &i.VirtualMachine) 19456 delete(rawMsg, key) 19457 case "vnetEncryptionSupported": 19458 err = unpopulate(val, "VnetEncryptionSupported", &i.VnetEncryptionSupported) 19459 delete(rawMsg, key) 19460 case "workloadType": 19461 err = unpopulate(val, "WorkloadType", &i.WorkloadType) 19462 delete(rawMsg, key) 19463 } 19464 if err != nil { 19465 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19466 } 19467 } 19468 return nil 19469 } 19470 19471 // MarshalJSON implements the json.Marshaller interface for type InterfaceTapConfiguration. 19472 func (i InterfaceTapConfiguration) MarshalJSON() ([]byte, error) { 19473 objectMap := make(map[string]any) 19474 populate(objectMap, "etag", i.Etag) 19475 populate(objectMap, "id", i.ID) 19476 populate(objectMap, "name", i.Name) 19477 populate(objectMap, "properties", i.Properties) 19478 populate(objectMap, "type", i.Type) 19479 return json.Marshal(objectMap) 19480 } 19481 19482 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceTapConfiguration. 19483 func (i *InterfaceTapConfiguration) UnmarshalJSON(data []byte) error { 19484 var rawMsg map[string]json.RawMessage 19485 if err := json.Unmarshal(data, &rawMsg); err != nil { 19486 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19487 } 19488 for key, val := range rawMsg { 19489 var err error 19490 switch key { 19491 case "etag": 19492 err = unpopulate(val, "Etag", &i.Etag) 19493 delete(rawMsg, key) 19494 case "id": 19495 err = unpopulate(val, "ID", &i.ID) 19496 delete(rawMsg, key) 19497 case "name": 19498 err = unpopulate(val, "Name", &i.Name) 19499 delete(rawMsg, key) 19500 case "properties": 19501 err = unpopulate(val, "Properties", &i.Properties) 19502 delete(rawMsg, key) 19503 case "type": 19504 err = unpopulate(val, "Type", &i.Type) 19505 delete(rawMsg, key) 19506 } 19507 if err != nil { 19508 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19509 } 19510 } 19511 return nil 19512 } 19513 19514 // MarshalJSON implements the json.Marshaller interface for type InterfaceTapConfigurationListResult. 19515 func (i InterfaceTapConfigurationListResult) MarshalJSON() ([]byte, error) { 19516 objectMap := make(map[string]any) 19517 populate(objectMap, "nextLink", i.NextLink) 19518 populate(objectMap, "value", i.Value) 19519 return json.Marshal(objectMap) 19520 } 19521 19522 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceTapConfigurationListResult. 19523 func (i *InterfaceTapConfigurationListResult) UnmarshalJSON(data []byte) error { 19524 var rawMsg map[string]json.RawMessage 19525 if err := json.Unmarshal(data, &rawMsg); err != nil { 19526 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19527 } 19528 for key, val := range rawMsg { 19529 var err error 19530 switch key { 19531 case "nextLink": 19532 err = unpopulate(val, "NextLink", &i.NextLink) 19533 delete(rawMsg, key) 19534 case "value": 19535 err = unpopulate(val, "Value", &i.Value) 19536 delete(rawMsg, key) 19537 } 19538 if err != nil { 19539 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19540 } 19541 } 19542 return nil 19543 } 19544 19545 // MarshalJSON implements the json.Marshaller interface for type InterfaceTapConfigurationPropertiesFormat. 19546 func (i InterfaceTapConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 19547 objectMap := make(map[string]any) 19548 populate(objectMap, "provisioningState", i.ProvisioningState) 19549 populate(objectMap, "virtualNetworkTap", i.VirtualNetworkTap) 19550 return json.Marshal(objectMap) 19551 } 19552 19553 // UnmarshalJSON implements the json.Unmarshaller interface for type InterfaceTapConfigurationPropertiesFormat. 19554 func (i *InterfaceTapConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 19555 var rawMsg map[string]json.RawMessage 19556 if err := json.Unmarshal(data, &rawMsg); err != nil { 19557 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19558 } 19559 for key, val := range rawMsg { 19560 var err error 19561 switch key { 19562 case "provisioningState": 19563 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 19564 delete(rawMsg, key) 19565 case "virtualNetworkTap": 19566 err = unpopulate(val, "VirtualNetworkTap", &i.VirtualNetworkTap) 19567 delete(rawMsg, key) 19568 } 19569 if err != nil { 19570 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19571 } 19572 } 19573 return nil 19574 } 19575 19576 // MarshalJSON implements the json.Marshaller interface for type InternetIngressPublicIPsProperties. 19577 func (i InternetIngressPublicIPsProperties) MarshalJSON() ([]byte, error) { 19578 objectMap := make(map[string]any) 19579 populate(objectMap, "id", i.ID) 19580 return json.Marshal(objectMap) 19581 } 19582 19583 // UnmarshalJSON implements the json.Unmarshaller interface for type InternetIngressPublicIPsProperties. 19584 func (i *InternetIngressPublicIPsProperties) UnmarshalJSON(data []byte) error { 19585 var rawMsg map[string]json.RawMessage 19586 if err := json.Unmarshal(data, &rawMsg); err != nil { 19587 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19588 } 19589 for key, val := range rawMsg { 19590 var err error 19591 switch key { 19592 case "id": 19593 err = unpopulate(val, "ID", &i.ID) 19594 delete(rawMsg, key) 19595 } 19596 if err != nil { 19597 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19598 } 19599 } 19600 return nil 19601 } 19602 19603 // MarshalJSON implements the json.Marshaller interface for type IpamPool. 19604 func (i IpamPool) MarshalJSON() ([]byte, error) { 19605 objectMap := make(map[string]any) 19606 populate(objectMap, "id", i.ID) 19607 populate(objectMap, "location", i.Location) 19608 populate(objectMap, "name", i.Name) 19609 populate(objectMap, "properties", i.Properties) 19610 populate(objectMap, "systemData", i.SystemData) 19611 populate(objectMap, "tags", i.Tags) 19612 populate(objectMap, "type", i.Type) 19613 return json.Marshal(objectMap) 19614 } 19615 19616 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPool. 19617 func (i *IpamPool) UnmarshalJSON(data []byte) error { 19618 var rawMsg map[string]json.RawMessage 19619 if err := json.Unmarshal(data, &rawMsg); err != nil { 19620 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19621 } 19622 for key, val := range rawMsg { 19623 var err error 19624 switch key { 19625 case "id": 19626 err = unpopulate(val, "ID", &i.ID) 19627 delete(rawMsg, key) 19628 case "location": 19629 err = unpopulate(val, "Location", &i.Location) 19630 delete(rawMsg, key) 19631 case "name": 19632 err = unpopulate(val, "Name", &i.Name) 19633 delete(rawMsg, key) 19634 case "properties": 19635 err = unpopulate(val, "Properties", &i.Properties) 19636 delete(rawMsg, key) 19637 case "systemData": 19638 err = unpopulate(val, "SystemData", &i.SystemData) 19639 delete(rawMsg, key) 19640 case "tags": 19641 err = unpopulate(val, "Tags", &i.Tags) 19642 delete(rawMsg, key) 19643 case "type": 19644 err = unpopulate(val, "Type", &i.Type) 19645 delete(rawMsg, key) 19646 } 19647 if err != nil { 19648 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19649 } 19650 } 19651 return nil 19652 } 19653 19654 // MarshalJSON implements the json.Marshaller interface for type IpamPoolList. 19655 func (i IpamPoolList) MarshalJSON() ([]byte, error) { 19656 objectMap := make(map[string]any) 19657 populate(objectMap, "nextLink", i.NextLink) 19658 populate(objectMap, "value", i.Value) 19659 return json.Marshal(objectMap) 19660 } 19661 19662 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPoolList. 19663 func (i *IpamPoolList) UnmarshalJSON(data []byte) error { 19664 var rawMsg map[string]json.RawMessage 19665 if err := json.Unmarshal(data, &rawMsg); err != nil { 19666 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19667 } 19668 for key, val := range rawMsg { 19669 var err error 19670 switch key { 19671 case "nextLink": 19672 err = unpopulate(val, "NextLink", &i.NextLink) 19673 delete(rawMsg, key) 19674 case "value": 19675 err = unpopulate(val, "Value", &i.Value) 19676 delete(rawMsg, key) 19677 } 19678 if err != nil { 19679 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19680 } 19681 } 19682 return nil 19683 } 19684 19685 // MarshalJSON implements the json.Marshaller interface for type IpamPoolPrefixAllocation. 19686 func (i IpamPoolPrefixAllocation) MarshalJSON() ([]byte, error) { 19687 objectMap := make(map[string]any) 19688 populate(objectMap, "allocatedAddressPrefixes", i.AllocatedAddressPrefixes) 19689 populate(objectMap, "numberOfIpAddresses", i.NumberOfIPAddresses) 19690 populate(objectMap, "pool", i.Pool) 19691 return json.Marshal(objectMap) 19692 } 19693 19694 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPoolPrefixAllocation. 19695 func (i *IpamPoolPrefixAllocation) UnmarshalJSON(data []byte) error { 19696 var rawMsg map[string]json.RawMessage 19697 if err := json.Unmarshal(data, &rawMsg); err != nil { 19698 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19699 } 19700 for key, val := range rawMsg { 19701 var err error 19702 switch key { 19703 case "allocatedAddressPrefixes": 19704 err = unpopulate(val, "AllocatedAddressPrefixes", &i.AllocatedAddressPrefixes) 19705 delete(rawMsg, key) 19706 case "numberOfIpAddresses": 19707 err = unpopulate(val, "NumberOfIPAddresses", &i.NumberOfIPAddresses) 19708 delete(rawMsg, key) 19709 case "pool": 19710 err = unpopulate(val, "Pool", &i.Pool) 19711 delete(rawMsg, key) 19712 } 19713 if err != nil { 19714 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19715 } 19716 } 19717 return nil 19718 } 19719 19720 // MarshalJSON implements the json.Marshaller interface for type IpamPoolPrefixAllocationPool. 19721 func (i IpamPoolPrefixAllocationPool) MarshalJSON() ([]byte, error) { 19722 objectMap := make(map[string]any) 19723 populate(objectMap, "id", i.ID) 19724 return json.Marshal(objectMap) 19725 } 19726 19727 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPoolPrefixAllocationPool. 19728 func (i *IpamPoolPrefixAllocationPool) UnmarshalJSON(data []byte) error { 19729 var rawMsg map[string]json.RawMessage 19730 if err := json.Unmarshal(data, &rawMsg); err != nil { 19731 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19732 } 19733 for key, val := range rawMsg { 19734 var err error 19735 switch key { 19736 case "id": 19737 err = unpopulate(val, "ID", &i.ID) 19738 delete(rawMsg, key) 19739 } 19740 if err != nil { 19741 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19742 } 19743 } 19744 return nil 19745 } 19746 19747 // MarshalJSON implements the json.Marshaller interface for type IpamPoolProperties. 19748 func (i IpamPoolProperties) MarshalJSON() ([]byte, error) { 19749 objectMap := make(map[string]any) 19750 populate(objectMap, "addressPrefixes", i.AddressPrefixes) 19751 populate(objectMap, "description", i.Description) 19752 populate(objectMap, "displayName", i.DisplayName) 19753 populate(objectMap, "ipAddressType", i.IPAddressType) 19754 populate(objectMap, "parentPoolName", i.ParentPoolName) 19755 populate(objectMap, "provisioningState", i.ProvisioningState) 19756 return json.Marshal(objectMap) 19757 } 19758 19759 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPoolProperties. 19760 func (i *IpamPoolProperties) UnmarshalJSON(data []byte) error { 19761 var rawMsg map[string]json.RawMessage 19762 if err := json.Unmarshal(data, &rawMsg); err != nil { 19763 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19764 } 19765 for key, val := range rawMsg { 19766 var err error 19767 switch key { 19768 case "addressPrefixes": 19769 err = unpopulate(val, "AddressPrefixes", &i.AddressPrefixes) 19770 delete(rawMsg, key) 19771 case "description": 19772 err = unpopulate(val, "Description", &i.Description) 19773 delete(rawMsg, key) 19774 case "displayName": 19775 err = unpopulate(val, "DisplayName", &i.DisplayName) 19776 delete(rawMsg, key) 19777 case "ipAddressType": 19778 err = unpopulate(val, "IPAddressType", &i.IPAddressType) 19779 delete(rawMsg, key) 19780 case "parentPoolName": 19781 err = unpopulate(val, "ParentPoolName", &i.ParentPoolName) 19782 delete(rawMsg, key) 19783 case "provisioningState": 19784 err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) 19785 delete(rawMsg, key) 19786 } 19787 if err != nil { 19788 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19789 } 19790 } 19791 return nil 19792 } 19793 19794 // MarshalJSON implements the json.Marshaller interface for type IpamPoolUpdate. 19795 func (i IpamPoolUpdate) MarshalJSON() ([]byte, error) { 19796 objectMap := make(map[string]any) 19797 populate(objectMap, "properties", i.Properties) 19798 populate(objectMap, "tags", i.Tags) 19799 return json.Marshal(objectMap) 19800 } 19801 19802 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPoolUpdate. 19803 func (i *IpamPoolUpdate) UnmarshalJSON(data []byte) error { 19804 var rawMsg map[string]json.RawMessage 19805 if err := json.Unmarshal(data, &rawMsg); err != nil { 19806 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19807 } 19808 for key, val := range rawMsg { 19809 var err error 19810 switch key { 19811 case "properties": 19812 err = unpopulate(val, "Properties", &i.Properties) 19813 delete(rawMsg, key) 19814 case "tags": 19815 err = unpopulate(val, "Tags", &i.Tags) 19816 delete(rawMsg, key) 19817 } 19818 if err != nil { 19819 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19820 } 19821 } 19822 return nil 19823 } 19824 19825 // MarshalJSON implements the json.Marshaller interface for type IpamPoolUpdateProperties. 19826 func (i IpamPoolUpdateProperties) MarshalJSON() ([]byte, error) { 19827 objectMap := make(map[string]any) 19828 populate(objectMap, "description", i.Description) 19829 populate(objectMap, "displayName", i.DisplayName) 19830 return json.Marshal(objectMap) 19831 } 19832 19833 // UnmarshalJSON implements the json.Unmarshaller interface for type IpamPoolUpdateProperties. 19834 func (i *IpamPoolUpdateProperties) UnmarshalJSON(data []byte) error { 19835 var rawMsg map[string]json.RawMessage 19836 if err := json.Unmarshal(data, &rawMsg); err != nil { 19837 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19838 } 19839 for key, val := range rawMsg { 19840 var err error 19841 switch key { 19842 case "description": 19843 err = unpopulate(val, "Description", &i.Description) 19844 delete(rawMsg, key) 19845 case "displayName": 19846 err = unpopulate(val, "DisplayName", &i.DisplayName) 19847 delete(rawMsg, key) 19848 } 19849 if err != nil { 19850 return fmt.Errorf("unmarshalling type %T: %v", i, err) 19851 } 19852 } 19853 return nil 19854 } 19855 19856 // MarshalJSON implements the json.Marshaller interface for type ListHubRouteTablesResult. 19857 func (l ListHubRouteTablesResult) MarshalJSON() ([]byte, error) { 19858 objectMap := make(map[string]any) 19859 populate(objectMap, "nextLink", l.NextLink) 19860 populate(objectMap, "value", l.Value) 19861 return json.Marshal(objectMap) 19862 } 19863 19864 // UnmarshalJSON implements the json.Unmarshaller interface for type ListHubRouteTablesResult. 19865 func (l *ListHubRouteTablesResult) UnmarshalJSON(data []byte) error { 19866 var rawMsg map[string]json.RawMessage 19867 if err := json.Unmarshal(data, &rawMsg); err != nil { 19868 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19869 } 19870 for key, val := range rawMsg { 19871 var err error 19872 switch key { 19873 case "nextLink": 19874 err = unpopulate(val, "NextLink", &l.NextLink) 19875 delete(rawMsg, key) 19876 case "value": 19877 err = unpopulate(val, "Value", &l.Value) 19878 delete(rawMsg, key) 19879 } 19880 if err != nil { 19881 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19882 } 19883 } 19884 return nil 19885 } 19886 19887 // MarshalJSON implements the json.Marshaller interface for type ListHubVirtualNetworkConnectionsResult. 19888 func (l ListHubVirtualNetworkConnectionsResult) MarshalJSON() ([]byte, error) { 19889 objectMap := make(map[string]any) 19890 populate(objectMap, "nextLink", l.NextLink) 19891 populate(objectMap, "value", l.Value) 19892 return json.Marshal(objectMap) 19893 } 19894 19895 // UnmarshalJSON implements the json.Unmarshaller interface for type ListHubVirtualNetworkConnectionsResult. 19896 func (l *ListHubVirtualNetworkConnectionsResult) UnmarshalJSON(data []byte) error { 19897 var rawMsg map[string]json.RawMessage 19898 if err := json.Unmarshal(data, &rawMsg); err != nil { 19899 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19900 } 19901 for key, val := range rawMsg { 19902 var err error 19903 switch key { 19904 case "nextLink": 19905 err = unpopulate(val, "NextLink", &l.NextLink) 19906 delete(rawMsg, key) 19907 case "value": 19908 err = unpopulate(val, "Value", &l.Value) 19909 delete(rawMsg, key) 19910 } 19911 if err != nil { 19912 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19913 } 19914 } 19915 return nil 19916 } 19917 19918 // MarshalJSON implements the json.Marshaller interface for type ListP2SVPNGatewaysResult. 19919 func (l ListP2SVPNGatewaysResult) MarshalJSON() ([]byte, error) { 19920 objectMap := make(map[string]any) 19921 populate(objectMap, "nextLink", l.NextLink) 19922 populate(objectMap, "value", l.Value) 19923 return json.Marshal(objectMap) 19924 } 19925 19926 // UnmarshalJSON implements the json.Unmarshaller interface for type ListP2SVPNGatewaysResult. 19927 func (l *ListP2SVPNGatewaysResult) UnmarshalJSON(data []byte) error { 19928 var rawMsg map[string]json.RawMessage 19929 if err := json.Unmarshal(data, &rawMsg); err != nil { 19930 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19931 } 19932 for key, val := range rawMsg { 19933 var err error 19934 switch key { 19935 case "nextLink": 19936 err = unpopulate(val, "NextLink", &l.NextLink) 19937 delete(rawMsg, key) 19938 case "value": 19939 err = unpopulate(val, "Value", &l.Value) 19940 delete(rawMsg, key) 19941 } 19942 if err != nil { 19943 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19944 } 19945 } 19946 return nil 19947 } 19948 19949 // MarshalJSON implements the json.Marshaller interface for type ListRouteMapsResult. 19950 func (l ListRouteMapsResult) MarshalJSON() ([]byte, error) { 19951 objectMap := make(map[string]any) 19952 populate(objectMap, "nextLink", l.NextLink) 19953 populate(objectMap, "value", l.Value) 19954 return json.Marshal(objectMap) 19955 } 19956 19957 // UnmarshalJSON implements the json.Unmarshaller interface for type ListRouteMapsResult. 19958 func (l *ListRouteMapsResult) UnmarshalJSON(data []byte) error { 19959 var rawMsg map[string]json.RawMessage 19960 if err := json.Unmarshal(data, &rawMsg); err != nil { 19961 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19962 } 19963 for key, val := range rawMsg { 19964 var err error 19965 switch key { 19966 case "nextLink": 19967 err = unpopulate(val, "NextLink", &l.NextLink) 19968 delete(rawMsg, key) 19969 case "value": 19970 err = unpopulate(val, "Value", &l.Value) 19971 delete(rawMsg, key) 19972 } 19973 if err != nil { 19974 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19975 } 19976 } 19977 return nil 19978 } 19979 19980 // MarshalJSON implements the json.Marshaller interface for type ListRoutingIntentResult. 19981 func (l ListRoutingIntentResult) MarshalJSON() ([]byte, error) { 19982 objectMap := make(map[string]any) 19983 populate(objectMap, "nextLink", l.NextLink) 19984 populate(objectMap, "value", l.Value) 19985 return json.Marshal(objectMap) 19986 } 19987 19988 // UnmarshalJSON implements the json.Unmarshaller interface for type ListRoutingIntentResult. 19989 func (l *ListRoutingIntentResult) UnmarshalJSON(data []byte) error { 19990 var rawMsg map[string]json.RawMessage 19991 if err := json.Unmarshal(data, &rawMsg); err != nil { 19992 return fmt.Errorf("unmarshalling type %T: %v", l, err) 19993 } 19994 for key, val := range rawMsg { 19995 var err error 19996 switch key { 19997 case "nextLink": 19998 err = unpopulate(val, "NextLink", &l.NextLink) 19999 delete(rawMsg, key) 20000 case "value": 20001 err = unpopulate(val, "Value", &l.Value) 20002 delete(rawMsg, key) 20003 } 20004 if err != nil { 20005 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20006 } 20007 } 20008 return nil 20009 } 20010 20011 // MarshalJSON implements the json.Marshaller interface for type ListVPNConnectionsResult. 20012 func (l ListVPNConnectionsResult) MarshalJSON() ([]byte, error) { 20013 objectMap := make(map[string]any) 20014 populate(objectMap, "nextLink", l.NextLink) 20015 populate(objectMap, "value", l.Value) 20016 return json.Marshal(objectMap) 20017 } 20018 20019 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNConnectionsResult. 20020 func (l *ListVPNConnectionsResult) UnmarshalJSON(data []byte) error { 20021 var rawMsg map[string]json.RawMessage 20022 if err := json.Unmarshal(data, &rawMsg); err != nil { 20023 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20024 } 20025 for key, val := range rawMsg { 20026 var err error 20027 switch key { 20028 case "nextLink": 20029 err = unpopulate(val, "NextLink", &l.NextLink) 20030 delete(rawMsg, key) 20031 case "value": 20032 err = unpopulate(val, "Value", &l.Value) 20033 delete(rawMsg, key) 20034 } 20035 if err != nil { 20036 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20037 } 20038 } 20039 return nil 20040 } 20041 20042 // MarshalJSON implements the json.Marshaller interface for type ListVPNGatewayNatRulesResult. 20043 func (l ListVPNGatewayNatRulesResult) MarshalJSON() ([]byte, error) { 20044 objectMap := make(map[string]any) 20045 populate(objectMap, "nextLink", l.NextLink) 20046 populate(objectMap, "value", l.Value) 20047 return json.Marshal(objectMap) 20048 } 20049 20050 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNGatewayNatRulesResult. 20051 func (l *ListVPNGatewayNatRulesResult) UnmarshalJSON(data []byte) error { 20052 var rawMsg map[string]json.RawMessage 20053 if err := json.Unmarshal(data, &rawMsg); err != nil { 20054 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20055 } 20056 for key, val := range rawMsg { 20057 var err error 20058 switch key { 20059 case "nextLink": 20060 err = unpopulate(val, "NextLink", &l.NextLink) 20061 delete(rawMsg, key) 20062 case "value": 20063 err = unpopulate(val, "Value", &l.Value) 20064 delete(rawMsg, key) 20065 } 20066 if err != nil { 20067 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20068 } 20069 } 20070 return nil 20071 } 20072 20073 // MarshalJSON implements the json.Marshaller interface for type ListVPNGatewaysResult. 20074 func (l ListVPNGatewaysResult) MarshalJSON() ([]byte, error) { 20075 objectMap := make(map[string]any) 20076 populate(objectMap, "nextLink", l.NextLink) 20077 populate(objectMap, "value", l.Value) 20078 return json.Marshal(objectMap) 20079 } 20080 20081 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNGatewaysResult. 20082 func (l *ListVPNGatewaysResult) UnmarshalJSON(data []byte) error { 20083 var rawMsg map[string]json.RawMessage 20084 if err := json.Unmarshal(data, &rawMsg); err != nil { 20085 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20086 } 20087 for key, val := range rawMsg { 20088 var err error 20089 switch key { 20090 case "nextLink": 20091 err = unpopulate(val, "NextLink", &l.NextLink) 20092 delete(rawMsg, key) 20093 case "value": 20094 err = unpopulate(val, "Value", &l.Value) 20095 delete(rawMsg, key) 20096 } 20097 if err != nil { 20098 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20099 } 20100 } 20101 return nil 20102 } 20103 20104 // MarshalJSON implements the json.Marshaller interface for type ListVPNServerConfigurationPolicyGroupsResult. 20105 func (l ListVPNServerConfigurationPolicyGroupsResult) MarshalJSON() ([]byte, error) { 20106 objectMap := make(map[string]any) 20107 populate(objectMap, "nextLink", l.NextLink) 20108 populate(objectMap, "value", l.Value) 20109 return json.Marshal(objectMap) 20110 } 20111 20112 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNServerConfigurationPolicyGroupsResult. 20113 func (l *ListVPNServerConfigurationPolicyGroupsResult) UnmarshalJSON(data []byte) error { 20114 var rawMsg map[string]json.RawMessage 20115 if err := json.Unmarshal(data, &rawMsg); err != nil { 20116 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20117 } 20118 for key, val := range rawMsg { 20119 var err error 20120 switch key { 20121 case "nextLink": 20122 err = unpopulate(val, "NextLink", &l.NextLink) 20123 delete(rawMsg, key) 20124 case "value": 20125 err = unpopulate(val, "Value", &l.Value) 20126 delete(rawMsg, key) 20127 } 20128 if err != nil { 20129 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20130 } 20131 } 20132 return nil 20133 } 20134 20135 // MarshalJSON implements the json.Marshaller interface for type ListVPNServerConfigurationsResult. 20136 func (l ListVPNServerConfigurationsResult) MarshalJSON() ([]byte, error) { 20137 objectMap := make(map[string]any) 20138 populate(objectMap, "nextLink", l.NextLink) 20139 populate(objectMap, "value", l.Value) 20140 return json.Marshal(objectMap) 20141 } 20142 20143 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNServerConfigurationsResult. 20144 func (l *ListVPNServerConfigurationsResult) UnmarshalJSON(data []byte) error { 20145 var rawMsg map[string]json.RawMessage 20146 if err := json.Unmarshal(data, &rawMsg); err != nil { 20147 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20148 } 20149 for key, val := range rawMsg { 20150 var err error 20151 switch key { 20152 case "nextLink": 20153 err = unpopulate(val, "NextLink", &l.NextLink) 20154 delete(rawMsg, key) 20155 case "value": 20156 err = unpopulate(val, "Value", &l.Value) 20157 delete(rawMsg, key) 20158 } 20159 if err != nil { 20160 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20161 } 20162 } 20163 return nil 20164 } 20165 20166 // MarshalJSON implements the json.Marshaller interface for type ListVPNSiteLinkConnectionsResult. 20167 func (l ListVPNSiteLinkConnectionsResult) MarshalJSON() ([]byte, error) { 20168 objectMap := make(map[string]any) 20169 populate(objectMap, "nextLink", l.NextLink) 20170 populate(objectMap, "value", l.Value) 20171 return json.Marshal(objectMap) 20172 } 20173 20174 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNSiteLinkConnectionsResult. 20175 func (l *ListVPNSiteLinkConnectionsResult) UnmarshalJSON(data []byte) error { 20176 var rawMsg map[string]json.RawMessage 20177 if err := json.Unmarshal(data, &rawMsg); err != nil { 20178 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20179 } 20180 for key, val := range rawMsg { 20181 var err error 20182 switch key { 20183 case "nextLink": 20184 err = unpopulate(val, "NextLink", &l.NextLink) 20185 delete(rawMsg, key) 20186 case "value": 20187 err = unpopulate(val, "Value", &l.Value) 20188 delete(rawMsg, key) 20189 } 20190 if err != nil { 20191 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20192 } 20193 } 20194 return nil 20195 } 20196 20197 // MarshalJSON implements the json.Marshaller interface for type ListVPNSiteLinksResult. 20198 func (l ListVPNSiteLinksResult) MarshalJSON() ([]byte, error) { 20199 objectMap := make(map[string]any) 20200 populate(objectMap, "nextLink", l.NextLink) 20201 populate(objectMap, "value", l.Value) 20202 return json.Marshal(objectMap) 20203 } 20204 20205 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNSiteLinksResult. 20206 func (l *ListVPNSiteLinksResult) UnmarshalJSON(data []byte) error { 20207 var rawMsg map[string]json.RawMessage 20208 if err := json.Unmarshal(data, &rawMsg); err != nil { 20209 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20210 } 20211 for key, val := range rawMsg { 20212 var err error 20213 switch key { 20214 case "nextLink": 20215 err = unpopulate(val, "NextLink", &l.NextLink) 20216 delete(rawMsg, key) 20217 case "value": 20218 err = unpopulate(val, "Value", &l.Value) 20219 delete(rawMsg, key) 20220 } 20221 if err != nil { 20222 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20223 } 20224 } 20225 return nil 20226 } 20227 20228 // MarshalJSON implements the json.Marshaller interface for type ListVPNSitesResult. 20229 func (l ListVPNSitesResult) MarshalJSON() ([]byte, error) { 20230 objectMap := make(map[string]any) 20231 populate(objectMap, "nextLink", l.NextLink) 20232 populate(objectMap, "value", l.Value) 20233 return json.Marshal(objectMap) 20234 } 20235 20236 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVPNSitesResult. 20237 func (l *ListVPNSitesResult) UnmarshalJSON(data []byte) error { 20238 var rawMsg map[string]json.RawMessage 20239 if err := json.Unmarshal(data, &rawMsg); err != nil { 20240 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20241 } 20242 for key, val := range rawMsg { 20243 var err error 20244 switch key { 20245 case "nextLink": 20246 err = unpopulate(val, "NextLink", &l.NextLink) 20247 delete(rawMsg, key) 20248 case "value": 20249 err = unpopulate(val, "Value", &l.Value) 20250 delete(rawMsg, key) 20251 } 20252 if err != nil { 20253 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20254 } 20255 } 20256 return nil 20257 } 20258 20259 // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubBgpConnectionResults. 20260 func (l ListVirtualHubBgpConnectionResults) MarshalJSON() ([]byte, error) { 20261 objectMap := make(map[string]any) 20262 populate(objectMap, "nextLink", l.NextLink) 20263 populate(objectMap, "value", l.Value) 20264 return json.Marshal(objectMap) 20265 } 20266 20267 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVirtualHubBgpConnectionResults. 20268 func (l *ListVirtualHubBgpConnectionResults) UnmarshalJSON(data []byte) error { 20269 var rawMsg map[string]json.RawMessage 20270 if err := json.Unmarshal(data, &rawMsg); err != nil { 20271 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20272 } 20273 for key, val := range rawMsg { 20274 var err error 20275 switch key { 20276 case "nextLink": 20277 err = unpopulate(val, "NextLink", &l.NextLink) 20278 delete(rawMsg, key) 20279 case "value": 20280 err = unpopulate(val, "Value", &l.Value) 20281 delete(rawMsg, key) 20282 } 20283 if err != nil { 20284 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20285 } 20286 } 20287 return nil 20288 } 20289 20290 // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubIPConfigurationResults. 20291 func (l ListVirtualHubIPConfigurationResults) MarshalJSON() ([]byte, error) { 20292 objectMap := make(map[string]any) 20293 populate(objectMap, "nextLink", l.NextLink) 20294 populate(objectMap, "value", l.Value) 20295 return json.Marshal(objectMap) 20296 } 20297 20298 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVirtualHubIPConfigurationResults. 20299 func (l *ListVirtualHubIPConfigurationResults) UnmarshalJSON(data []byte) error { 20300 var rawMsg map[string]json.RawMessage 20301 if err := json.Unmarshal(data, &rawMsg); err != nil { 20302 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20303 } 20304 for key, val := range rawMsg { 20305 var err error 20306 switch key { 20307 case "nextLink": 20308 err = unpopulate(val, "NextLink", &l.NextLink) 20309 delete(rawMsg, key) 20310 case "value": 20311 err = unpopulate(val, "Value", &l.Value) 20312 delete(rawMsg, key) 20313 } 20314 if err != nil { 20315 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20316 } 20317 } 20318 return nil 20319 } 20320 20321 // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubRouteTableV2SResult. 20322 func (l ListVirtualHubRouteTableV2SResult) MarshalJSON() ([]byte, error) { 20323 objectMap := make(map[string]any) 20324 populate(objectMap, "nextLink", l.NextLink) 20325 populate(objectMap, "value", l.Value) 20326 return json.Marshal(objectMap) 20327 } 20328 20329 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVirtualHubRouteTableV2SResult. 20330 func (l *ListVirtualHubRouteTableV2SResult) UnmarshalJSON(data []byte) error { 20331 var rawMsg map[string]json.RawMessage 20332 if err := json.Unmarshal(data, &rawMsg); err != nil { 20333 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20334 } 20335 for key, val := range rawMsg { 20336 var err error 20337 switch key { 20338 case "nextLink": 20339 err = unpopulate(val, "NextLink", &l.NextLink) 20340 delete(rawMsg, key) 20341 case "value": 20342 err = unpopulate(val, "Value", &l.Value) 20343 delete(rawMsg, key) 20344 } 20345 if err != nil { 20346 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20347 } 20348 } 20349 return nil 20350 } 20351 20352 // MarshalJSON implements the json.Marshaller interface for type ListVirtualHubsResult. 20353 func (l ListVirtualHubsResult) MarshalJSON() ([]byte, error) { 20354 objectMap := make(map[string]any) 20355 populate(objectMap, "nextLink", l.NextLink) 20356 populate(objectMap, "value", l.Value) 20357 return json.Marshal(objectMap) 20358 } 20359 20360 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVirtualHubsResult. 20361 func (l *ListVirtualHubsResult) UnmarshalJSON(data []byte) error { 20362 var rawMsg map[string]json.RawMessage 20363 if err := json.Unmarshal(data, &rawMsg); err != nil { 20364 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20365 } 20366 for key, val := range rawMsg { 20367 var err error 20368 switch key { 20369 case "nextLink": 20370 err = unpopulate(val, "NextLink", &l.NextLink) 20371 delete(rawMsg, key) 20372 case "value": 20373 err = unpopulate(val, "Value", &l.Value) 20374 delete(rawMsg, key) 20375 } 20376 if err != nil { 20377 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20378 } 20379 } 20380 return nil 20381 } 20382 20383 // MarshalJSON implements the json.Marshaller interface for type ListVirtualNetworkGatewayNatRulesResult. 20384 func (l ListVirtualNetworkGatewayNatRulesResult) MarshalJSON() ([]byte, error) { 20385 objectMap := make(map[string]any) 20386 populate(objectMap, "nextLink", l.NextLink) 20387 populate(objectMap, "value", l.Value) 20388 return json.Marshal(objectMap) 20389 } 20390 20391 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVirtualNetworkGatewayNatRulesResult. 20392 func (l *ListVirtualNetworkGatewayNatRulesResult) UnmarshalJSON(data []byte) error { 20393 var rawMsg map[string]json.RawMessage 20394 if err := json.Unmarshal(data, &rawMsg); err != nil { 20395 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20396 } 20397 for key, val := range rawMsg { 20398 var err error 20399 switch key { 20400 case "nextLink": 20401 err = unpopulate(val, "NextLink", &l.NextLink) 20402 delete(rawMsg, key) 20403 case "value": 20404 err = unpopulate(val, "Value", &l.Value) 20405 delete(rawMsg, key) 20406 } 20407 if err != nil { 20408 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20409 } 20410 } 20411 return nil 20412 } 20413 20414 // MarshalJSON implements the json.Marshaller interface for type ListVirtualWANsResult. 20415 func (l ListVirtualWANsResult) MarshalJSON() ([]byte, error) { 20416 objectMap := make(map[string]any) 20417 populate(objectMap, "nextLink", l.NextLink) 20418 populate(objectMap, "value", l.Value) 20419 return json.Marshal(objectMap) 20420 } 20421 20422 // UnmarshalJSON implements the json.Unmarshaller interface for type ListVirtualWANsResult. 20423 func (l *ListVirtualWANsResult) UnmarshalJSON(data []byte) error { 20424 var rawMsg map[string]json.RawMessage 20425 if err := json.Unmarshal(data, &rawMsg); err != nil { 20426 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20427 } 20428 for key, val := range rawMsg { 20429 var err error 20430 switch key { 20431 case "nextLink": 20432 err = unpopulate(val, "NextLink", &l.NextLink) 20433 delete(rawMsg, key) 20434 case "value": 20435 err = unpopulate(val, "Value", &l.Value) 20436 delete(rawMsg, key) 20437 } 20438 if err != nil { 20439 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20440 } 20441 } 20442 return nil 20443 } 20444 20445 // MarshalJSON implements the json.Marshaller interface for type LoadBalancer. 20446 func (l LoadBalancer) MarshalJSON() ([]byte, error) { 20447 objectMap := make(map[string]any) 20448 populate(objectMap, "etag", l.Etag) 20449 populate(objectMap, "extendedLocation", l.ExtendedLocation) 20450 populate(objectMap, "id", l.ID) 20451 populate(objectMap, "location", l.Location) 20452 populate(objectMap, "name", l.Name) 20453 populate(objectMap, "properties", l.Properties) 20454 populate(objectMap, "sku", l.SKU) 20455 populate(objectMap, "tags", l.Tags) 20456 populate(objectMap, "type", l.Type) 20457 return json.Marshal(objectMap) 20458 } 20459 20460 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancer. 20461 func (l *LoadBalancer) UnmarshalJSON(data []byte) error { 20462 var rawMsg map[string]json.RawMessage 20463 if err := json.Unmarshal(data, &rawMsg); err != nil { 20464 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20465 } 20466 for key, val := range rawMsg { 20467 var err error 20468 switch key { 20469 case "etag": 20470 err = unpopulate(val, "Etag", &l.Etag) 20471 delete(rawMsg, key) 20472 case "extendedLocation": 20473 err = unpopulate(val, "ExtendedLocation", &l.ExtendedLocation) 20474 delete(rawMsg, key) 20475 case "id": 20476 err = unpopulate(val, "ID", &l.ID) 20477 delete(rawMsg, key) 20478 case "location": 20479 err = unpopulate(val, "Location", &l.Location) 20480 delete(rawMsg, key) 20481 case "name": 20482 err = unpopulate(val, "Name", &l.Name) 20483 delete(rawMsg, key) 20484 case "properties": 20485 err = unpopulate(val, "Properties", &l.Properties) 20486 delete(rawMsg, key) 20487 case "sku": 20488 err = unpopulate(val, "SKU", &l.SKU) 20489 delete(rawMsg, key) 20490 case "tags": 20491 err = unpopulate(val, "Tags", &l.Tags) 20492 delete(rawMsg, key) 20493 case "type": 20494 err = unpopulate(val, "Type", &l.Type) 20495 delete(rawMsg, key) 20496 } 20497 if err != nil { 20498 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20499 } 20500 } 20501 return nil 20502 } 20503 20504 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerBackendAddress. 20505 func (l LoadBalancerBackendAddress) MarshalJSON() ([]byte, error) { 20506 objectMap := make(map[string]any) 20507 populate(objectMap, "name", l.Name) 20508 populate(objectMap, "properties", l.Properties) 20509 return json.Marshal(objectMap) 20510 } 20511 20512 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerBackendAddress. 20513 func (l *LoadBalancerBackendAddress) UnmarshalJSON(data []byte) error { 20514 var rawMsg map[string]json.RawMessage 20515 if err := json.Unmarshal(data, &rawMsg); err != nil { 20516 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20517 } 20518 for key, val := range rawMsg { 20519 var err error 20520 switch key { 20521 case "name": 20522 err = unpopulate(val, "Name", &l.Name) 20523 delete(rawMsg, key) 20524 case "properties": 20525 err = unpopulate(val, "Properties", &l.Properties) 20526 delete(rawMsg, key) 20527 } 20528 if err != nil { 20529 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20530 } 20531 } 20532 return nil 20533 } 20534 20535 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerBackendAddressPoolListResult. 20536 func (l LoadBalancerBackendAddressPoolListResult) MarshalJSON() ([]byte, error) { 20537 objectMap := make(map[string]any) 20538 populate(objectMap, "nextLink", l.NextLink) 20539 populate(objectMap, "value", l.Value) 20540 return json.Marshal(objectMap) 20541 } 20542 20543 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerBackendAddressPoolListResult. 20544 func (l *LoadBalancerBackendAddressPoolListResult) UnmarshalJSON(data []byte) error { 20545 var rawMsg map[string]json.RawMessage 20546 if err := json.Unmarshal(data, &rawMsg); err != nil { 20547 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20548 } 20549 for key, val := range rawMsg { 20550 var err error 20551 switch key { 20552 case "nextLink": 20553 err = unpopulate(val, "NextLink", &l.NextLink) 20554 delete(rawMsg, key) 20555 case "value": 20556 err = unpopulate(val, "Value", &l.Value) 20557 delete(rawMsg, key) 20558 } 20559 if err != nil { 20560 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20561 } 20562 } 20563 return nil 20564 } 20565 20566 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerBackendAddressPropertiesFormat. 20567 func (l LoadBalancerBackendAddressPropertiesFormat) MarshalJSON() ([]byte, error) { 20568 objectMap := make(map[string]any) 20569 populate(objectMap, "adminState", l.AdminState) 20570 populate(objectMap, "ipAddress", l.IPAddress) 20571 populate(objectMap, "inboundNatRulesPortMapping", l.InboundNatRulesPortMapping) 20572 populate(objectMap, "loadBalancerFrontendIPConfiguration", l.LoadBalancerFrontendIPConfiguration) 20573 populate(objectMap, "networkInterfaceIPConfiguration", l.NetworkInterfaceIPConfiguration) 20574 populate(objectMap, "subnet", l.Subnet) 20575 populate(objectMap, "virtualNetwork", l.VirtualNetwork) 20576 return json.Marshal(objectMap) 20577 } 20578 20579 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerBackendAddressPropertiesFormat. 20580 func (l *LoadBalancerBackendAddressPropertiesFormat) UnmarshalJSON(data []byte) error { 20581 var rawMsg map[string]json.RawMessage 20582 if err := json.Unmarshal(data, &rawMsg); err != nil { 20583 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20584 } 20585 for key, val := range rawMsg { 20586 var err error 20587 switch key { 20588 case "adminState": 20589 err = unpopulate(val, "AdminState", &l.AdminState) 20590 delete(rawMsg, key) 20591 case "ipAddress": 20592 err = unpopulate(val, "IPAddress", &l.IPAddress) 20593 delete(rawMsg, key) 20594 case "inboundNatRulesPortMapping": 20595 err = unpopulate(val, "InboundNatRulesPortMapping", &l.InboundNatRulesPortMapping) 20596 delete(rawMsg, key) 20597 case "loadBalancerFrontendIPConfiguration": 20598 err = unpopulate(val, "LoadBalancerFrontendIPConfiguration", &l.LoadBalancerFrontendIPConfiguration) 20599 delete(rawMsg, key) 20600 case "networkInterfaceIPConfiguration": 20601 err = unpopulate(val, "NetworkInterfaceIPConfiguration", &l.NetworkInterfaceIPConfiguration) 20602 delete(rawMsg, key) 20603 case "subnet": 20604 err = unpopulate(val, "Subnet", &l.Subnet) 20605 delete(rawMsg, key) 20606 case "virtualNetwork": 20607 err = unpopulate(val, "VirtualNetwork", &l.VirtualNetwork) 20608 delete(rawMsg, key) 20609 } 20610 if err != nil { 20611 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20612 } 20613 } 20614 return nil 20615 } 20616 20617 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerFrontendIPConfigurationListResult. 20618 func (l LoadBalancerFrontendIPConfigurationListResult) MarshalJSON() ([]byte, error) { 20619 objectMap := make(map[string]any) 20620 populate(objectMap, "nextLink", l.NextLink) 20621 populate(objectMap, "value", l.Value) 20622 return json.Marshal(objectMap) 20623 } 20624 20625 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerFrontendIPConfigurationListResult. 20626 func (l *LoadBalancerFrontendIPConfigurationListResult) UnmarshalJSON(data []byte) error { 20627 var rawMsg map[string]json.RawMessage 20628 if err := json.Unmarshal(data, &rawMsg); err != nil { 20629 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20630 } 20631 for key, val := range rawMsg { 20632 var err error 20633 switch key { 20634 case "nextLink": 20635 err = unpopulate(val, "NextLink", &l.NextLink) 20636 delete(rawMsg, key) 20637 case "value": 20638 err = unpopulate(val, "Value", &l.Value) 20639 delete(rawMsg, key) 20640 } 20641 if err != nil { 20642 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20643 } 20644 } 20645 return nil 20646 } 20647 20648 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerHealthPerRule. 20649 func (l LoadBalancerHealthPerRule) MarshalJSON() ([]byte, error) { 20650 objectMap := make(map[string]any) 20651 populate(objectMap, "down", l.Down) 20652 populate(objectMap, "loadBalancerBackendAddresses", l.LoadBalancerBackendAddresses) 20653 populate(objectMap, "up", l.Up) 20654 return json.Marshal(objectMap) 20655 } 20656 20657 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerHealthPerRule. 20658 func (l *LoadBalancerHealthPerRule) UnmarshalJSON(data []byte) error { 20659 var rawMsg map[string]json.RawMessage 20660 if err := json.Unmarshal(data, &rawMsg); err != nil { 20661 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20662 } 20663 for key, val := range rawMsg { 20664 var err error 20665 switch key { 20666 case "down": 20667 err = unpopulate(val, "Down", &l.Down) 20668 delete(rawMsg, key) 20669 case "loadBalancerBackendAddresses": 20670 err = unpopulate(val, "LoadBalancerBackendAddresses", &l.LoadBalancerBackendAddresses) 20671 delete(rawMsg, key) 20672 case "up": 20673 err = unpopulate(val, "Up", &l.Up) 20674 delete(rawMsg, key) 20675 } 20676 if err != nil { 20677 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20678 } 20679 } 20680 return nil 20681 } 20682 20683 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerHealthPerRulePerBackendAddress. 20684 func (l LoadBalancerHealthPerRulePerBackendAddress) MarshalJSON() ([]byte, error) { 20685 objectMap := make(map[string]any) 20686 populate(objectMap, "ipAddress", l.IPAddress) 20687 populate(objectMap, "networkInterfaceIPConfigurationId", l.NetworkInterfaceIPConfigurationID) 20688 populate(objectMap, "reason", l.Reason) 20689 populate(objectMap, "state", l.State) 20690 return json.Marshal(objectMap) 20691 } 20692 20693 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerHealthPerRulePerBackendAddress. 20694 func (l *LoadBalancerHealthPerRulePerBackendAddress) UnmarshalJSON(data []byte) error { 20695 var rawMsg map[string]json.RawMessage 20696 if err := json.Unmarshal(data, &rawMsg); err != nil { 20697 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20698 } 20699 for key, val := range rawMsg { 20700 var err error 20701 switch key { 20702 case "ipAddress": 20703 err = unpopulate(val, "IPAddress", &l.IPAddress) 20704 delete(rawMsg, key) 20705 case "networkInterfaceIPConfigurationId": 20706 err = unpopulate(val, "NetworkInterfaceIPConfigurationID", &l.NetworkInterfaceIPConfigurationID) 20707 delete(rawMsg, key) 20708 case "reason": 20709 err = unpopulate(val, "Reason", &l.Reason) 20710 delete(rawMsg, key) 20711 case "state": 20712 err = unpopulate(val, "State", &l.State) 20713 delete(rawMsg, key) 20714 } 20715 if err != nil { 20716 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20717 } 20718 } 20719 return nil 20720 } 20721 20722 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerListResult. 20723 func (l LoadBalancerListResult) MarshalJSON() ([]byte, error) { 20724 objectMap := make(map[string]any) 20725 populate(objectMap, "nextLink", l.NextLink) 20726 populate(objectMap, "value", l.Value) 20727 return json.Marshal(objectMap) 20728 } 20729 20730 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerListResult. 20731 func (l *LoadBalancerListResult) UnmarshalJSON(data []byte) error { 20732 var rawMsg map[string]json.RawMessage 20733 if err := json.Unmarshal(data, &rawMsg); err != nil { 20734 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20735 } 20736 for key, val := range rawMsg { 20737 var err error 20738 switch key { 20739 case "nextLink": 20740 err = unpopulate(val, "NextLink", &l.NextLink) 20741 delete(rawMsg, key) 20742 case "value": 20743 err = unpopulate(val, "Value", &l.Value) 20744 delete(rawMsg, key) 20745 } 20746 if err != nil { 20747 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20748 } 20749 } 20750 return nil 20751 } 20752 20753 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerLoadBalancingRuleListResult. 20754 func (l LoadBalancerLoadBalancingRuleListResult) MarshalJSON() ([]byte, error) { 20755 objectMap := make(map[string]any) 20756 populate(objectMap, "nextLink", l.NextLink) 20757 populate(objectMap, "value", l.Value) 20758 return json.Marshal(objectMap) 20759 } 20760 20761 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerLoadBalancingRuleListResult. 20762 func (l *LoadBalancerLoadBalancingRuleListResult) UnmarshalJSON(data []byte) error { 20763 var rawMsg map[string]json.RawMessage 20764 if err := json.Unmarshal(data, &rawMsg); err != nil { 20765 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20766 } 20767 for key, val := range rawMsg { 20768 var err error 20769 switch key { 20770 case "nextLink": 20771 err = unpopulate(val, "NextLink", &l.NextLink) 20772 delete(rawMsg, key) 20773 case "value": 20774 err = unpopulate(val, "Value", &l.Value) 20775 delete(rawMsg, key) 20776 } 20777 if err != nil { 20778 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20779 } 20780 } 20781 return nil 20782 } 20783 20784 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerOutboundRuleListResult. 20785 func (l LoadBalancerOutboundRuleListResult) MarshalJSON() ([]byte, error) { 20786 objectMap := make(map[string]any) 20787 populate(objectMap, "nextLink", l.NextLink) 20788 populate(objectMap, "value", l.Value) 20789 return json.Marshal(objectMap) 20790 } 20791 20792 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerOutboundRuleListResult. 20793 func (l *LoadBalancerOutboundRuleListResult) UnmarshalJSON(data []byte) error { 20794 var rawMsg map[string]json.RawMessage 20795 if err := json.Unmarshal(data, &rawMsg); err != nil { 20796 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20797 } 20798 for key, val := range rawMsg { 20799 var err error 20800 switch key { 20801 case "nextLink": 20802 err = unpopulate(val, "NextLink", &l.NextLink) 20803 delete(rawMsg, key) 20804 case "value": 20805 err = unpopulate(val, "Value", &l.Value) 20806 delete(rawMsg, key) 20807 } 20808 if err != nil { 20809 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20810 } 20811 } 20812 return nil 20813 } 20814 20815 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerProbeListResult. 20816 func (l LoadBalancerProbeListResult) MarshalJSON() ([]byte, error) { 20817 objectMap := make(map[string]any) 20818 populate(objectMap, "nextLink", l.NextLink) 20819 populate(objectMap, "value", l.Value) 20820 return json.Marshal(objectMap) 20821 } 20822 20823 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerProbeListResult. 20824 func (l *LoadBalancerProbeListResult) UnmarshalJSON(data []byte) error { 20825 var rawMsg map[string]json.RawMessage 20826 if err := json.Unmarshal(data, &rawMsg); err != nil { 20827 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20828 } 20829 for key, val := range rawMsg { 20830 var err error 20831 switch key { 20832 case "nextLink": 20833 err = unpopulate(val, "NextLink", &l.NextLink) 20834 delete(rawMsg, key) 20835 case "value": 20836 err = unpopulate(val, "Value", &l.Value) 20837 delete(rawMsg, key) 20838 } 20839 if err != nil { 20840 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20841 } 20842 } 20843 return nil 20844 } 20845 20846 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerPropertiesFormat. 20847 func (l LoadBalancerPropertiesFormat) MarshalJSON() ([]byte, error) { 20848 objectMap := make(map[string]any) 20849 populate(objectMap, "backendAddressPools", l.BackendAddressPools) 20850 populate(objectMap, "frontendIPConfigurations", l.FrontendIPConfigurations) 20851 populate(objectMap, "inboundNatPools", l.InboundNatPools) 20852 populate(objectMap, "inboundNatRules", l.InboundNatRules) 20853 populate(objectMap, "loadBalancingRules", l.LoadBalancingRules) 20854 populate(objectMap, "outboundRules", l.OutboundRules) 20855 populate(objectMap, "probes", l.Probes) 20856 populate(objectMap, "provisioningState", l.ProvisioningState) 20857 populate(objectMap, "resourceGuid", l.ResourceGUID) 20858 return json.Marshal(objectMap) 20859 } 20860 20861 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerPropertiesFormat. 20862 func (l *LoadBalancerPropertiesFormat) UnmarshalJSON(data []byte) error { 20863 var rawMsg map[string]json.RawMessage 20864 if err := json.Unmarshal(data, &rawMsg); err != nil { 20865 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20866 } 20867 for key, val := range rawMsg { 20868 var err error 20869 switch key { 20870 case "backendAddressPools": 20871 err = unpopulate(val, "BackendAddressPools", &l.BackendAddressPools) 20872 delete(rawMsg, key) 20873 case "frontendIPConfigurations": 20874 err = unpopulate(val, "FrontendIPConfigurations", &l.FrontendIPConfigurations) 20875 delete(rawMsg, key) 20876 case "inboundNatPools": 20877 err = unpopulate(val, "InboundNatPools", &l.InboundNatPools) 20878 delete(rawMsg, key) 20879 case "inboundNatRules": 20880 err = unpopulate(val, "InboundNatRules", &l.InboundNatRules) 20881 delete(rawMsg, key) 20882 case "loadBalancingRules": 20883 err = unpopulate(val, "LoadBalancingRules", &l.LoadBalancingRules) 20884 delete(rawMsg, key) 20885 case "outboundRules": 20886 err = unpopulate(val, "OutboundRules", &l.OutboundRules) 20887 delete(rawMsg, key) 20888 case "probes": 20889 err = unpopulate(val, "Probes", &l.Probes) 20890 delete(rawMsg, key) 20891 case "provisioningState": 20892 err = unpopulate(val, "ProvisioningState", &l.ProvisioningState) 20893 delete(rawMsg, key) 20894 case "resourceGuid": 20895 err = unpopulate(val, "ResourceGUID", &l.ResourceGUID) 20896 delete(rawMsg, key) 20897 } 20898 if err != nil { 20899 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20900 } 20901 } 20902 return nil 20903 } 20904 20905 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerSKU. 20906 func (l LoadBalancerSKU) MarshalJSON() ([]byte, error) { 20907 objectMap := make(map[string]any) 20908 populate(objectMap, "name", l.Name) 20909 populate(objectMap, "tier", l.Tier) 20910 return json.Marshal(objectMap) 20911 } 20912 20913 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerSKU. 20914 func (l *LoadBalancerSKU) UnmarshalJSON(data []byte) error { 20915 var rawMsg map[string]json.RawMessage 20916 if err := json.Unmarshal(data, &rawMsg); err != nil { 20917 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20918 } 20919 for key, val := range rawMsg { 20920 var err error 20921 switch key { 20922 case "name": 20923 err = unpopulate(val, "Name", &l.Name) 20924 delete(rawMsg, key) 20925 case "tier": 20926 err = unpopulate(val, "Tier", &l.Tier) 20927 delete(rawMsg, key) 20928 } 20929 if err != nil { 20930 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20931 } 20932 } 20933 return nil 20934 } 20935 20936 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerVipSwapRequest. 20937 func (l LoadBalancerVipSwapRequest) MarshalJSON() ([]byte, error) { 20938 objectMap := make(map[string]any) 20939 populate(objectMap, "frontendIPConfigurations", l.FrontendIPConfigurations) 20940 return json.Marshal(objectMap) 20941 } 20942 20943 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerVipSwapRequest. 20944 func (l *LoadBalancerVipSwapRequest) UnmarshalJSON(data []byte) error { 20945 var rawMsg map[string]json.RawMessage 20946 if err := json.Unmarshal(data, &rawMsg); err != nil { 20947 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20948 } 20949 for key, val := range rawMsg { 20950 var err error 20951 switch key { 20952 case "frontendIPConfigurations": 20953 err = unpopulate(val, "FrontendIPConfigurations", &l.FrontendIPConfigurations) 20954 delete(rawMsg, key) 20955 } 20956 if err != nil { 20957 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20958 } 20959 } 20960 return nil 20961 } 20962 20963 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerVipSwapRequestFrontendIPConfiguration. 20964 func (l LoadBalancerVipSwapRequestFrontendIPConfiguration) MarshalJSON() ([]byte, error) { 20965 objectMap := make(map[string]any) 20966 populate(objectMap, "id", l.ID) 20967 populate(objectMap, "properties", l.Properties) 20968 return json.Marshal(objectMap) 20969 } 20970 20971 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerVipSwapRequestFrontendIPConfiguration. 20972 func (l *LoadBalancerVipSwapRequestFrontendIPConfiguration) UnmarshalJSON(data []byte) error { 20973 var rawMsg map[string]json.RawMessage 20974 if err := json.Unmarshal(data, &rawMsg); err != nil { 20975 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20976 } 20977 for key, val := range rawMsg { 20978 var err error 20979 switch key { 20980 case "id": 20981 err = unpopulate(val, "ID", &l.ID) 20982 delete(rawMsg, key) 20983 case "properties": 20984 err = unpopulate(val, "Properties", &l.Properties) 20985 delete(rawMsg, key) 20986 } 20987 if err != nil { 20988 return fmt.Errorf("unmarshalling type %T: %v", l, err) 20989 } 20990 } 20991 return nil 20992 } 20993 20994 // MarshalJSON implements the json.Marshaller interface for type LoadBalancerVipSwapRequestFrontendIPConfigurationProperties. 20995 func (l LoadBalancerVipSwapRequestFrontendIPConfigurationProperties) MarshalJSON() ([]byte, error) { 20996 objectMap := make(map[string]any) 20997 populate(objectMap, "publicIPAddress", l.PublicIPAddress) 20998 return json.Marshal(objectMap) 20999 } 21000 21001 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerVipSwapRequestFrontendIPConfigurationProperties. 21002 func (l *LoadBalancerVipSwapRequestFrontendIPConfigurationProperties) UnmarshalJSON(data []byte) error { 21003 var rawMsg map[string]json.RawMessage 21004 if err := json.Unmarshal(data, &rawMsg); err != nil { 21005 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21006 } 21007 for key, val := range rawMsg { 21008 var err error 21009 switch key { 21010 case "publicIPAddress": 21011 err = unpopulate(val, "PublicIPAddress", &l.PublicIPAddress) 21012 delete(rawMsg, key) 21013 } 21014 if err != nil { 21015 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21016 } 21017 } 21018 return nil 21019 } 21020 21021 // MarshalJSON implements the json.Marshaller interface for type LoadBalancingRule. 21022 func (l LoadBalancingRule) MarshalJSON() ([]byte, error) { 21023 objectMap := make(map[string]any) 21024 populate(objectMap, "etag", l.Etag) 21025 populate(objectMap, "id", l.ID) 21026 populate(objectMap, "name", l.Name) 21027 populate(objectMap, "properties", l.Properties) 21028 populate(objectMap, "type", l.Type) 21029 return json.Marshal(objectMap) 21030 } 21031 21032 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancingRule. 21033 func (l *LoadBalancingRule) UnmarshalJSON(data []byte) error { 21034 var rawMsg map[string]json.RawMessage 21035 if err := json.Unmarshal(data, &rawMsg); err != nil { 21036 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21037 } 21038 for key, val := range rawMsg { 21039 var err error 21040 switch key { 21041 case "etag": 21042 err = unpopulate(val, "Etag", &l.Etag) 21043 delete(rawMsg, key) 21044 case "id": 21045 err = unpopulate(val, "ID", &l.ID) 21046 delete(rawMsg, key) 21047 case "name": 21048 err = unpopulate(val, "Name", &l.Name) 21049 delete(rawMsg, key) 21050 case "properties": 21051 err = unpopulate(val, "Properties", &l.Properties) 21052 delete(rawMsg, key) 21053 case "type": 21054 err = unpopulate(val, "Type", &l.Type) 21055 delete(rawMsg, key) 21056 } 21057 if err != nil { 21058 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21059 } 21060 } 21061 return nil 21062 } 21063 21064 // MarshalJSON implements the json.Marshaller interface for type LoadBalancingRulePropertiesFormat. 21065 func (l LoadBalancingRulePropertiesFormat) MarshalJSON() ([]byte, error) { 21066 objectMap := make(map[string]any) 21067 populate(objectMap, "backendAddressPool", l.BackendAddressPool) 21068 populate(objectMap, "backendAddressPools", l.BackendAddressPools) 21069 populate(objectMap, "backendPort", l.BackendPort) 21070 populate(objectMap, "disableOutboundSnat", l.DisableOutboundSnat) 21071 populate(objectMap, "enableFloatingIP", l.EnableFloatingIP) 21072 populate(objectMap, "enableTcpReset", l.EnableTCPReset) 21073 populate(objectMap, "frontendIPConfiguration", l.FrontendIPConfiguration) 21074 populate(objectMap, "frontendPort", l.FrontendPort) 21075 populate(objectMap, "idleTimeoutInMinutes", l.IdleTimeoutInMinutes) 21076 populate(objectMap, "loadDistribution", l.LoadDistribution) 21077 populate(objectMap, "probe", l.Probe) 21078 populate(objectMap, "protocol", l.Protocol) 21079 populate(objectMap, "provisioningState", l.ProvisioningState) 21080 return json.Marshal(objectMap) 21081 } 21082 21083 // UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancingRulePropertiesFormat. 21084 func (l *LoadBalancingRulePropertiesFormat) UnmarshalJSON(data []byte) error { 21085 var rawMsg map[string]json.RawMessage 21086 if err := json.Unmarshal(data, &rawMsg); err != nil { 21087 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21088 } 21089 for key, val := range rawMsg { 21090 var err error 21091 switch key { 21092 case "backendAddressPool": 21093 err = unpopulate(val, "BackendAddressPool", &l.BackendAddressPool) 21094 delete(rawMsg, key) 21095 case "backendAddressPools": 21096 err = unpopulate(val, "BackendAddressPools", &l.BackendAddressPools) 21097 delete(rawMsg, key) 21098 case "backendPort": 21099 err = unpopulate(val, "BackendPort", &l.BackendPort) 21100 delete(rawMsg, key) 21101 case "disableOutboundSnat": 21102 err = unpopulate(val, "DisableOutboundSnat", &l.DisableOutboundSnat) 21103 delete(rawMsg, key) 21104 case "enableFloatingIP": 21105 err = unpopulate(val, "EnableFloatingIP", &l.EnableFloatingIP) 21106 delete(rawMsg, key) 21107 case "enableTcpReset": 21108 err = unpopulate(val, "EnableTCPReset", &l.EnableTCPReset) 21109 delete(rawMsg, key) 21110 case "frontendIPConfiguration": 21111 err = unpopulate(val, "FrontendIPConfiguration", &l.FrontendIPConfiguration) 21112 delete(rawMsg, key) 21113 case "frontendPort": 21114 err = unpopulate(val, "FrontendPort", &l.FrontendPort) 21115 delete(rawMsg, key) 21116 case "idleTimeoutInMinutes": 21117 err = unpopulate(val, "IdleTimeoutInMinutes", &l.IdleTimeoutInMinutes) 21118 delete(rawMsg, key) 21119 case "loadDistribution": 21120 err = unpopulate(val, "LoadDistribution", &l.LoadDistribution) 21121 delete(rawMsg, key) 21122 case "probe": 21123 err = unpopulate(val, "Probe", &l.Probe) 21124 delete(rawMsg, key) 21125 case "protocol": 21126 err = unpopulate(val, "Protocol", &l.Protocol) 21127 delete(rawMsg, key) 21128 case "provisioningState": 21129 err = unpopulate(val, "ProvisioningState", &l.ProvisioningState) 21130 delete(rawMsg, key) 21131 } 21132 if err != nil { 21133 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21134 } 21135 } 21136 return nil 21137 } 21138 21139 // MarshalJSON implements the json.Marshaller interface for type LocalNetworkGateway. 21140 func (l LocalNetworkGateway) MarshalJSON() ([]byte, error) { 21141 objectMap := make(map[string]any) 21142 populate(objectMap, "etag", l.Etag) 21143 populate(objectMap, "id", l.ID) 21144 populate(objectMap, "location", l.Location) 21145 populate(objectMap, "name", l.Name) 21146 populate(objectMap, "properties", l.Properties) 21147 populate(objectMap, "tags", l.Tags) 21148 populate(objectMap, "type", l.Type) 21149 return json.Marshal(objectMap) 21150 } 21151 21152 // UnmarshalJSON implements the json.Unmarshaller interface for type LocalNetworkGateway. 21153 func (l *LocalNetworkGateway) UnmarshalJSON(data []byte) error { 21154 var rawMsg map[string]json.RawMessage 21155 if err := json.Unmarshal(data, &rawMsg); err != nil { 21156 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21157 } 21158 for key, val := range rawMsg { 21159 var err error 21160 switch key { 21161 case "etag": 21162 err = unpopulate(val, "Etag", &l.Etag) 21163 delete(rawMsg, key) 21164 case "id": 21165 err = unpopulate(val, "ID", &l.ID) 21166 delete(rawMsg, key) 21167 case "location": 21168 err = unpopulate(val, "Location", &l.Location) 21169 delete(rawMsg, key) 21170 case "name": 21171 err = unpopulate(val, "Name", &l.Name) 21172 delete(rawMsg, key) 21173 case "properties": 21174 err = unpopulate(val, "Properties", &l.Properties) 21175 delete(rawMsg, key) 21176 case "tags": 21177 err = unpopulate(val, "Tags", &l.Tags) 21178 delete(rawMsg, key) 21179 case "type": 21180 err = unpopulate(val, "Type", &l.Type) 21181 delete(rawMsg, key) 21182 } 21183 if err != nil { 21184 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21185 } 21186 } 21187 return nil 21188 } 21189 21190 // MarshalJSON implements the json.Marshaller interface for type LocalNetworkGatewayListResult. 21191 func (l LocalNetworkGatewayListResult) MarshalJSON() ([]byte, error) { 21192 objectMap := make(map[string]any) 21193 populate(objectMap, "nextLink", l.NextLink) 21194 populate(objectMap, "value", l.Value) 21195 return json.Marshal(objectMap) 21196 } 21197 21198 // UnmarshalJSON implements the json.Unmarshaller interface for type LocalNetworkGatewayListResult. 21199 func (l *LocalNetworkGatewayListResult) UnmarshalJSON(data []byte) error { 21200 var rawMsg map[string]json.RawMessage 21201 if err := json.Unmarshal(data, &rawMsg); err != nil { 21202 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21203 } 21204 for key, val := range rawMsg { 21205 var err error 21206 switch key { 21207 case "nextLink": 21208 err = unpopulate(val, "NextLink", &l.NextLink) 21209 delete(rawMsg, key) 21210 case "value": 21211 err = unpopulate(val, "Value", &l.Value) 21212 delete(rawMsg, key) 21213 } 21214 if err != nil { 21215 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21216 } 21217 } 21218 return nil 21219 } 21220 21221 // MarshalJSON implements the json.Marshaller interface for type LocalNetworkGatewayPropertiesFormat. 21222 func (l LocalNetworkGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 21223 objectMap := make(map[string]any) 21224 populate(objectMap, "bgpSettings", l.BgpSettings) 21225 populate(objectMap, "fqdn", l.Fqdn) 21226 populate(objectMap, "gatewayIpAddress", l.GatewayIPAddress) 21227 populate(objectMap, "localNetworkAddressSpace", l.LocalNetworkAddressSpace) 21228 populate(objectMap, "provisioningState", l.ProvisioningState) 21229 populate(objectMap, "resourceGuid", l.ResourceGUID) 21230 return json.Marshal(objectMap) 21231 } 21232 21233 // UnmarshalJSON implements the json.Unmarshaller interface for type LocalNetworkGatewayPropertiesFormat. 21234 func (l *LocalNetworkGatewayPropertiesFormat) UnmarshalJSON(data []byte) error { 21235 var rawMsg map[string]json.RawMessage 21236 if err := json.Unmarshal(data, &rawMsg); err != nil { 21237 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21238 } 21239 for key, val := range rawMsg { 21240 var err error 21241 switch key { 21242 case "bgpSettings": 21243 err = unpopulate(val, "BgpSettings", &l.BgpSettings) 21244 delete(rawMsg, key) 21245 case "fqdn": 21246 err = unpopulate(val, "Fqdn", &l.Fqdn) 21247 delete(rawMsg, key) 21248 case "gatewayIpAddress": 21249 err = unpopulate(val, "GatewayIPAddress", &l.GatewayIPAddress) 21250 delete(rawMsg, key) 21251 case "localNetworkAddressSpace": 21252 err = unpopulate(val, "LocalNetworkAddressSpace", &l.LocalNetworkAddressSpace) 21253 delete(rawMsg, key) 21254 case "provisioningState": 21255 err = unpopulate(val, "ProvisioningState", &l.ProvisioningState) 21256 delete(rawMsg, key) 21257 case "resourceGuid": 21258 err = unpopulate(val, "ResourceGUID", &l.ResourceGUID) 21259 delete(rawMsg, key) 21260 } 21261 if err != nil { 21262 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21263 } 21264 } 21265 return nil 21266 } 21267 21268 // MarshalJSON implements the json.Marshaller interface for type LogSpecification. 21269 func (l LogSpecification) MarshalJSON() ([]byte, error) { 21270 objectMap := make(map[string]any) 21271 populate(objectMap, "blobDuration", l.BlobDuration) 21272 populate(objectMap, "displayName", l.DisplayName) 21273 populate(objectMap, "name", l.Name) 21274 return json.Marshal(objectMap) 21275 } 21276 21277 // UnmarshalJSON implements the json.Unmarshaller interface for type LogSpecification. 21278 func (l *LogSpecification) UnmarshalJSON(data []byte) error { 21279 var rawMsg map[string]json.RawMessage 21280 if err := json.Unmarshal(data, &rawMsg); err != nil { 21281 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21282 } 21283 for key, val := range rawMsg { 21284 var err error 21285 switch key { 21286 case "blobDuration": 21287 err = unpopulate(val, "BlobDuration", &l.BlobDuration) 21288 delete(rawMsg, key) 21289 case "displayName": 21290 err = unpopulate(val, "DisplayName", &l.DisplayName) 21291 delete(rawMsg, key) 21292 case "name": 21293 err = unpopulate(val, "Name", &l.Name) 21294 delete(rawMsg, key) 21295 } 21296 if err != nil { 21297 return fmt.Errorf("unmarshalling type %T: %v", l, err) 21298 } 21299 } 21300 return nil 21301 } 21302 21303 // MarshalJSON implements the json.Marshaller interface for type ManagedRuleGroupOverride. 21304 func (m ManagedRuleGroupOverride) MarshalJSON() ([]byte, error) { 21305 objectMap := make(map[string]any) 21306 populate(objectMap, "ruleGroupName", m.RuleGroupName) 21307 populate(objectMap, "rules", m.Rules) 21308 return json.Marshal(objectMap) 21309 } 21310 21311 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedRuleGroupOverride. 21312 func (m *ManagedRuleGroupOverride) UnmarshalJSON(data []byte) error { 21313 var rawMsg map[string]json.RawMessage 21314 if err := json.Unmarshal(data, &rawMsg); err != nil { 21315 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21316 } 21317 for key, val := range rawMsg { 21318 var err error 21319 switch key { 21320 case "ruleGroupName": 21321 err = unpopulate(val, "RuleGroupName", &m.RuleGroupName) 21322 delete(rawMsg, key) 21323 case "rules": 21324 err = unpopulate(val, "Rules", &m.Rules) 21325 delete(rawMsg, key) 21326 } 21327 if err != nil { 21328 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21329 } 21330 } 21331 return nil 21332 } 21333 21334 // MarshalJSON implements the json.Marshaller interface for type ManagedRuleOverride. 21335 func (m ManagedRuleOverride) MarshalJSON() ([]byte, error) { 21336 objectMap := make(map[string]any) 21337 populate(objectMap, "action", m.Action) 21338 populate(objectMap, "ruleId", m.RuleID) 21339 populate(objectMap, "sensitivity", m.Sensitivity) 21340 populate(objectMap, "state", m.State) 21341 return json.Marshal(objectMap) 21342 } 21343 21344 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedRuleOverride. 21345 func (m *ManagedRuleOverride) UnmarshalJSON(data []byte) error { 21346 var rawMsg map[string]json.RawMessage 21347 if err := json.Unmarshal(data, &rawMsg); err != nil { 21348 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21349 } 21350 for key, val := range rawMsg { 21351 var err error 21352 switch key { 21353 case "action": 21354 err = unpopulate(val, "Action", &m.Action) 21355 delete(rawMsg, key) 21356 case "ruleId": 21357 err = unpopulate(val, "RuleID", &m.RuleID) 21358 delete(rawMsg, key) 21359 case "sensitivity": 21360 err = unpopulate(val, "Sensitivity", &m.Sensitivity) 21361 delete(rawMsg, key) 21362 case "state": 21363 err = unpopulate(val, "State", &m.State) 21364 delete(rawMsg, key) 21365 } 21366 if err != nil { 21367 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21368 } 21369 } 21370 return nil 21371 } 21372 21373 // MarshalJSON implements the json.Marshaller interface for type ManagedRuleSet. 21374 func (m ManagedRuleSet) MarshalJSON() ([]byte, error) { 21375 objectMap := make(map[string]any) 21376 populate(objectMap, "ruleGroupOverrides", m.RuleGroupOverrides) 21377 populate(objectMap, "ruleSetType", m.RuleSetType) 21378 populate(objectMap, "ruleSetVersion", m.RuleSetVersion) 21379 return json.Marshal(objectMap) 21380 } 21381 21382 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedRuleSet. 21383 func (m *ManagedRuleSet) UnmarshalJSON(data []byte) error { 21384 var rawMsg map[string]json.RawMessage 21385 if err := json.Unmarshal(data, &rawMsg); err != nil { 21386 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21387 } 21388 for key, val := range rawMsg { 21389 var err error 21390 switch key { 21391 case "ruleGroupOverrides": 21392 err = unpopulate(val, "RuleGroupOverrides", &m.RuleGroupOverrides) 21393 delete(rawMsg, key) 21394 case "ruleSetType": 21395 err = unpopulate(val, "RuleSetType", &m.RuleSetType) 21396 delete(rawMsg, key) 21397 case "ruleSetVersion": 21398 err = unpopulate(val, "RuleSetVersion", &m.RuleSetVersion) 21399 delete(rawMsg, key) 21400 } 21401 if err != nil { 21402 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21403 } 21404 } 21405 return nil 21406 } 21407 21408 // MarshalJSON implements the json.Marshaller interface for type ManagedRulesDefinition. 21409 func (m ManagedRulesDefinition) MarshalJSON() ([]byte, error) { 21410 objectMap := make(map[string]any) 21411 populate(objectMap, "exceptions", m.Exceptions) 21412 populate(objectMap, "exclusions", m.Exclusions) 21413 populate(objectMap, "managedRuleSets", m.ManagedRuleSets) 21414 return json.Marshal(objectMap) 21415 } 21416 21417 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedRulesDefinition. 21418 func (m *ManagedRulesDefinition) UnmarshalJSON(data []byte) error { 21419 var rawMsg map[string]json.RawMessage 21420 if err := json.Unmarshal(data, &rawMsg); err != nil { 21421 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21422 } 21423 for key, val := range rawMsg { 21424 var err error 21425 switch key { 21426 case "exceptions": 21427 err = unpopulate(val, "Exceptions", &m.Exceptions) 21428 delete(rawMsg, key) 21429 case "exclusions": 21430 err = unpopulate(val, "Exclusions", &m.Exclusions) 21431 delete(rawMsg, key) 21432 case "managedRuleSets": 21433 err = unpopulate(val, "ManagedRuleSets", &m.ManagedRuleSets) 21434 delete(rawMsg, key) 21435 } 21436 if err != nil { 21437 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21438 } 21439 } 21440 return nil 21441 } 21442 21443 // MarshalJSON implements the json.Marshaller interface for type ManagedServiceIdentity. 21444 func (m ManagedServiceIdentity) MarshalJSON() ([]byte, error) { 21445 objectMap := make(map[string]any) 21446 populate(objectMap, "principalId", m.PrincipalID) 21447 populate(objectMap, "tenantId", m.TenantID) 21448 populate(objectMap, "type", m.Type) 21449 populate(objectMap, "userAssignedIdentities", m.UserAssignedIdentities) 21450 return json.Marshal(objectMap) 21451 } 21452 21453 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedServiceIdentity. 21454 func (m *ManagedServiceIdentity) UnmarshalJSON(data []byte) error { 21455 var rawMsg map[string]json.RawMessage 21456 if err := json.Unmarshal(data, &rawMsg); err != nil { 21457 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21458 } 21459 for key, val := range rawMsg { 21460 var err error 21461 switch key { 21462 case "principalId": 21463 err = unpopulate(val, "PrincipalID", &m.PrincipalID) 21464 delete(rawMsg, key) 21465 case "tenantId": 21466 err = unpopulate(val, "TenantID", &m.TenantID) 21467 delete(rawMsg, key) 21468 case "type": 21469 err = unpopulate(val, "Type", &m.Type) 21470 delete(rawMsg, key) 21471 case "userAssignedIdentities": 21472 err = unpopulate(val, "UserAssignedIdentities", &m.UserAssignedIdentities) 21473 delete(rawMsg, key) 21474 } 21475 if err != nil { 21476 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21477 } 21478 } 21479 return nil 21480 } 21481 21482 // MarshalJSON implements the json.Marshaller interface for type Manager. 21483 func (m Manager) MarshalJSON() ([]byte, error) { 21484 objectMap := make(map[string]any) 21485 populate(objectMap, "etag", m.Etag) 21486 populate(objectMap, "id", m.ID) 21487 populate(objectMap, "location", m.Location) 21488 populate(objectMap, "name", m.Name) 21489 populate(objectMap, "properties", m.Properties) 21490 populate(objectMap, "systemData", m.SystemData) 21491 populate(objectMap, "tags", m.Tags) 21492 populate(objectMap, "type", m.Type) 21493 return json.Marshal(objectMap) 21494 } 21495 21496 // UnmarshalJSON implements the json.Unmarshaller interface for type Manager. 21497 func (m *Manager) UnmarshalJSON(data []byte) error { 21498 var rawMsg map[string]json.RawMessage 21499 if err := json.Unmarshal(data, &rawMsg); err != nil { 21500 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21501 } 21502 for key, val := range rawMsg { 21503 var err error 21504 switch key { 21505 case "etag": 21506 err = unpopulate(val, "Etag", &m.Etag) 21507 delete(rawMsg, key) 21508 case "id": 21509 err = unpopulate(val, "ID", &m.ID) 21510 delete(rawMsg, key) 21511 case "location": 21512 err = unpopulate(val, "Location", &m.Location) 21513 delete(rawMsg, key) 21514 case "name": 21515 err = unpopulate(val, "Name", &m.Name) 21516 delete(rawMsg, key) 21517 case "properties": 21518 err = unpopulate(val, "Properties", &m.Properties) 21519 delete(rawMsg, key) 21520 case "systemData": 21521 err = unpopulate(val, "SystemData", &m.SystemData) 21522 delete(rawMsg, key) 21523 case "tags": 21524 err = unpopulate(val, "Tags", &m.Tags) 21525 delete(rawMsg, key) 21526 case "type": 21527 err = unpopulate(val, "Type", &m.Type) 21528 delete(rawMsg, key) 21529 } 21530 if err != nil { 21531 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21532 } 21533 } 21534 return nil 21535 } 21536 21537 // MarshalJSON implements the json.Marshaller interface for type ManagerCommit. 21538 func (m ManagerCommit) MarshalJSON() ([]byte, error) { 21539 objectMap := make(map[string]any) 21540 populate(objectMap, "commitId", m.CommitID) 21541 populate(objectMap, "commitType", m.CommitType) 21542 populate(objectMap, "configurationIds", m.ConfigurationIDs) 21543 populate(objectMap, "targetLocations", m.TargetLocations) 21544 return json.Marshal(objectMap) 21545 } 21546 21547 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerCommit. 21548 func (m *ManagerCommit) UnmarshalJSON(data []byte) error { 21549 var rawMsg map[string]json.RawMessage 21550 if err := json.Unmarshal(data, &rawMsg); err != nil { 21551 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21552 } 21553 for key, val := range rawMsg { 21554 var err error 21555 switch key { 21556 case "commitId": 21557 err = unpopulate(val, "CommitID", &m.CommitID) 21558 delete(rawMsg, key) 21559 case "commitType": 21560 err = unpopulate(val, "CommitType", &m.CommitType) 21561 delete(rawMsg, key) 21562 case "configurationIds": 21563 err = unpopulate(val, "ConfigurationIDs", &m.ConfigurationIDs) 21564 delete(rawMsg, key) 21565 case "targetLocations": 21566 err = unpopulate(val, "TargetLocations", &m.TargetLocations) 21567 delete(rawMsg, key) 21568 } 21569 if err != nil { 21570 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21571 } 21572 } 21573 return nil 21574 } 21575 21576 // MarshalJSON implements the json.Marshaller interface for type ManagerConnection. 21577 func (m ManagerConnection) MarshalJSON() ([]byte, error) { 21578 objectMap := make(map[string]any) 21579 populate(objectMap, "etag", m.Etag) 21580 populate(objectMap, "id", m.ID) 21581 populate(objectMap, "name", m.Name) 21582 populate(objectMap, "properties", m.Properties) 21583 populate(objectMap, "systemData", m.SystemData) 21584 populate(objectMap, "type", m.Type) 21585 return json.Marshal(objectMap) 21586 } 21587 21588 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerConnection. 21589 func (m *ManagerConnection) UnmarshalJSON(data []byte) error { 21590 var rawMsg map[string]json.RawMessage 21591 if err := json.Unmarshal(data, &rawMsg); err != nil { 21592 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21593 } 21594 for key, val := range rawMsg { 21595 var err error 21596 switch key { 21597 case "etag": 21598 err = unpopulate(val, "Etag", &m.Etag) 21599 delete(rawMsg, key) 21600 case "id": 21601 err = unpopulate(val, "ID", &m.ID) 21602 delete(rawMsg, key) 21603 case "name": 21604 err = unpopulate(val, "Name", &m.Name) 21605 delete(rawMsg, key) 21606 case "properties": 21607 err = unpopulate(val, "Properties", &m.Properties) 21608 delete(rawMsg, key) 21609 case "systemData": 21610 err = unpopulate(val, "SystemData", &m.SystemData) 21611 delete(rawMsg, key) 21612 case "type": 21613 err = unpopulate(val, "Type", &m.Type) 21614 delete(rawMsg, key) 21615 } 21616 if err != nil { 21617 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21618 } 21619 } 21620 return nil 21621 } 21622 21623 // MarshalJSON implements the json.Marshaller interface for type ManagerConnectionListResult. 21624 func (m ManagerConnectionListResult) MarshalJSON() ([]byte, error) { 21625 objectMap := make(map[string]any) 21626 populate(objectMap, "nextLink", m.NextLink) 21627 populate(objectMap, "value", m.Value) 21628 return json.Marshal(objectMap) 21629 } 21630 21631 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerConnectionListResult. 21632 func (m *ManagerConnectionListResult) UnmarshalJSON(data []byte) error { 21633 var rawMsg map[string]json.RawMessage 21634 if err := json.Unmarshal(data, &rawMsg); err != nil { 21635 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21636 } 21637 for key, val := range rawMsg { 21638 var err error 21639 switch key { 21640 case "nextLink": 21641 err = unpopulate(val, "NextLink", &m.NextLink) 21642 delete(rawMsg, key) 21643 case "value": 21644 err = unpopulate(val, "Value", &m.Value) 21645 delete(rawMsg, key) 21646 } 21647 if err != nil { 21648 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21649 } 21650 } 21651 return nil 21652 } 21653 21654 // MarshalJSON implements the json.Marshaller interface for type ManagerConnectionProperties. 21655 func (m ManagerConnectionProperties) MarshalJSON() ([]byte, error) { 21656 objectMap := make(map[string]any) 21657 populate(objectMap, "connectionState", m.ConnectionState) 21658 populate(objectMap, "description", m.Description) 21659 populate(objectMap, "networkManagerId", m.NetworkManagerID) 21660 return json.Marshal(objectMap) 21661 } 21662 21663 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerConnectionProperties. 21664 func (m *ManagerConnectionProperties) UnmarshalJSON(data []byte) error { 21665 var rawMsg map[string]json.RawMessage 21666 if err := json.Unmarshal(data, &rawMsg); err != nil { 21667 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21668 } 21669 for key, val := range rawMsg { 21670 var err error 21671 switch key { 21672 case "connectionState": 21673 err = unpopulate(val, "ConnectionState", &m.ConnectionState) 21674 delete(rawMsg, key) 21675 case "description": 21676 err = unpopulate(val, "Description", &m.Description) 21677 delete(rawMsg, key) 21678 case "networkManagerId": 21679 err = unpopulate(val, "NetworkManagerID", &m.NetworkManagerID) 21680 delete(rawMsg, key) 21681 } 21682 if err != nil { 21683 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21684 } 21685 } 21686 return nil 21687 } 21688 21689 // MarshalJSON implements the json.Marshaller interface for type ManagerDeploymentStatus. 21690 func (m ManagerDeploymentStatus) MarshalJSON() ([]byte, error) { 21691 objectMap := make(map[string]any) 21692 populateDateTimeRFC3339(objectMap, "commitTime", m.CommitTime) 21693 populate(objectMap, "configurationIds", m.ConfigurationIDs) 21694 populate(objectMap, "deploymentStatus", m.DeploymentStatus) 21695 populate(objectMap, "deploymentType", m.DeploymentType) 21696 populate(objectMap, "errorMessage", m.ErrorMessage) 21697 populate(objectMap, "region", m.Region) 21698 return json.Marshal(objectMap) 21699 } 21700 21701 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerDeploymentStatus. 21702 func (m *ManagerDeploymentStatus) UnmarshalJSON(data []byte) error { 21703 var rawMsg map[string]json.RawMessage 21704 if err := json.Unmarshal(data, &rawMsg); err != nil { 21705 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21706 } 21707 for key, val := range rawMsg { 21708 var err error 21709 switch key { 21710 case "commitTime": 21711 err = unpopulateDateTimeRFC3339(val, "CommitTime", &m.CommitTime) 21712 delete(rawMsg, key) 21713 case "configurationIds": 21714 err = unpopulate(val, "ConfigurationIDs", &m.ConfigurationIDs) 21715 delete(rawMsg, key) 21716 case "deploymentStatus": 21717 err = unpopulate(val, "DeploymentStatus", &m.DeploymentStatus) 21718 delete(rawMsg, key) 21719 case "deploymentType": 21720 err = unpopulate(val, "DeploymentType", &m.DeploymentType) 21721 delete(rawMsg, key) 21722 case "errorMessage": 21723 err = unpopulate(val, "ErrorMessage", &m.ErrorMessage) 21724 delete(rawMsg, key) 21725 case "region": 21726 err = unpopulate(val, "Region", &m.Region) 21727 delete(rawMsg, key) 21728 } 21729 if err != nil { 21730 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21731 } 21732 } 21733 return nil 21734 } 21735 21736 // MarshalJSON implements the json.Marshaller interface for type ManagerDeploymentStatusListResult. 21737 func (m ManagerDeploymentStatusListResult) MarshalJSON() ([]byte, error) { 21738 objectMap := make(map[string]any) 21739 populate(objectMap, "skipToken", m.SkipToken) 21740 populate(objectMap, "value", m.Value) 21741 return json.Marshal(objectMap) 21742 } 21743 21744 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerDeploymentStatusListResult. 21745 func (m *ManagerDeploymentStatusListResult) UnmarshalJSON(data []byte) error { 21746 var rawMsg map[string]json.RawMessage 21747 if err := json.Unmarshal(data, &rawMsg); err != nil { 21748 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21749 } 21750 for key, val := range rawMsg { 21751 var err error 21752 switch key { 21753 case "skipToken": 21754 err = unpopulate(val, "SkipToken", &m.SkipToken) 21755 delete(rawMsg, key) 21756 case "value": 21757 err = unpopulate(val, "Value", &m.Value) 21758 delete(rawMsg, key) 21759 } 21760 if err != nil { 21761 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21762 } 21763 } 21764 return nil 21765 } 21766 21767 // MarshalJSON implements the json.Marshaller interface for type ManagerDeploymentStatusParameter. 21768 func (m ManagerDeploymentStatusParameter) MarshalJSON() ([]byte, error) { 21769 objectMap := make(map[string]any) 21770 populate(objectMap, "deploymentTypes", m.DeploymentTypes) 21771 populate(objectMap, "regions", m.Regions) 21772 populate(objectMap, "skipToken", m.SkipToken) 21773 return json.Marshal(objectMap) 21774 } 21775 21776 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerDeploymentStatusParameter. 21777 func (m *ManagerDeploymentStatusParameter) UnmarshalJSON(data []byte) error { 21778 var rawMsg map[string]json.RawMessage 21779 if err := json.Unmarshal(data, &rawMsg); err != nil { 21780 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21781 } 21782 for key, val := range rawMsg { 21783 var err error 21784 switch key { 21785 case "deploymentTypes": 21786 err = unpopulate(val, "DeploymentTypes", &m.DeploymentTypes) 21787 delete(rawMsg, key) 21788 case "regions": 21789 err = unpopulate(val, "Regions", &m.Regions) 21790 delete(rawMsg, key) 21791 case "skipToken": 21792 err = unpopulate(val, "SkipToken", &m.SkipToken) 21793 delete(rawMsg, key) 21794 } 21795 if err != nil { 21796 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21797 } 21798 } 21799 return nil 21800 } 21801 21802 // MarshalJSON implements the json.Marshaller interface for type ManagerEffectiveConnectivityConfigurationListResult. 21803 func (m ManagerEffectiveConnectivityConfigurationListResult) MarshalJSON() ([]byte, error) { 21804 objectMap := make(map[string]any) 21805 populate(objectMap, "skipToken", m.SkipToken) 21806 populate(objectMap, "value", m.Value) 21807 return json.Marshal(objectMap) 21808 } 21809 21810 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerEffectiveConnectivityConfigurationListResult. 21811 func (m *ManagerEffectiveConnectivityConfigurationListResult) UnmarshalJSON(data []byte) error { 21812 var rawMsg map[string]json.RawMessage 21813 if err := json.Unmarshal(data, &rawMsg); err != nil { 21814 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21815 } 21816 for key, val := range rawMsg { 21817 var err error 21818 switch key { 21819 case "skipToken": 21820 err = unpopulate(val, "SkipToken", &m.SkipToken) 21821 delete(rawMsg, key) 21822 case "value": 21823 err = unpopulate(val, "Value", &m.Value) 21824 delete(rawMsg, key) 21825 } 21826 if err != nil { 21827 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21828 } 21829 } 21830 return nil 21831 } 21832 21833 // MarshalJSON implements the json.Marshaller interface for type ManagerEffectiveSecurityAdminRulesListResult. 21834 func (m ManagerEffectiveSecurityAdminRulesListResult) MarshalJSON() ([]byte, error) { 21835 objectMap := make(map[string]any) 21836 populate(objectMap, "skipToken", m.SkipToken) 21837 populate(objectMap, "value", m.Value) 21838 return json.Marshal(objectMap) 21839 } 21840 21841 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerEffectiveSecurityAdminRulesListResult. 21842 func (m *ManagerEffectiveSecurityAdminRulesListResult) UnmarshalJSON(data []byte) error { 21843 var rawMsg map[string]json.RawMessage 21844 if err := json.Unmarshal(data, &rawMsg); err != nil { 21845 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21846 } 21847 for key, val := range rawMsg { 21848 var err error 21849 switch key { 21850 case "skipToken": 21851 err = unpopulate(val, "SkipToken", &m.SkipToken) 21852 delete(rawMsg, key) 21853 case "value": 21854 m.Value, err = unmarshalEffectiveBaseSecurityAdminRuleClassificationArray(val) 21855 delete(rawMsg, key) 21856 } 21857 if err != nil { 21858 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21859 } 21860 } 21861 return nil 21862 } 21863 21864 // MarshalJSON implements the json.Marshaller interface for type ManagerListResult. 21865 func (m ManagerListResult) MarshalJSON() ([]byte, error) { 21866 objectMap := make(map[string]any) 21867 populate(objectMap, "nextLink", m.NextLink) 21868 populate(objectMap, "value", m.Value) 21869 return json.Marshal(objectMap) 21870 } 21871 21872 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerListResult. 21873 func (m *ManagerListResult) UnmarshalJSON(data []byte) error { 21874 var rawMsg map[string]json.RawMessage 21875 if err := json.Unmarshal(data, &rawMsg); err != nil { 21876 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21877 } 21878 for key, val := range rawMsg { 21879 var err error 21880 switch key { 21881 case "nextLink": 21882 err = unpopulate(val, "NextLink", &m.NextLink) 21883 delete(rawMsg, key) 21884 case "value": 21885 err = unpopulate(val, "Value", &m.Value) 21886 delete(rawMsg, key) 21887 } 21888 if err != nil { 21889 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21890 } 21891 } 21892 return nil 21893 } 21894 21895 // MarshalJSON implements the json.Marshaller interface for type ManagerProperties. 21896 func (m ManagerProperties) MarshalJSON() ([]byte, error) { 21897 objectMap := make(map[string]any) 21898 populate(objectMap, "description", m.Description) 21899 populate(objectMap, "networkManagerScopeAccesses", m.NetworkManagerScopeAccesses) 21900 populate(objectMap, "networkManagerScopes", m.NetworkManagerScopes) 21901 populate(objectMap, "provisioningState", m.ProvisioningState) 21902 populate(objectMap, "resourceGuid", m.ResourceGUID) 21903 return json.Marshal(objectMap) 21904 } 21905 21906 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerProperties. 21907 func (m *ManagerProperties) UnmarshalJSON(data []byte) error { 21908 var rawMsg map[string]json.RawMessage 21909 if err := json.Unmarshal(data, &rawMsg); err != nil { 21910 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21911 } 21912 for key, val := range rawMsg { 21913 var err error 21914 switch key { 21915 case "description": 21916 err = unpopulate(val, "Description", &m.Description) 21917 delete(rawMsg, key) 21918 case "networkManagerScopeAccesses": 21919 err = unpopulate(val, "NetworkManagerScopeAccesses", &m.NetworkManagerScopeAccesses) 21920 delete(rawMsg, key) 21921 case "networkManagerScopes": 21922 err = unpopulate(val, "NetworkManagerScopes", &m.NetworkManagerScopes) 21923 delete(rawMsg, key) 21924 case "provisioningState": 21925 err = unpopulate(val, "ProvisioningState", &m.ProvisioningState) 21926 delete(rawMsg, key) 21927 case "resourceGuid": 21928 err = unpopulate(val, "ResourceGUID", &m.ResourceGUID) 21929 delete(rawMsg, key) 21930 } 21931 if err != nil { 21932 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21933 } 21934 } 21935 return nil 21936 } 21937 21938 // MarshalJSON implements the json.Marshaller interface for type ManagerPropertiesNetworkManagerScopes. 21939 func (m ManagerPropertiesNetworkManagerScopes) MarshalJSON() ([]byte, error) { 21940 objectMap := make(map[string]any) 21941 populate(objectMap, "crossTenantScopes", m.CrossTenantScopes) 21942 populate(objectMap, "managementGroups", m.ManagementGroups) 21943 populate(objectMap, "subscriptions", m.Subscriptions) 21944 return json.Marshal(objectMap) 21945 } 21946 21947 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerPropertiesNetworkManagerScopes. 21948 func (m *ManagerPropertiesNetworkManagerScopes) UnmarshalJSON(data []byte) error { 21949 var rawMsg map[string]json.RawMessage 21950 if err := json.Unmarshal(data, &rawMsg); err != nil { 21951 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21952 } 21953 for key, val := range rawMsg { 21954 var err error 21955 switch key { 21956 case "crossTenantScopes": 21957 err = unpopulate(val, "CrossTenantScopes", &m.CrossTenantScopes) 21958 delete(rawMsg, key) 21959 case "managementGroups": 21960 err = unpopulate(val, "ManagementGroups", &m.ManagementGroups) 21961 delete(rawMsg, key) 21962 case "subscriptions": 21963 err = unpopulate(val, "Subscriptions", &m.Subscriptions) 21964 delete(rawMsg, key) 21965 } 21966 if err != nil { 21967 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21968 } 21969 } 21970 return nil 21971 } 21972 21973 // MarshalJSON implements the json.Marshaller interface for type ManagerRoutingConfiguration. 21974 func (m ManagerRoutingConfiguration) MarshalJSON() ([]byte, error) { 21975 objectMap := make(map[string]any) 21976 populate(objectMap, "etag", m.Etag) 21977 populate(objectMap, "id", m.ID) 21978 populate(objectMap, "name", m.Name) 21979 populate(objectMap, "properties", m.Properties) 21980 populate(objectMap, "systemData", m.SystemData) 21981 populate(objectMap, "type", m.Type) 21982 return json.Marshal(objectMap) 21983 } 21984 21985 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerRoutingConfiguration. 21986 func (m *ManagerRoutingConfiguration) UnmarshalJSON(data []byte) error { 21987 var rawMsg map[string]json.RawMessage 21988 if err := json.Unmarshal(data, &rawMsg); err != nil { 21989 return fmt.Errorf("unmarshalling type %T: %v", m, err) 21990 } 21991 for key, val := range rawMsg { 21992 var err error 21993 switch key { 21994 case "etag": 21995 err = unpopulate(val, "Etag", &m.Etag) 21996 delete(rawMsg, key) 21997 case "id": 21998 err = unpopulate(val, "ID", &m.ID) 21999 delete(rawMsg, key) 22000 case "name": 22001 err = unpopulate(val, "Name", &m.Name) 22002 delete(rawMsg, key) 22003 case "properties": 22004 err = unpopulate(val, "Properties", &m.Properties) 22005 delete(rawMsg, key) 22006 case "systemData": 22007 err = unpopulate(val, "SystemData", &m.SystemData) 22008 delete(rawMsg, key) 22009 case "type": 22010 err = unpopulate(val, "Type", &m.Type) 22011 delete(rawMsg, key) 22012 } 22013 if err != nil { 22014 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22015 } 22016 } 22017 return nil 22018 } 22019 22020 // MarshalJSON implements the json.Marshaller interface for type ManagerRoutingConfigurationListResult. 22021 func (m ManagerRoutingConfigurationListResult) MarshalJSON() ([]byte, error) { 22022 objectMap := make(map[string]any) 22023 populate(objectMap, "nextLink", m.NextLink) 22024 populate(objectMap, "value", m.Value) 22025 return json.Marshal(objectMap) 22026 } 22027 22028 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerRoutingConfigurationListResult. 22029 func (m *ManagerRoutingConfigurationListResult) UnmarshalJSON(data []byte) error { 22030 var rawMsg map[string]json.RawMessage 22031 if err := json.Unmarshal(data, &rawMsg); err != nil { 22032 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22033 } 22034 for key, val := range rawMsg { 22035 var err error 22036 switch key { 22037 case "nextLink": 22038 err = unpopulate(val, "NextLink", &m.NextLink) 22039 delete(rawMsg, key) 22040 case "value": 22041 err = unpopulate(val, "Value", &m.Value) 22042 delete(rawMsg, key) 22043 } 22044 if err != nil { 22045 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22046 } 22047 } 22048 return nil 22049 } 22050 22051 // MarshalJSON implements the json.Marshaller interface for type ManagerRoutingConfigurationPropertiesFormat. 22052 func (m ManagerRoutingConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 22053 objectMap := make(map[string]any) 22054 populate(objectMap, "description", m.Description) 22055 populate(objectMap, "provisioningState", m.ProvisioningState) 22056 populate(objectMap, "resourceGuid", m.ResourceGUID) 22057 return json.Marshal(objectMap) 22058 } 22059 22060 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerRoutingConfigurationPropertiesFormat. 22061 func (m *ManagerRoutingConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 22062 var rawMsg map[string]json.RawMessage 22063 if err := json.Unmarshal(data, &rawMsg); err != nil { 22064 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22065 } 22066 for key, val := range rawMsg { 22067 var err error 22068 switch key { 22069 case "description": 22070 err = unpopulate(val, "Description", &m.Description) 22071 delete(rawMsg, key) 22072 case "provisioningState": 22073 err = unpopulate(val, "ProvisioningState", &m.ProvisioningState) 22074 delete(rawMsg, key) 22075 case "resourceGuid": 22076 err = unpopulate(val, "ResourceGUID", &m.ResourceGUID) 22077 delete(rawMsg, key) 22078 } 22079 if err != nil { 22080 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22081 } 22082 } 22083 return nil 22084 } 22085 22086 // MarshalJSON implements the json.Marshaller interface for type ManagerRoutingGroupItem. 22087 func (m ManagerRoutingGroupItem) MarshalJSON() ([]byte, error) { 22088 objectMap := make(map[string]any) 22089 populate(objectMap, "networkGroupId", m.NetworkGroupID) 22090 return json.Marshal(objectMap) 22091 } 22092 22093 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerRoutingGroupItem. 22094 func (m *ManagerRoutingGroupItem) UnmarshalJSON(data []byte) error { 22095 var rawMsg map[string]json.RawMessage 22096 if err := json.Unmarshal(data, &rawMsg); err != nil { 22097 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22098 } 22099 for key, val := range rawMsg { 22100 var err error 22101 switch key { 22102 case "networkGroupId": 22103 err = unpopulate(val, "NetworkGroupID", &m.NetworkGroupID) 22104 delete(rawMsg, key) 22105 } 22106 if err != nil { 22107 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22108 } 22109 } 22110 return nil 22111 } 22112 22113 // MarshalJSON implements the json.Marshaller interface for type ManagerSecurityGroupItem. 22114 func (m ManagerSecurityGroupItem) MarshalJSON() ([]byte, error) { 22115 objectMap := make(map[string]any) 22116 populate(objectMap, "networkGroupId", m.NetworkGroupID) 22117 return json.Marshal(objectMap) 22118 } 22119 22120 // UnmarshalJSON implements the json.Unmarshaller interface for type ManagerSecurityGroupItem. 22121 func (m *ManagerSecurityGroupItem) UnmarshalJSON(data []byte) error { 22122 var rawMsg map[string]json.RawMessage 22123 if err := json.Unmarshal(data, &rawMsg); err != nil { 22124 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22125 } 22126 for key, val := range rawMsg { 22127 var err error 22128 switch key { 22129 case "networkGroupId": 22130 err = unpopulate(val, "NetworkGroupID", &m.NetworkGroupID) 22131 delete(rawMsg, key) 22132 } 22133 if err != nil { 22134 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22135 } 22136 } 22137 return nil 22138 } 22139 22140 // MarshalJSON implements the json.Marshaller interface for type MatchCondition. 22141 func (m MatchCondition) MarshalJSON() ([]byte, error) { 22142 objectMap := make(map[string]any) 22143 populate(objectMap, "matchValues", m.MatchValues) 22144 populate(objectMap, "matchVariables", m.MatchVariables) 22145 populate(objectMap, "negationConditon", m.NegationConditon) 22146 populate(objectMap, "operator", m.Operator) 22147 populate(objectMap, "transforms", m.Transforms) 22148 return json.Marshal(objectMap) 22149 } 22150 22151 // UnmarshalJSON implements the json.Unmarshaller interface for type MatchCondition. 22152 func (m *MatchCondition) UnmarshalJSON(data []byte) error { 22153 var rawMsg map[string]json.RawMessage 22154 if err := json.Unmarshal(data, &rawMsg); err != nil { 22155 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22156 } 22157 for key, val := range rawMsg { 22158 var err error 22159 switch key { 22160 case "matchValues": 22161 err = unpopulate(val, "MatchValues", &m.MatchValues) 22162 delete(rawMsg, key) 22163 case "matchVariables": 22164 err = unpopulate(val, "MatchVariables", &m.MatchVariables) 22165 delete(rawMsg, key) 22166 case "negationConditon": 22167 err = unpopulate(val, "NegationConditon", &m.NegationConditon) 22168 delete(rawMsg, key) 22169 case "operator": 22170 err = unpopulate(val, "Operator", &m.Operator) 22171 delete(rawMsg, key) 22172 case "transforms": 22173 err = unpopulate(val, "Transforms", &m.Transforms) 22174 delete(rawMsg, key) 22175 } 22176 if err != nil { 22177 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22178 } 22179 } 22180 return nil 22181 } 22182 22183 // MarshalJSON implements the json.Marshaller interface for type MatchVariable. 22184 func (m MatchVariable) MarshalJSON() ([]byte, error) { 22185 objectMap := make(map[string]any) 22186 populate(objectMap, "selector", m.Selector) 22187 populate(objectMap, "variableName", m.VariableName) 22188 return json.Marshal(objectMap) 22189 } 22190 22191 // UnmarshalJSON implements the json.Unmarshaller interface for type MatchVariable. 22192 func (m *MatchVariable) UnmarshalJSON(data []byte) error { 22193 var rawMsg map[string]json.RawMessage 22194 if err := json.Unmarshal(data, &rawMsg); err != nil { 22195 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22196 } 22197 for key, val := range rawMsg { 22198 var err error 22199 switch key { 22200 case "selector": 22201 err = unpopulate(val, "Selector", &m.Selector) 22202 delete(rawMsg, key) 22203 case "variableName": 22204 err = unpopulate(val, "VariableName", &m.VariableName) 22205 delete(rawMsg, key) 22206 } 22207 if err != nil { 22208 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22209 } 22210 } 22211 return nil 22212 } 22213 22214 // MarshalJSON implements the json.Marshaller interface for type MatchedRule. 22215 func (m MatchedRule) MarshalJSON() ([]byte, error) { 22216 objectMap := make(map[string]any) 22217 populate(objectMap, "action", m.Action) 22218 populate(objectMap, "ruleName", m.RuleName) 22219 return json.Marshal(objectMap) 22220 } 22221 22222 // UnmarshalJSON implements the json.Unmarshaller interface for type MatchedRule. 22223 func (m *MatchedRule) UnmarshalJSON(data []byte) error { 22224 var rawMsg map[string]json.RawMessage 22225 if err := json.Unmarshal(data, &rawMsg); err != nil { 22226 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22227 } 22228 for key, val := range rawMsg { 22229 var err error 22230 switch key { 22231 case "action": 22232 err = unpopulate(val, "Action", &m.Action) 22233 delete(rawMsg, key) 22234 case "ruleName": 22235 err = unpopulate(val, "RuleName", &m.RuleName) 22236 delete(rawMsg, key) 22237 } 22238 if err != nil { 22239 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22240 } 22241 } 22242 return nil 22243 } 22244 22245 // MarshalJSON implements the json.Marshaller interface for type MetricSpecification. 22246 func (m MetricSpecification) MarshalJSON() ([]byte, error) { 22247 objectMap := make(map[string]any) 22248 populate(objectMap, "aggregationType", m.AggregationType) 22249 populate(objectMap, "availabilities", m.Availabilities) 22250 populate(objectMap, "dimensions", m.Dimensions) 22251 populate(objectMap, "displayDescription", m.DisplayDescription) 22252 populate(objectMap, "displayName", m.DisplayName) 22253 populate(objectMap, "enableRegionalMdmAccount", m.EnableRegionalMdmAccount) 22254 populate(objectMap, "fillGapWithZero", m.FillGapWithZero) 22255 populate(objectMap, "isInternal", m.IsInternal) 22256 populate(objectMap, "metricFilterPattern", m.MetricFilterPattern) 22257 populate(objectMap, "name", m.Name) 22258 populate(objectMap, "resourceIdDimensionNameOverride", m.ResourceIDDimensionNameOverride) 22259 populate(objectMap, "sourceMdmAccount", m.SourceMdmAccount) 22260 populate(objectMap, "sourceMdmNamespace", m.SourceMdmNamespace) 22261 populate(objectMap, "unit", m.Unit) 22262 return json.Marshal(objectMap) 22263 } 22264 22265 // UnmarshalJSON implements the json.Unmarshaller interface for type MetricSpecification. 22266 func (m *MetricSpecification) UnmarshalJSON(data []byte) error { 22267 var rawMsg map[string]json.RawMessage 22268 if err := json.Unmarshal(data, &rawMsg); err != nil { 22269 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22270 } 22271 for key, val := range rawMsg { 22272 var err error 22273 switch key { 22274 case "aggregationType": 22275 err = unpopulate(val, "AggregationType", &m.AggregationType) 22276 delete(rawMsg, key) 22277 case "availabilities": 22278 err = unpopulate(val, "Availabilities", &m.Availabilities) 22279 delete(rawMsg, key) 22280 case "dimensions": 22281 err = unpopulate(val, "Dimensions", &m.Dimensions) 22282 delete(rawMsg, key) 22283 case "displayDescription": 22284 err = unpopulate(val, "DisplayDescription", &m.DisplayDescription) 22285 delete(rawMsg, key) 22286 case "displayName": 22287 err = unpopulate(val, "DisplayName", &m.DisplayName) 22288 delete(rawMsg, key) 22289 case "enableRegionalMdmAccount": 22290 err = unpopulate(val, "EnableRegionalMdmAccount", &m.EnableRegionalMdmAccount) 22291 delete(rawMsg, key) 22292 case "fillGapWithZero": 22293 err = unpopulate(val, "FillGapWithZero", &m.FillGapWithZero) 22294 delete(rawMsg, key) 22295 case "isInternal": 22296 err = unpopulate(val, "IsInternal", &m.IsInternal) 22297 delete(rawMsg, key) 22298 case "metricFilterPattern": 22299 err = unpopulate(val, "MetricFilterPattern", &m.MetricFilterPattern) 22300 delete(rawMsg, key) 22301 case "name": 22302 err = unpopulate(val, "Name", &m.Name) 22303 delete(rawMsg, key) 22304 case "resourceIdDimensionNameOverride": 22305 err = unpopulate(val, "ResourceIDDimensionNameOverride", &m.ResourceIDDimensionNameOverride) 22306 delete(rawMsg, key) 22307 case "sourceMdmAccount": 22308 err = unpopulate(val, "SourceMdmAccount", &m.SourceMdmAccount) 22309 delete(rawMsg, key) 22310 case "sourceMdmNamespace": 22311 err = unpopulate(val, "SourceMdmNamespace", &m.SourceMdmNamespace) 22312 delete(rawMsg, key) 22313 case "unit": 22314 err = unpopulate(val, "Unit", &m.Unit) 22315 delete(rawMsg, key) 22316 } 22317 if err != nil { 22318 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22319 } 22320 } 22321 return nil 22322 } 22323 22324 // MarshalJSON implements the json.Marshaller interface for type MigrateLoadBalancerToIPBasedRequest. 22325 func (m MigrateLoadBalancerToIPBasedRequest) MarshalJSON() ([]byte, error) { 22326 objectMap := make(map[string]any) 22327 populate(objectMap, "pools", m.Pools) 22328 return json.Marshal(objectMap) 22329 } 22330 22331 // UnmarshalJSON implements the json.Unmarshaller interface for type MigrateLoadBalancerToIPBasedRequest. 22332 func (m *MigrateLoadBalancerToIPBasedRequest) UnmarshalJSON(data []byte) error { 22333 var rawMsg map[string]json.RawMessage 22334 if err := json.Unmarshal(data, &rawMsg); err != nil { 22335 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22336 } 22337 for key, val := range rawMsg { 22338 var err error 22339 switch key { 22340 case "pools": 22341 err = unpopulate(val, "Pools", &m.Pools) 22342 delete(rawMsg, key) 22343 } 22344 if err != nil { 22345 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22346 } 22347 } 22348 return nil 22349 } 22350 22351 // MarshalJSON implements the json.Marshaller interface for type MigratedPools. 22352 func (m MigratedPools) MarshalJSON() ([]byte, error) { 22353 objectMap := make(map[string]any) 22354 populate(objectMap, "migratedPools", m.MigratedPools) 22355 return json.Marshal(objectMap) 22356 } 22357 22358 // UnmarshalJSON implements the json.Unmarshaller interface for type MigratedPools. 22359 func (m *MigratedPools) UnmarshalJSON(data []byte) error { 22360 var rawMsg map[string]json.RawMessage 22361 if err := json.Unmarshal(data, &rawMsg); err != nil { 22362 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22363 } 22364 for key, val := range rawMsg { 22365 var err error 22366 switch key { 22367 case "migratedPools": 22368 err = unpopulate(val, "MigratedPools", &m.MigratedPools) 22369 delete(rawMsg, key) 22370 } 22371 if err != nil { 22372 return fmt.Errorf("unmarshalling type %T: %v", m, err) 22373 } 22374 } 22375 return nil 22376 } 22377 22378 // MarshalJSON implements the json.Marshaller interface for type NatGateway. 22379 func (n NatGateway) MarshalJSON() ([]byte, error) { 22380 objectMap := make(map[string]any) 22381 populate(objectMap, "etag", n.Etag) 22382 populate(objectMap, "id", n.ID) 22383 populate(objectMap, "location", n.Location) 22384 populate(objectMap, "name", n.Name) 22385 populate(objectMap, "properties", n.Properties) 22386 populate(objectMap, "sku", n.SKU) 22387 populate(objectMap, "tags", n.Tags) 22388 populate(objectMap, "type", n.Type) 22389 populate(objectMap, "zones", n.Zones) 22390 return json.Marshal(objectMap) 22391 } 22392 22393 // UnmarshalJSON implements the json.Unmarshaller interface for type NatGateway. 22394 func (n *NatGateway) UnmarshalJSON(data []byte) error { 22395 var rawMsg map[string]json.RawMessage 22396 if err := json.Unmarshal(data, &rawMsg); err != nil { 22397 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22398 } 22399 for key, val := range rawMsg { 22400 var err error 22401 switch key { 22402 case "etag": 22403 err = unpopulate(val, "Etag", &n.Etag) 22404 delete(rawMsg, key) 22405 case "id": 22406 err = unpopulate(val, "ID", &n.ID) 22407 delete(rawMsg, key) 22408 case "location": 22409 err = unpopulate(val, "Location", &n.Location) 22410 delete(rawMsg, key) 22411 case "name": 22412 err = unpopulate(val, "Name", &n.Name) 22413 delete(rawMsg, key) 22414 case "properties": 22415 err = unpopulate(val, "Properties", &n.Properties) 22416 delete(rawMsg, key) 22417 case "sku": 22418 err = unpopulate(val, "SKU", &n.SKU) 22419 delete(rawMsg, key) 22420 case "tags": 22421 err = unpopulate(val, "Tags", &n.Tags) 22422 delete(rawMsg, key) 22423 case "type": 22424 err = unpopulate(val, "Type", &n.Type) 22425 delete(rawMsg, key) 22426 case "zones": 22427 err = unpopulate(val, "Zones", &n.Zones) 22428 delete(rawMsg, key) 22429 } 22430 if err != nil { 22431 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22432 } 22433 } 22434 return nil 22435 } 22436 22437 // MarshalJSON implements the json.Marshaller interface for type NatGatewayListResult. 22438 func (n NatGatewayListResult) MarshalJSON() ([]byte, error) { 22439 objectMap := make(map[string]any) 22440 populate(objectMap, "nextLink", n.NextLink) 22441 populate(objectMap, "value", n.Value) 22442 return json.Marshal(objectMap) 22443 } 22444 22445 // UnmarshalJSON implements the json.Unmarshaller interface for type NatGatewayListResult. 22446 func (n *NatGatewayListResult) UnmarshalJSON(data []byte) error { 22447 var rawMsg map[string]json.RawMessage 22448 if err := json.Unmarshal(data, &rawMsg); err != nil { 22449 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22450 } 22451 for key, val := range rawMsg { 22452 var err error 22453 switch key { 22454 case "nextLink": 22455 err = unpopulate(val, "NextLink", &n.NextLink) 22456 delete(rawMsg, key) 22457 case "value": 22458 err = unpopulate(val, "Value", &n.Value) 22459 delete(rawMsg, key) 22460 } 22461 if err != nil { 22462 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22463 } 22464 } 22465 return nil 22466 } 22467 22468 // MarshalJSON implements the json.Marshaller interface for type NatGatewayPropertiesFormat. 22469 func (n NatGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 22470 objectMap := make(map[string]any) 22471 populate(objectMap, "idleTimeoutInMinutes", n.IdleTimeoutInMinutes) 22472 populate(objectMap, "provisioningState", n.ProvisioningState) 22473 populate(objectMap, "publicIpAddresses", n.PublicIPAddresses) 22474 populate(objectMap, "publicIpPrefixes", n.PublicIPPrefixes) 22475 populate(objectMap, "resourceGuid", n.ResourceGUID) 22476 populate(objectMap, "subnets", n.Subnets) 22477 return json.Marshal(objectMap) 22478 } 22479 22480 // UnmarshalJSON implements the json.Unmarshaller interface for type NatGatewayPropertiesFormat. 22481 func (n *NatGatewayPropertiesFormat) UnmarshalJSON(data []byte) error { 22482 var rawMsg map[string]json.RawMessage 22483 if err := json.Unmarshal(data, &rawMsg); err != nil { 22484 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22485 } 22486 for key, val := range rawMsg { 22487 var err error 22488 switch key { 22489 case "idleTimeoutInMinutes": 22490 err = unpopulate(val, "IdleTimeoutInMinutes", &n.IdleTimeoutInMinutes) 22491 delete(rawMsg, key) 22492 case "provisioningState": 22493 err = unpopulate(val, "ProvisioningState", &n.ProvisioningState) 22494 delete(rawMsg, key) 22495 case "publicIpAddresses": 22496 err = unpopulate(val, "PublicIPAddresses", &n.PublicIPAddresses) 22497 delete(rawMsg, key) 22498 case "publicIpPrefixes": 22499 err = unpopulate(val, "PublicIPPrefixes", &n.PublicIPPrefixes) 22500 delete(rawMsg, key) 22501 case "resourceGuid": 22502 err = unpopulate(val, "ResourceGUID", &n.ResourceGUID) 22503 delete(rawMsg, key) 22504 case "subnets": 22505 err = unpopulate(val, "Subnets", &n.Subnets) 22506 delete(rawMsg, key) 22507 } 22508 if err != nil { 22509 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22510 } 22511 } 22512 return nil 22513 } 22514 22515 // MarshalJSON implements the json.Marshaller interface for type NatGatewaySKU. 22516 func (n NatGatewaySKU) MarshalJSON() ([]byte, error) { 22517 objectMap := make(map[string]any) 22518 populate(objectMap, "name", n.Name) 22519 return json.Marshal(objectMap) 22520 } 22521 22522 // UnmarshalJSON implements the json.Unmarshaller interface for type NatGatewaySKU. 22523 func (n *NatGatewaySKU) UnmarshalJSON(data []byte) error { 22524 var rawMsg map[string]json.RawMessage 22525 if err := json.Unmarshal(data, &rawMsg); err != nil { 22526 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22527 } 22528 for key, val := range rawMsg { 22529 var err error 22530 switch key { 22531 case "name": 22532 err = unpopulate(val, "Name", &n.Name) 22533 delete(rawMsg, key) 22534 } 22535 if err != nil { 22536 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22537 } 22538 } 22539 return nil 22540 } 22541 22542 // MarshalJSON implements the json.Marshaller interface for type NatRule. 22543 func (n NatRule) MarshalJSON() ([]byte, error) { 22544 objectMap := make(map[string]any) 22545 populate(objectMap, "description", n.Description) 22546 populate(objectMap, "destinationAddresses", n.DestinationAddresses) 22547 populate(objectMap, "destinationPorts", n.DestinationPorts) 22548 populate(objectMap, "ipProtocols", n.IPProtocols) 22549 populate(objectMap, "name", n.Name) 22550 objectMap["ruleType"] = FirewallPolicyRuleTypeNatRule 22551 populate(objectMap, "sourceAddresses", n.SourceAddresses) 22552 populate(objectMap, "sourceIpGroups", n.SourceIPGroups) 22553 populate(objectMap, "translatedAddress", n.TranslatedAddress) 22554 populate(objectMap, "translatedFqdn", n.TranslatedFqdn) 22555 populate(objectMap, "translatedPort", n.TranslatedPort) 22556 return json.Marshal(objectMap) 22557 } 22558 22559 // UnmarshalJSON implements the json.Unmarshaller interface for type NatRule. 22560 func (n *NatRule) UnmarshalJSON(data []byte) error { 22561 var rawMsg map[string]json.RawMessage 22562 if err := json.Unmarshal(data, &rawMsg); err != nil { 22563 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22564 } 22565 for key, val := range rawMsg { 22566 var err error 22567 switch key { 22568 case "description": 22569 err = unpopulate(val, "Description", &n.Description) 22570 delete(rawMsg, key) 22571 case "destinationAddresses": 22572 err = unpopulate(val, "DestinationAddresses", &n.DestinationAddresses) 22573 delete(rawMsg, key) 22574 case "destinationPorts": 22575 err = unpopulate(val, "DestinationPorts", &n.DestinationPorts) 22576 delete(rawMsg, key) 22577 case "ipProtocols": 22578 err = unpopulate(val, "IPProtocols", &n.IPProtocols) 22579 delete(rawMsg, key) 22580 case "name": 22581 err = unpopulate(val, "Name", &n.Name) 22582 delete(rawMsg, key) 22583 case "ruleType": 22584 err = unpopulate(val, "RuleType", &n.RuleType) 22585 delete(rawMsg, key) 22586 case "sourceAddresses": 22587 err = unpopulate(val, "SourceAddresses", &n.SourceAddresses) 22588 delete(rawMsg, key) 22589 case "sourceIpGroups": 22590 err = unpopulate(val, "SourceIPGroups", &n.SourceIPGroups) 22591 delete(rawMsg, key) 22592 case "translatedAddress": 22593 err = unpopulate(val, "TranslatedAddress", &n.TranslatedAddress) 22594 delete(rawMsg, key) 22595 case "translatedFqdn": 22596 err = unpopulate(val, "TranslatedFqdn", &n.TranslatedFqdn) 22597 delete(rawMsg, key) 22598 case "translatedPort": 22599 err = unpopulate(val, "TranslatedPort", &n.TranslatedPort) 22600 delete(rawMsg, key) 22601 } 22602 if err != nil { 22603 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22604 } 22605 } 22606 return nil 22607 } 22608 22609 // MarshalJSON implements the json.Marshaller interface for type NatRulePortMapping. 22610 func (n NatRulePortMapping) MarshalJSON() ([]byte, error) { 22611 objectMap := make(map[string]any) 22612 populate(objectMap, "backendPort", n.BackendPort) 22613 populate(objectMap, "frontendPort", n.FrontendPort) 22614 populate(objectMap, "inboundNatRuleName", n.InboundNatRuleName) 22615 return json.Marshal(objectMap) 22616 } 22617 22618 // UnmarshalJSON implements the json.Unmarshaller interface for type NatRulePortMapping. 22619 func (n *NatRulePortMapping) UnmarshalJSON(data []byte) error { 22620 var rawMsg map[string]json.RawMessage 22621 if err := json.Unmarshal(data, &rawMsg); err != nil { 22622 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22623 } 22624 for key, val := range rawMsg { 22625 var err error 22626 switch key { 22627 case "backendPort": 22628 err = unpopulate(val, "BackendPort", &n.BackendPort) 22629 delete(rawMsg, key) 22630 case "frontendPort": 22631 err = unpopulate(val, "FrontendPort", &n.FrontendPort) 22632 delete(rawMsg, key) 22633 case "inboundNatRuleName": 22634 err = unpopulate(val, "InboundNatRuleName", &n.InboundNatRuleName) 22635 delete(rawMsg, key) 22636 } 22637 if err != nil { 22638 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22639 } 22640 } 22641 return nil 22642 } 22643 22644 // MarshalJSON implements the json.Marshaller interface for type NextHopParameters. 22645 func (n NextHopParameters) MarshalJSON() ([]byte, error) { 22646 objectMap := make(map[string]any) 22647 populate(objectMap, "destinationIPAddress", n.DestinationIPAddress) 22648 populate(objectMap, "sourceIPAddress", n.SourceIPAddress) 22649 populate(objectMap, "targetNicResourceId", n.TargetNicResourceID) 22650 populate(objectMap, "targetResourceId", n.TargetResourceID) 22651 return json.Marshal(objectMap) 22652 } 22653 22654 // UnmarshalJSON implements the json.Unmarshaller interface for type NextHopParameters. 22655 func (n *NextHopParameters) UnmarshalJSON(data []byte) error { 22656 var rawMsg map[string]json.RawMessage 22657 if err := json.Unmarshal(data, &rawMsg); err != nil { 22658 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22659 } 22660 for key, val := range rawMsg { 22661 var err error 22662 switch key { 22663 case "destinationIPAddress": 22664 err = unpopulate(val, "DestinationIPAddress", &n.DestinationIPAddress) 22665 delete(rawMsg, key) 22666 case "sourceIPAddress": 22667 err = unpopulate(val, "SourceIPAddress", &n.SourceIPAddress) 22668 delete(rawMsg, key) 22669 case "targetNicResourceId": 22670 err = unpopulate(val, "TargetNicResourceID", &n.TargetNicResourceID) 22671 delete(rawMsg, key) 22672 case "targetResourceId": 22673 err = unpopulate(val, "TargetResourceID", &n.TargetResourceID) 22674 delete(rawMsg, key) 22675 } 22676 if err != nil { 22677 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22678 } 22679 } 22680 return nil 22681 } 22682 22683 // MarshalJSON implements the json.Marshaller interface for type NextHopResult. 22684 func (n NextHopResult) MarshalJSON() ([]byte, error) { 22685 objectMap := make(map[string]any) 22686 populate(objectMap, "nextHopIpAddress", n.NextHopIPAddress) 22687 populate(objectMap, "nextHopType", n.NextHopType) 22688 populate(objectMap, "routeTableId", n.RouteTableID) 22689 return json.Marshal(objectMap) 22690 } 22691 22692 // UnmarshalJSON implements the json.Unmarshaller interface for type NextHopResult. 22693 func (n *NextHopResult) UnmarshalJSON(data []byte) error { 22694 var rawMsg map[string]json.RawMessage 22695 if err := json.Unmarshal(data, &rawMsg); err != nil { 22696 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22697 } 22698 for key, val := range rawMsg { 22699 var err error 22700 switch key { 22701 case "nextHopIpAddress": 22702 err = unpopulate(val, "NextHopIPAddress", &n.NextHopIPAddress) 22703 delete(rawMsg, key) 22704 case "nextHopType": 22705 err = unpopulate(val, "NextHopType", &n.NextHopType) 22706 delete(rawMsg, key) 22707 case "routeTableId": 22708 err = unpopulate(val, "RouteTableID", &n.RouteTableID) 22709 delete(rawMsg, key) 22710 } 22711 if err != nil { 22712 return fmt.Errorf("unmarshalling type %T: %v", n, err) 22713 } 22714 } 22715 return nil 22716 } 22717 22718 // MarshalJSON implements the json.Marshaller interface for type O365BreakOutCategoryPolicies. 22719 func (o O365BreakOutCategoryPolicies) MarshalJSON() ([]byte, error) { 22720 objectMap := make(map[string]any) 22721 populate(objectMap, "allow", o.Allow) 22722 populate(objectMap, "default", o.Default) 22723 populate(objectMap, "optimize", o.Optimize) 22724 return json.Marshal(objectMap) 22725 } 22726 22727 // UnmarshalJSON implements the json.Unmarshaller interface for type O365BreakOutCategoryPolicies. 22728 func (o *O365BreakOutCategoryPolicies) UnmarshalJSON(data []byte) error { 22729 var rawMsg map[string]json.RawMessage 22730 if err := json.Unmarshal(data, &rawMsg); err != nil { 22731 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22732 } 22733 for key, val := range rawMsg { 22734 var err error 22735 switch key { 22736 case "allow": 22737 err = unpopulate(val, "Allow", &o.Allow) 22738 delete(rawMsg, key) 22739 case "default": 22740 err = unpopulate(val, "Default", &o.Default) 22741 delete(rawMsg, key) 22742 case "optimize": 22743 err = unpopulate(val, "Optimize", &o.Optimize) 22744 delete(rawMsg, key) 22745 } 22746 if err != nil { 22747 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22748 } 22749 } 22750 return nil 22751 } 22752 22753 // MarshalJSON implements the json.Marshaller interface for type O365PolicyProperties. 22754 func (o O365PolicyProperties) MarshalJSON() ([]byte, error) { 22755 objectMap := make(map[string]any) 22756 populate(objectMap, "breakOutCategories", o.BreakOutCategories) 22757 return json.Marshal(objectMap) 22758 } 22759 22760 // UnmarshalJSON implements the json.Unmarshaller interface for type O365PolicyProperties. 22761 func (o *O365PolicyProperties) UnmarshalJSON(data []byte) error { 22762 var rawMsg map[string]json.RawMessage 22763 if err := json.Unmarshal(data, &rawMsg); err != nil { 22764 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22765 } 22766 for key, val := range rawMsg { 22767 var err error 22768 switch key { 22769 case "breakOutCategories": 22770 err = unpopulate(val, "BreakOutCategories", &o.BreakOutCategories) 22771 delete(rawMsg, key) 22772 } 22773 if err != nil { 22774 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22775 } 22776 } 22777 return nil 22778 } 22779 22780 // MarshalJSON implements the json.Marshaller interface for type Office365PolicyProperties. 22781 func (o Office365PolicyProperties) MarshalJSON() ([]byte, error) { 22782 objectMap := make(map[string]any) 22783 populate(objectMap, "breakOutCategories", o.BreakOutCategories) 22784 return json.Marshal(objectMap) 22785 } 22786 22787 // UnmarshalJSON implements the json.Unmarshaller interface for type Office365PolicyProperties. 22788 func (o *Office365PolicyProperties) UnmarshalJSON(data []byte) error { 22789 var rawMsg map[string]json.RawMessage 22790 if err := json.Unmarshal(data, &rawMsg); err != nil { 22791 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22792 } 22793 for key, val := range rawMsg { 22794 var err error 22795 switch key { 22796 case "breakOutCategories": 22797 err = unpopulate(val, "BreakOutCategories", &o.BreakOutCategories) 22798 delete(rawMsg, key) 22799 } 22800 if err != nil { 22801 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22802 } 22803 } 22804 return nil 22805 } 22806 22807 // MarshalJSON implements the json.Marshaller interface for type Operation. 22808 func (o Operation) MarshalJSON() ([]byte, error) { 22809 objectMap := make(map[string]any) 22810 populate(objectMap, "display", o.Display) 22811 populate(objectMap, "name", o.Name) 22812 populate(objectMap, "origin", o.Origin) 22813 populate(objectMap, "properties", o.Properties) 22814 return json.Marshal(objectMap) 22815 } 22816 22817 // UnmarshalJSON implements the json.Unmarshaller interface for type Operation. 22818 func (o *Operation) UnmarshalJSON(data []byte) error { 22819 var rawMsg map[string]json.RawMessage 22820 if err := json.Unmarshal(data, &rawMsg); err != nil { 22821 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22822 } 22823 for key, val := range rawMsg { 22824 var err error 22825 switch key { 22826 case "display": 22827 err = unpopulate(val, "Display", &o.Display) 22828 delete(rawMsg, key) 22829 case "name": 22830 err = unpopulate(val, "Name", &o.Name) 22831 delete(rawMsg, key) 22832 case "origin": 22833 err = unpopulate(val, "Origin", &o.Origin) 22834 delete(rawMsg, key) 22835 case "properties": 22836 err = unpopulate(val, "Properties", &o.Properties) 22837 delete(rawMsg, key) 22838 } 22839 if err != nil { 22840 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22841 } 22842 } 22843 return nil 22844 } 22845 22846 // MarshalJSON implements the json.Marshaller interface for type OperationDisplay. 22847 func (o OperationDisplay) MarshalJSON() ([]byte, error) { 22848 objectMap := make(map[string]any) 22849 populate(objectMap, "description", o.Description) 22850 populate(objectMap, "operation", o.Operation) 22851 populate(objectMap, "provider", o.Provider) 22852 populate(objectMap, "resource", o.Resource) 22853 return json.Marshal(objectMap) 22854 } 22855 22856 // UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay. 22857 func (o *OperationDisplay) UnmarshalJSON(data []byte) error { 22858 var rawMsg map[string]json.RawMessage 22859 if err := json.Unmarshal(data, &rawMsg); err != nil { 22860 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22861 } 22862 for key, val := range rawMsg { 22863 var err error 22864 switch key { 22865 case "description": 22866 err = unpopulate(val, "Description", &o.Description) 22867 delete(rawMsg, key) 22868 case "operation": 22869 err = unpopulate(val, "Operation", &o.Operation) 22870 delete(rawMsg, key) 22871 case "provider": 22872 err = unpopulate(val, "Provider", &o.Provider) 22873 delete(rawMsg, key) 22874 case "resource": 22875 err = unpopulate(val, "Resource", &o.Resource) 22876 delete(rawMsg, key) 22877 } 22878 if err != nil { 22879 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22880 } 22881 } 22882 return nil 22883 } 22884 22885 // MarshalJSON implements the json.Marshaller interface for type OperationListResult. 22886 func (o OperationListResult) MarshalJSON() ([]byte, error) { 22887 objectMap := make(map[string]any) 22888 populate(objectMap, "nextLink", o.NextLink) 22889 populate(objectMap, "value", o.Value) 22890 return json.Marshal(objectMap) 22891 } 22892 22893 // UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult. 22894 func (o *OperationListResult) UnmarshalJSON(data []byte) error { 22895 var rawMsg map[string]json.RawMessage 22896 if err := json.Unmarshal(data, &rawMsg); err != nil { 22897 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22898 } 22899 for key, val := range rawMsg { 22900 var err error 22901 switch key { 22902 case "nextLink": 22903 err = unpopulate(val, "NextLink", &o.NextLink) 22904 delete(rawMsg, key) 22905 case "value": 22906 err = unpopulate(val, "Value", &o.Value) 22907 delete(rawMsg, key) 22908 } 22909 if err != nil { 22910 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22911 } 22912 } 22913 return nil 22914 } 22915 22916 // MarshalJSON implements the json.Marshaller interface for type OperationPropertiesFormat. 22917 func (o OperationPropertiesFormat) MarshalJSON() ([]byte, error) { 22918 objectMap := make(map[string]any) 22919 populate(objectMap, "serviceSpecification", o.ServiceSpecification) 22920 return json.Marshal(objectMap) 22921 } 22922 22923 // UnmarshalJSON implements the json.Unmarshaller interface for type OperationPropertiesFormat. 22924 func (o *OperationPropertiesFormat) UnmarshalJSON(data []byte) error { 22925 var rawMsg map[string]json.RawMessage 22926 if err := json.Unmarshal(data, &rawMsg); err != nil { 22927 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22928 } 22929 for key, val := range rawMsg { 22930 var err error 22931 switch key { 22932 case "serviceSpecification": 22933 err = unpopulate(val, "ServiceSpecification", &o.ServiceSpecification) 22934 delete(rawMsg, key) 22935 } 22936 if err != nil { 22937 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22938 } 22939 } 22940 return nil 22941 } 22942 22943 // MarshalJSON implements the json.Marshaller interface for type OperationPropertiesFormatServiceSpecification. 22944 func (o OperationPropertiesFormatServiceSpecification) MarshalJSON() ([]byte, error) { 22945 objectMap := make(map[string]any) 22946 populate(objectMap, "logSpecifications", o.LogSpecifications) 22947 populate(objectMap, "metricSpecifications", o.MetricSpecifications) 22948 return json.Marshal(objectMap) 22949 } 22950 22951 // UnmarshalJSON implements the json.Unmarshaller interface for type OperationPropertiesFormatServiceSpecification. 22952 func (o *OperationPropertiesFormatServiceSpecification) UnmarshalJSON(data []byte) error { 22953 var rawMsg map[string]json.RawMessage 22954 if err := json.Unmarshal(data, &rawMsg); err != nil { 22955 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22956 } 22957 for key, val := range rawMsg { 22958 var err error 22959 switch key { 22960 case "logSpecifications": 22961 err = unpopulate(val, "LogSpecifications", &o.LogSpecifications) 22962 delete(rawMsg, key) 22963 case "metricSpecifications": 22964 err = unpopulate(val, "MetricSpecifications", &o.MetricSpecifications) 22965 delete(rawMsg, key) 22966 } 22967 if err != nil { 22968 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22969 } 22970 } 22971 return nil 22972 } 22973 22974 // MarshalJSON implements the json.Marshaller interface for type OrderBy. 22975 func (o OrderBy) MarshalJSON() ([]byte, error) { 22976 objectMap := make(map[string]any) 22977 populate(objectMap, "field", o.Field) 22978 populate(objectMap, "order", o.Order) 22979 return json.Marshal(objectMap) 22980 } 22981 22982 // UnmarshalJSON implements the json.Unmarshaller interface for type OrderBy. 22983 func (o *OrderBy) UnmarshalJSON(data []byte) error { 22984 var rawMsg map[string]json.RawMessage 22985 if err := json.Unmarshal(data, &rawMsg); err != nil { 22986 return fmt.Errorf("unmarshalling type %T: %v", o, err) 22987 } 22988 for key, val := range rawMsg { 22989 var err error 22990 switch key { 22991 case "field": 22992 err = unpopulate(val, "Field", &o.Field) 22993 delete(rawMsg, key) 22994 case "order": 22995 err = unpopulate(val, "Order", &o.Order) 22996 delete(rawMsg, key) 22997 } 22998 if err != nil { 22999 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23000 } 23001 } 23002 return nil 23003 } 23004 23005 // MarshalJSON implements the json.Marshaller interface for type OutboundRule. 23006 func (o OutboundRule) MarshalJSON() ([]byte, error) { 23007 objectMap := make(map[string]any) 23008 populate(objectMap, "etag", o.Etag) 23009 populate(objectMap, "id", o.ID) 23010 populate(objectMap, "name", o.Name) 23011 populate(objectMap, "properties", o.Properties) 23012 populate(objectMap, "type", o.Type) 23013 return json.Marshal(objectMap) 23014 } 23015 23016 // UnmarshalJSON implements the json.Unmarshaller interface for type OutboundRule. 23017 func (o *OutboundRule) UnmarshalJSON(data []byte) error { 23018 var rawMsg map[string]json.RawMessage 23019 if err := json.Unmarshal(data, &rawMsg); err != nil { 23020 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23021 } 23022 for key, val := range rawMsg { 23023 var err error 23024 switch key { 23025 case "etag": 23026 err = unpopulate(val, "Etag", &o.Etag) 23027 delete(rawMsg, key) 23028 case "id": 23029 err = unpopulate(val, "ID", &o.ID) 23030 delete(rawMsg, key) 23031 case "name": 23032 err = unpopulate(val, "Name", &o.Name) 23033 delete(rawMsg, key) 23034 case "properties": 23035 err = unpopulate(val, "Properties", &o.Properties) 23036 delete(rawMsg, key) 23037 case "type": 23038 err = unpopulate(val, "Type", &o.Type) 23039 delete(rawMsg, key) 23040 } 23041 if err != nil { 23042 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23043 } 23044 } 23045 return nil 23046 } 23047 23048 // MarshalJSON implements the json.Marshaller interface for type OutboundRulePropertiesFormat. 23049 func (o OutboundRulePropertiesFormat) MarshalJSON() ([]byte, error) { 23050 objectMap := make(map[string]any) 23051 populate(objectMap, "allocatedOutboundPorts", o.AllocatedOutboundPorts) 23052 populate(objectMap, "backendAddressPool", o.BackendAddressPool) 23053 populate(objectMap, "enableTcpReset", o.EnableTCPReset) 23054 populate(objectMap, "frontendIPConfigurations", o.FrontendIPConfigurations) 23055 populate(objectMap, "idleTimeoutInMinutes", o.IdleTimeoutInMinutes) 23056 populate(objectMap, "protocol", o.Protocol) 23057 populate(objectMap, "provisioningState", o.ProvisioningState) 23058 return json.Marshal(objectMap) 23059 } 23060 23061 // UnmarshalJSON implements the json.Unmarshaller interface for type OutboundRulePropertiesFormat. 23062 func (o *OutboundRulePropertiesFormat) UnmarshalJSON(data []byte) error { 23063 var rawMsg map[string]json.RawMessage 23064 if err := json.Unmarshal(data, &rawMsg); err != nil { 23065 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23066 } 23067 for key, val := range rawMsg { 23068 var err error 23069 switch key { 23070 case "allocatedOutboundPorts": 23071 err = unpopulate(val, "AllocatedOutboundPorts", &o.AllocatedOutboundPorts) 23072 delete(rawMsg, key) 23073 case "backendAddressPool": 23074 err = unpopulate(val, "BackendAddressPool", &o.BackendAddressPool) 23075 delete(rawMsg, key) 23076 case "enableTcpReset": 23077 err = unpopulate(val, "EnableTCPReset", &o.EnableTCPReset) 23078 delete(rawMsg, key) 23079 case "frontendIPConfigurations": 23080 err = unpopulate(val, "FrontendIPConfigurations", &o.FrontendIPConfigurations) 23081 delete(rawMsg, key) 23082 case "idleTimeoutInMinutes": 23083 err = unpopulate(val, "IdleTimeoutInMinutes", &o.IdleTimeoutInMinutes) 23084 delete(rawMsg, key) 23085 case "protocol": 23086 err = unpopulate(val, "Protocol", &o.Protocol) 23087 delete(rawMsg, key) 23088 case "provisioningState": 23089 err = unpopulate(val, "ProvisioningState", &o.ProvisioningState) 23090 delete(rawMsg, key) 23091 } 23092 if err != nil { 23093 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23094 } 23095 } 23096 return nil 23097 } 23098 23099 // MarshalJSON implements the json.Marshaller interface for type OwaspCrsExclusionEntry. 23100 func (o OwaspCrsExclusionEntry) MarshalJSON() ([]byte, error) { 23101 objectMap := make(map[string]any) 23102 populate(objectMap, "exclusionManagedRuleSets", o.ExclusionManagedRuleSets) 23103 populate(objectMap, "matchVariable", o.MatchVariable) 23104 populate(objectMap, "selector", o.Selector) 23105 populate(objectMap, "selectorMatchOperator", o.SelectorMatchOperator) 23106 return json.Marshal(objectMap) 23107 } 23108 23109 // UnmarshalJSON implements the json.Unmarshaller interface for type OwaspCrsExclusionEntry. 23110 func (o *OwaspCrsExclusionEntry) UnmarshalJSON(data []byte) error { 23111 var rawMsg map[string]json.RawMessage 23112 if err := json.Unmarshal(data, &rawMsg); err != nil { 23113 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23114 } 23115 for key, val := range rawMsg { 23116 var err error 23117 switch key { 23118 case "exclusionManagedRuleSets": 23119 err = unpopulate(val, "ExclusionManagedRuleSets", &o.ExclusionManagedRuleSets) 23120 delete(rawMsg, key) 23121 case "matchVariable": 23122 err = unpopulate(val, "MatchVariable", &o.MatchVariable) 23123 delete(rawMsg, key) 23124 case "selector": 23125 err = unpopulate(val, "Selector", &o.Selector) 23126 delete(rawMsg, key) 23127 case "selectorMatchOperator": 23128 err = unpopulate(val, "SelectorMatchOperator", &o.SelectorMatchOperator) 23129 delete(rawMsg, key) 23130 } 23131 if err != nil { 23132 return fmt.Errorf("unmarshalling type %T: %v", o, err) 23133 } 23134 } 23135 return nil 23136 } 23137 23138 // MarshalJSON implements the json.Marshaller interface for type P2SConnectionConfiguration. 23139 func (p P2SConnectionConfiguration) MarshalJSON() ([]byte, error) { 23140 objectMap := make(map[string]any) 23141 populate(objectMap, "etag", p.Etag) 23142 populate(objectMap, "id", p.ID) 23143 populate(objectMap, "name", p.Name) 23144 populate(objectMap, "properties", p.Properties) 23145 return json.Marshal(objectMap) 23146 } 23147 23148 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SConnectionConfiguration. 23149 func (p *P2SConnectionConfiguration) UnmarshalJSON(data []byte) error { 23150 var rawMsg map[string]json.RawMessage 23151 if err := json.Unmarshal(data, &rawMsg); err != nil { 23152 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23153 } 23154 for key, val := range rawMsg { 23155 var err error 23156 switch key { 23157 case "etag": 23158 err = unpopulate(val, "Etag", &p.Etag) 23159 delete(rawMsg, key) 23160 case "id": 23161 err = unpopulate(val, "ID", &p.ID) 23162 delete(rawMsg, key) 23163 case "name": 23164 err = unpopulate(val, "Name", &p.Name) 23165 delete(rawMsg, key) 23166 case "properties": 23167 err = unpopulate(val, "Properties", &p.Properties) 23168 delete(rawMsg, key) 23169 } 23170 if err != nil { 23171 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23172 } 23173 } 23174 return nil 23175 } 23176 23177 // MarshalJSON implements the json.Marshaller interface for type P2SConnectionConfigurationProperties. 23178 func (p P2SConnectionConfigurationProperties) MarshalJSON() ([]byte, error) { 23179 objectMap := make(map[string]any) 23180 populate(objectMap, "configurationPolicyGroupAssociations", p.ConfigurationPolicyGroupAssociations) 23181 populate(objectMap, "enableInternetSecurity", p.EnableInternetSecurity) 23182 populate(objectMap, "previousConfigurationPolicyGroupAssociations", p.PreviousConfigurationPolicyGroupAssociations) 23183 populate(objectMap, "provisioningState", p.ProvisioningState) 23184 populate(objectMap, "routingConfiguration", p.RoutingConfiguration) 23185 populate(objectMap, "vpnClientAddressPool", p.VPNClientAddressPool) 23186 return json.Marshal(objectMap) 23187 } 23188 23189 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SConnectionConfigurationProperties. 23190 func (p *P2SConnectionConfigurationProperties) UnmarshalJSON(data []byte) error { 23191 var rawMsg map[string]json.RawMessage 23192 if err := json.Unmarshal(data, &rawMsg); err != nil { 23193 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23194 } 23195 for key, val := range rawMsg { 23196 var err error 23197 switch key { 23198 case "configurationPolicyGroupAssociations": 23199 err = unpopulate(val, "ConfigurationPolicyGroupAssociations", &p.ConfigurationPolicyGroupAssociations) 23200 delete(rawMsg, key) 23201 case "enableInternetSecurity": 23202 err = unpopulate(val, "EnableInternetSecurity", &p.EnableInternetSecurity) 23203 delete(rawMsg, key) 23204 case "previousConfigurationPolicyGroupAssociations": 23205 err = unpopulate(val, "PreviousConfigurationPolicyGroupAssociations", &p.PreviousConfigurationPolicyGroupAssociations) 23206 delete(rawMsg, key) 23207 case "provisioningState": 23208 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 23209 delete(rawMsg, key) 23210 case "routingConfiguration": 23211 err = unpopulate(val, "RoutingConfiguration", &p.RoutingConfiguration) 23212 delete(rawMsg, key) 23213 case "vpnClientAddressPool": 23214 err = unpopulate(val, "VPNClientAddressPool", &p.VPNClientAddressPool) 23215 delete(rawMsg, key) 23216 } 23217 if err != nil { 23218 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23219 } 23220 } 23221 return nil 23222 } 23223 23224 // MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionHealth. 23225 func (p P2SVPNConnectionHealth) MarshalJSON() ([]byte, error) { 23226 objectMap := make(map[string]any) 23227 populate(objectMap, "sasUrl", p.SasURL) 23228 return json.Marshal(objectMap) 23229 } 23230 23231 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SVPNConnectionHealth. 23232 func (p *P2SVPNConnectionHealth) UnmarshalJSON(data []byte) error { 23233 var rawMsg map[string]json.RawMessage 23234 if err := json.Unmarshal(data, &rawMsg); err != nil { 23235 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23236 } 23237 for key, val := range rawMsg { 23238 var err error 23239 switch key { 23240 case "sasUrl": 23241 err = unpopulate(val, "SasURL", &p.SasURL) 23242 delete(rawMsg, key) 23243 } 23244 if err != nil { 23245 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23246 } 23247 } 23248 return nil 23249 } 23250 23251 // MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionHealthRequest. 23252 func (p P2SVPNConnectionHealthRequest) MarshalJSON() ([]byte, error) { 23253 objectMap := make(map[string]any) 23254 populate(objectMap, "outputBlobSasUrl", p.OutputBlobSasURL) 23255 populate(objectMap, "vpnUserNamesFilter", p.VPNUserNamesFilter) 23256 return json.Marshal(objectMap) 23257 } 23258 23259 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SVPNConnectionHealthRequest. 23260 func (p *P2SVPNConnectionHealthRequest) UnmarshalJSON(data []byte) error { 23261 var rawMsg map[string]json.RawMessage 23262 if err := json.Unmarshal(data, &rawMsg); err != nil { 23263 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23264 } 23265 for key, val := range rawMsg { 23266 var err error 23267 switch key { 23268 case "outputBlobSasUrl": 23269 err = unpopulate(val, "OutputBlobSasURL", &p.OutputBlobSasURL) 23270 delete(rawMsg, key) 23271 case "vpnUserNamesFilter": 23272 err = unpopulate(val, "VPNUserNamesFilter", &p.VPNUserNamesFilter) 23273 delete(rawMsg, key) 23274 } 23275 if err != nil { 23276 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23277 } 23278 } 23279 return nil 23280 } 23281 23282 // MarshalJSON implements the json.Marshaller interface for type P2SVPNConnectionRequest. 23283 func (p P2SVPNConnectionRequest) MarshalJSON() ([]byte, error) { 23284 objectMap := make(map[string]any) 23285 populate(objectMap, "vpnConnectionIds", p.VPNConnectionIDs) 23286 return json.Marshal(objectMap) 23287 } 23288 23289 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SVPNConnectionRequest. 23290 func (p *P2SVPNConnectionRequest) UnmarshalJSON(data []byte) error { 23291 var rawMsg map[string]json.RawMessage 23292 if err := json.Unmarshal(data, &rawMsg); err != nil { 23293 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23294 } 23295 for key, val := range rawMsg { 23296 var err error 23297 switch key { 23298 case "vpnConnectionIds": 23299 err = unpopulate(val, "VPNConnectionIDs", &p.VPNConnectionIDs) 23300 delete(rawMsg, key) 23301 } 23302 if err != nil { 23303 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23304 } 23305 } 23306 return nil 23307 } 23308 23309 // MarshalJSON implements the json.Marshaller interface for type P2SVPNGateway. 23310 func (p P2SVPNGateway) MarshalJSON() ([]byte, error) { 23311 objectMap := make(map[string]any) 23312 populate(objectMap, "etag", p.Etag) 23313 populate(objectMap, "id", p.ID) 23314 populate(objectMap, "location", p.Location) 23315 populate(objectMap, "name", p.Name) 23316 populate(objectMap, "properties", p.Properties) 23317 populate(objectMap, "tags", p.Tags) 23318 populate(objectMap, "type", p.Type) 23319 return json.Marshal(objectMap) 23320 } 23321 23322 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SVPNGateway. 23323 func (p *P2SVPNGateway) UnmarshalJSON(data []byte) error { 23324 var rawMsg map[string]json.RawMessage 23325 if err := json.Unmarshal(data, &rawMsg); err != nil { 23326 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23327 } 23328 for key, val := range rawMsg { 23329 var err error 23330 switch key { 23331 case "etag": 23332 err = unpopulate(val, "Etag", &p.Etag) 23333 delete(rawMsg, key) 23334 case "id": 23335 err = unpopulate(val, "ID", &p.ID) 23336 delete(rawMsg, key) 23337 case "location": 23338 err = unpopulate(val, "Location", &p.Location) 23339 delete(rawMsg, key) 23340 case "name": 23341 err = unpopulate(val, "Name", &p.Name) 23342 delete(rawMsg, key) 23343 case "properties": 23344 err = unpopulate(val, "Properties", &p.Properties) 23345 delete(rawMsg, key) 23346 case "tags": 23347 err = unpopulate(val, "Tags", &p.Tags) 23348 delete(rawMsg, key) 23349 case "type": 23350 err = unpopulate(val, "Type", &p.Type) 23351 delete(rawMsg, key) 23352 } 23353 if err != nil { 23354 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23355 } 23356 } 23357 return nil 23358 } 23359 23360 // MarshalJSON implements the json.Marshaller interface for type P2SVPNGatewayProperties. 23361 func (p P2SVPNGatewayProperties) MarshalJSON() ([]byte, error) { 23362 objectMap := make(map[string]any) 23363 populate(objectMap, "customDnsServers", p.CustomDNSServers) 23364 populate(objectMap, "isRoutingPreferenceInternet", p.IsRoutingPreferenceInternet) 23365 populate(objectMap, "p2SConnectionConfigurations", p.P2SConnectionConfigurations) 23366 populate(objectMap, "provisioningState", p.ProvisioningState) 23367 populate(objectMap, "vpnClientConnectionHealth", p.VPNClientConnectionHealth) 23368 populate(objectMap, "vpnGatewayScaleUnit", p.VPNGatewayScaleUnit) 23369 populate(objectMap, "vpnServerConfiguration", p.VPNServerConfiguration) 23370 populate(objectMap, "virtualHub", p.VirtualHub) 23371 return json.Marshal(objectMap) 23372 } 23373 23374 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SVPNGatewayProperties. 23375 func (p *P2SVPNGatewayProperties) UnmarshalJSON(data []byte) error { 23376 var rawMsg map[string]json.RawMessage 23377 if err := json.Unmarshal(data, &rawMsg); err != nil { 23378 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23379 } 23380 for key, val := range rawMsg { 23381 var err error 23382 switch key { 23383 case "customDnsServers": 23384 err = unpopulate(val, "CustomDNSServers", &p.CustomDNSServers) 23385 delete(rawMsg, key) 23386 case "isRoutingPreferenceInternet": 23387 err = unpopulate(val, "IsRoutingPreferenceInternet", &p.IsRoutingPreferenceInternet) 23388 delete(rawMsg, key) 23389 case "p2SConnectionConfigurations": 23390 err = unpopulate(val, "P2SConnectionConfigurations", &p.P2SConnectionConfigurations) 23391 delete(rawMsg, key) 23392 case "provisioningState": 23393 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 23394 delete(rawMsg, key) 23395 case "vpnClientConnectionHealth": 23396 err = unpopulate(val, "VPNClientConnectionHealth", &p.VPNClientConnectionHealth) 23397 delete(rawMsg, key) 23398 case "vpnGatewayScaleUnit": 23399 err = unpopulate(val, "VPNGatewayScaleUnit", &p.VPNGatewayScaleUnit) 23400 delete(rawMsg, key) 23401 case "vpnServerConfiguration": 23402 err = unpopulate(val, "VPNServerConfiguration", &p.VPNServerConfiguration) 23403 delete(rawMsg, key) 23404 case "virtualHub": 23405 err = unpopulate(val, "VirtualHub", &p.VirtualHub) 23406 delete(rawMsg, key) 23407 } 23408 if err != nil { 23409 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23410 } 23411 } 23412 return nil 23413 } 23414 23415 // MarshalJSON implements the json.Marshaller interface for type P2SVPNProfileParameters. 23416 func (p P2SVPNProfileParameters) MarshalJSON() ([]byte, error) { 23417 objectMap := make(map[string]any) 23418 populate(objectMap, "authenticationMethod", p.AuthenticationMethod) 23419 return json.Marshal(objectMap) 23420 } 23421 23422 // UnmarshalJSON implements the json.Unmarshaller interface for type P2SVPNProfileParameters. 23423 func (p *P2SVPNProfileParameters) UnmarshalJSON(data []byte) error { 23424 var rawMsg map[string]json.RawMessage 23425 if err := json.Unmarshal(data, &rawMsg); err != nil { 23426 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23427 } 23428 for key, val := range rawMsg { 23429 var err error 23430 switch key { 23431 case "authenticationMethod": 23432 err = unpopulate(val, "AuthenticationMethod", &p.AuthenticationMethod) 23433 delete(rawMsg, key) 23434 } 23435 if err != nil { 23436 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23437 } 23438 } 23439 return nil 23440 } 23441 23442 // MarshalJSON implements the json.Marshaller interface for type PacketCapture. 23443 func (p PacketCapture) MarshalJSON() ([]byte, error) { 23444 objectMap := make(map[string]any) 23445 populate(objectMap, "properties", p.Properties) 23446 return json.Marshal(objectMap) 23447 } 23448 23449 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCapture. 23450 func (p *PacketCapture) UnmarshalJSON(data []byte) error { 23451 var rawMsg map[string]json.RawMessage 23452 if err := json.Unmarshal(data, &rawMsg); err != nil { 23453 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23454 } 23455 for key, val := range rawMsg { 23456 var err error 23457 switch key { 23458 case "properties": 23459 err = unpopulate(val, "Properties", &p.Properties) 23460 delete(rawMsg, key) 23461 } 23462 if err != nil { 23463 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23464 } 23465 } 23466 return nil 23467 } 23468 23469 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureFilter. 23470 func (p PacketCaptureFilter) MarshalJSON() ([]byte, error) { 23471 objectMap := make(map[string]any) 23472 populate(objectMap, "localIPAddress", p.LocalIPAddress) 23473 populate(objectMap, "localPort", p.LocalPort) 23474 populate(objectMap, "protocol", p.Protocol) 23475 populate(objectMap, "remoteIPAddress", p.RemoteIPAddress) 23476 populate(objectMap, "remotePort", p.RemotePort) 23477 return json.Marshal(objectMap) 23478 } 23479 23480 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureFilter. 23481 func (p *PacketCaptureFilter) UnmarshalJSON(data []byte) error { 23482 var rawMsg map[string]json.RawMessage 23483 if err := json.Unmarshal(data, &rawMsg); err != nil { 23484 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23485 } 23486 for key, val := range rawMsg { 23487 var err error 23488 switch key { 23489 case "localIPAddress": 23490 err = unpopulate(val, "LocalIPAddress", &p.LocalIPAddress) 23491 delete(rawMsg, key) 23492 case "localPort": 23493 err = unpopulate(val, "LocalPort", &p.LocalPort) 23494 delete(rawMsg, key) 23495 case "protocol": 23496 err = unpopulate(val, "Protocol", &p.Protocol) 23497 delete(rawMsg, key) 23498 case "remoteIPAddress": 23499 err = unpopulate(val, "RemoteIPAddress", &p.RemoteIPAddress) 23500 delete(rawMsg, key) 23501 case "remotePort": 23502 err = unpopulate(val, "RemotePort", &p.RemotePort) 23503 delete(rawMsg, key) 23504 } 23505 if err != nil { 23506 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23507 } 23508 } 23509 return nil 23510 } 23511 23512 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureListResult. 23513 func (p PacketCaptureListResult) MarshalJSON() ([]byte, error) { 23514 objectMap := make(map[string]any) 23515 populate(objectMap, "value", p.Value) 23516 return json.Marshal(objectMap) 23517 } 23518 23519 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureListResult. 23520 func (p *PacketCaptureListResult) UnmarshalJSON(data []byte) error { 23521 var rawMsg map[string]json.RawMessage 23522 if err := json.Unmarshal(data, &rawMsg); err != nil { 23523 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23524 } 23525 for key, val := range rawMsg { 23526 var err error 23527 switch key { 23528 case "value": 23529 err = unpopulate(val, "Value", &p.Value) 23530 delete(rawMsg, key) 23531 } 23532 if err != nil { 23533 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23534 } 23535 } 23536 return nil 23537 } 23538 23539 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureMachineScope. 23540 func (p PacketCaptureMachineScope) MarshalJSON() ([]byte, error) { 23541 objectMap := make(map[string]any) 23542 populate(objectMap, "exclude", p.Exclude) 23543 populate(objectMap, "include", p.Include) 23544 return json.Marshal(objectMap) 23545 } 23546 23547 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureMachineScope. 23548 func (p *PacketCaptureMachineScope) UnmarshalJSON(data []byte) error { 23549 var rawMsg map[string]json.RawMessage 23550 if err := json.Unmarshal(data, &rawMsg); err != nil { 23551 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23552 } 23553 for key, val := range rawMsg { 23554 var err error 23555 switch key { 23556 case "exclude": 23557 err = unpopulate(val, "Exclude", &p.Exclude) 23558 delete(rawMsg, key) 23559 case "include": 23560 err = unpopulate(val, "Include", &p.Include) 23561 delete(rawMsg, key) 23562 } 23563 if err != nil { 23564 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23565 } 23566 } 23567 return nil 23568 } 23569 23570 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureParameters. 23571 func (p PacketCaptureParameters) MarshalJSON() ([]byte, error) { 23572 objectMap := make(map[string]any) 23573 populate(objectMap, "bytesToCapturePerPacket", p.BytesToCapturePerPacket) 23574 populate(objectMap, "captureSettings", p.CaptureSettings) 23575 populate(objectMap, "continuousCapture", p.ContinuousCapture) 23576 populate(objectMap, "filters", p.Filters) 23577 populate(objectMap, "scope", p.Scope) 23578 populate(objectMap, "storageLocation", p.StorageLocation) 23579 populate(objectMap, "target", p.Target) 23580 populate(objectMap, "targetType", p.TargetType) 23581 populate(objectMap, "timeLimitInSeconds", p.TimeLimitInSeconds) 23582 populate(objectMap, "totalBytesPerSession", p.TotalBytesPerSession) 23583 return json.Marshal(objectMap) 23584 } 23585 23586 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureParameters. 23587 func (p *PacketCaptureParameters) UnmarshalJSON(data []byte) error { 23588 var rawMsg map[string]json.RawMessage 23589 if err := json.Unmarshal(data, &rawMsg); err != nil { 23590 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23591 } 23592 for key, val := range rawMsg { 23593 var err error 23594 switch key { 23595 case "bytesToCapturePerPacket": 23596 err = unpopulate(val, "BytesToCapturePerPacket", &p.BytesToCapturePerPacket) 23597 delete(rawMsg, key) 23598 case "captureSettings": 23599 err = unpopulate(val, "CaptureSettings", &p.CaptureSettings) 23600 delete(rawMsg, key) 23601 case "continuousCapture": 23602 err = unpopulate(val, "ContinuousCapture", &p.ContinuousCapture) 23603 delete(rawMsg, key) 23604 case "filters": 23605 err = unpopulate(val, "Filters", &p.Filters) 23606 delete(rawMsg, key) 23607 case "scope": 23608 err = unpopulate(val, "Scope", &p.Scope) 23609 delete(rawMsg, key) 23610 case "storageLocation": 23611 err = unpopulate(val, "StorageLocation", &p.StorageLocation) 23612 delete(rawMsg, key) 23613 case "target": 23614 err = unpopulate(val, "Target", &p.Target) 23615 delete(rawMsg, key) 23616 case "targetType": 23617 err = unpopulate(val, "TargetType", &p.TargetType) 23618 delete(rawMsg, key) 23619 case "timeLimitInSeconds": 23620 err = unpopulate(val, "TimeLimitInSeconds", &p.TimeLimitInSeconds) 23621 delete(rawMsg, key) 23622 case "totalBytesPerSession": 23623 err = unpopulate(val, "TotalBytesPerSession", &p.TotalBytesPerSession) 23624 delete(rawMsg, key) 23625 } 23626 if err != nil { 23627 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23628 } 23629 } 23630 return nil 23631 } 23632 23633 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureQueryStatusResult. 23634 func (p PacketCaptureQueryStatusResult) MarshalJSON() ([]byte, error) { 23635 objectMap := make(map[string]any) 23636 populateDateTimeRFC3339(objectMap, "captureStartTime", p.CaptureStartTime) 23637 populate(objectMap, "id", p.ID) 23638 populate(objectMap, "name", p.Name) 23639 populate(objectMap, "packetCaptureError", p.PacketCaptureError) 23640 populate(objectMap, "packetCaptureStatus", p.PacketCaptureStatus) 23641 populate(objectMap, "stopReason", p.StopReason) 23642 return json.Marshal(objectMap) 23643 } 23644 23645 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureQueryStatusResult. 23646 func (p *PacketCaptureQueryStatusResult) UnmarshalJSON(data []byte) error { 23647 var rawMsg map[string]json.RawMessage 23648 if err := json.Unmarshal(data, &rawMsg); err != nil { 23649 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23650 } 23651 for key, val := range rawMsg { 23652 var err error 23653 switch key { 23654 case "captureStartTime": 23655 err = unpopulateDateTimeRFC3339(val, "CaptureStartTime", &p.CaptureStartTime) 23656 delete(rawMsg, key) 23657 case "id": 23658 err = unpopulate(val, "ID", &p.ID) 23659 delete(rawMsg, key) 23660 case "name": 23661 err = unpopulate(val, "Name", &p.Name) 23662 delete(rawMsg, key) 23663 case "packetCaptureError": 23664 err = unpopulate(val, "PacketCaptureError", &p.PacketCaptureError) 23665 delete(rawMsg, key) 23666 case "packetCaptureStatus": 23667 err = unpopulate(val, "PacketCaptureStatus", &p.PacketCaptureStatus) 23668 delete(rawMsg, key) 23669 case "stopReason": 23670 err = unpopulate(val, "StopReason", &p.StopReason) 23671 delete(rawMsg, key) 23672 } 23673 if err != nil { 23674 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23675 } 23676 } 23677 return nil 23678 } 23679 23680 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureResult. 23681 func (p PacketCaptureResult) MarshalJSON() ([]byte, error) { 23682 objectMap := make(map[string]any) 23683 populate(objectMap, "etag", p.Etag) 23684 populate(objectMap, "id", p.ID) 23685 populate(objectMap, "name", p.Name) 23686 populate(objectMap, "properties", p.Properties) 23687 return json.Marshal(objectMap) 23688 } 23689 23690 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureResult. 23691 func (p *PacketCaptureResult) UnmarshalJSON(data []byte) error { 23692 var rawMsg map[string]json.RawMessage 23693 if err := json.Unmarshal(data, &rawMsg); err != nil { 23694 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23695 } 23696 for key, val := range rawMsg { 23697 var err error 23698 switch key { 23699 case "etag": 23700 err = unpopulate(val, "Etag", &p.Etag) 23701 delete(rawMsg, key) 23702 case "id": 23703 err = unpopulate(val, "ID", &p.ID) 23704 delete(rawMsg, key) 23705 case "name": 23706 err = unpopulate(val, "Name", &p.Name) 23707 delete(rawMsg, key) 23708 case "properties": 23709 err = unpopulate(val, "Properties", &p.Properties) 23710 delete(rawMsg, key) 23711 } 23712 if err != nil { 23713 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23714 } 23715 } 23716 return nil 23717 } 23718 23719 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureResultProperties. 23720 func (p PacketCaptureResultProperties) MarshalJSON() ([]byte, error) { 23721 objectMap := make(map[string]any) 23722 populate(objectMap, "bytesToCapturePerPacket", p.BytesToCapturePerPacket) 23723 populate(objectMap, "captureSettings", p.CaptureSettings) 23724 populate(objectMap, "continuousCapture", p.ContinuousCapture) 23725 populate(objectMap, "filters", p.Filters) 23726 populate(objectMap, "provisioningState", p.ProvisioningState) 23727 populate(objectMap, "scope", p.Scope) 23728 populate(objectMap, "storageLocation", p.StorageLocation) 23729 populate(objectMap, "target", p.Target) 23730 populate(objectMap, "targetType", p.TargetType) 23731 populate(objectMap, "timeLimitInSeconds", p.TimeLimitInSeconds) 23732 populate(objectMap, "totalBytesPerSession", p.TotalBytesPerSession) 23733 return json.Marshal(objectMap) 23734 } 23735 23736 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureResultProperties. 23737 func (p *PacketCaptureResultProperties) UnmarshalJSON(data []byte) error { 23738 var rawMsg map[string]json.RawMessage 23739 if err := json.Unmarshal(data, &rawMsg); err != nil { 23740 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23741 } 23742 for key, val := range rawMsg { 23743 var err error 23744 switch key { 23745 case "bytesToCapturePerPacket": 23746 err = unpopulate(val, "BytesToCapturePerPacket", &p.BytesToCapturePerPacket) 23747 delete(rawMsg, key) 23748 case "captureSettings": 23749 err = unpopulate(val, "CaptureSettings", &p.CaptureSettings) 23750 delete(rawMsg, key) 23751 case "continuousCapture": 23752 err = unpopulate(val, "ContinuousCapture", &p.ContinuousCapture) 23753 delete(rawMsg, key) 23754 case "filters": 23755 err = unpopulate(val, "Filters", &p.Filters) 23756 delete(rawMsg, key) 23757 case "provisioningState": 23758 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 23759 delete(rawMsg, key) 23760 case "scope": 23761 err = unpopulate(val, "Scope", &p.Scope) 23762 delete(rawMsg, key) 23763 case "storageLocation": 23764 err = unpopulate(val, "StorageLocation", &p.StorageLocation) 23765 delete(rawMsg, key) 23766 case "target": 23767 err = unpopulate(val, "Target", &p.Target) 23768 delete(rawMsg, key) 23769 case "targetType": 23770 err = unpopulate(val, "TargetType", &p.TargetType) 23771 delete(rawMsg, key) 23772 case "timeLimitInSeconds": 23773 err = unpopulate(val, "TimeLimitInSeconds", &p.TimeLimitInSeconds) 23774 delete(rawMsg, key) 23775 case "totalBytesPerSession": 23776 err = unpopulate(val, "TotalBytesPerSession", &p.TotalBytesPerSession) 23777 delete(rawMsg, key) 23778 } 23779 if err != nil { 23780 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23781 } 23782 } 23783 return nil 23784 } 23785 23786 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureSettings. 23787 func (p PacketCaptureSettings) MarshalJSON() ([]byte, error) { 23788 objectMap := make(map[string]any) 23789 populate(objectMap, "fileCount", p.FileCount) 23790 populate(objectMap, "fileSizeInBytes", p.FileSizeInBytes) 23791 populate(objectMap, "sessionTimeLimitInSeconds", p.SessionTimeLimitInSeconds) 23792 return json.Marshal(objectMap) 23793 } 23794 23795 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureSettings. 23796 func (p *PacketCaptureSettings) UnmarshalJSON(data []byte) error { 23797 var rawMsg map[string]json.RawMessage 23798 if err := json.Unmarshal(data, &rawMsg); err != nil { 23799 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23800 } 23801 for key, val := range rawMsg { 23802 var err error 23803 switch key { 23804 case "fileCount": 23805 err = unpopulate(val, "FileCount", &p.FileCount) 23806 delete(rawMsg, key) 23807 case "fileSizeInBytes": 23808 err = unpopulate(val, "FileSizeInBytes", &p.FileSizeInBytes) 23809 delete(rawMsg, key) 23810 case "sessionTimeLimitInSeconds": 23811 err = unpopulate(val, "SessionTimeLimitInSeconds", &p.SessionTimeLimitInSeconds) 23812 delete(rawMsg, key) 23813 } 23814 if err != nil { 23815 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23816 } 23817 } 23818 return nil 23819 } 23820 23821 // MarshalJSON implements the json.Marshaller interface for type PacketCaptureStorageLocation. 23822 func (p PacketCaptureStorageLocation) MarshalJSON() ([]byte, error) { 23823 objectMap := make(map[string]any) 23824 populate(objectMap, "filePath", p.FilePath) 23825 populate(objectMap, "localPath", p.LocalPath) 23826 populate(objectMap, "storageId", p.StorageID) 23827 populate(objectMap, "storagePath", p.StoragePath) 23828 return json.Marshal(objectMap) 23829 } 23830 23831 // UnmarshalJSON implements the json.Unmarshaller interface for type PacketCaptureStorageLocation. 23832 func (p *PacketCaptureStorageLocation) UnmarshalJSON(data []byte) error { 23833 var rawMsg map[string]json.RawMessage 23834 if err := json.Unmarshal(data, &rawMsg); err != nil { 23835 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23836 } 23837 for key, val := range rawMsg { 23838 var err error 23839 switch key { 23840 case "filePath": 23841 err = unpopulate(val, "FilePath", &p.FilePath) 23842 delete(rawMsg, key) 23843 case "localPath": 23844 err = unpopulate(val, "LocalPath", &p.LocalPath) 23845 delete(rawMsg, key) 23846 case "storageId": 23847 err = unpopulate(val, "StorageID", &p.StorageID) 23848 delete(rawMsg, key) 23849 case "storagePath": 23850 err = unpopulate(val, "StoragePath", &p.StoragePath) 23851 delete(rawMsg, key) 23852 } 23853 if err != nil { 23854 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23855 } 23856 } 23857 return nil 23858 } 23859 23860 // MarshalJSON implements the json.Marshaller interface for type Parameter. 23861 func (p Parameter) MarshalJSON() ([]byte, error) { 23862 objectMap := make(map[string]any) 23863 populate(objectMap, "asPath", p.AsPath) 23864 populate(objectMap, "community", p.Community) 23865 populate(objectMap, "routePrefix", p.RoutePrefix) 23866 return json.Marshal(objectMap) 23867 } 23868 23869 // UnmarshalJSON implements the json.Unmarshaller interface for type Parameter. 23870 func (p *Parameter) UnmarshalJSON(data []byte) error { 23871 var rawMsg map[string]json.RawMessage 23872 if err := json.Unmarshal(data, &rawMsg); err != nil { 23873 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23874 } 23875 for key, val := range rawMsg { 23876 var err error 23877 switch key { 23878 case "asPath": 23879 err = unpopulate(val, "AsPath", &p.AsPath) 23880 delete(rawMsg, key) 23881 case "community": 23882 err = unpopulate(val, "Community", &p.Community) 23883 delete(rawMsg, key) 23884 case "routePrefix": 23885 err = unpopulate(val, "RoutePrefix", &p.RoutePrefix) 23886 delete(rawMsg, key) 23887 } 23888 if err != nil { 23889 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23890 } 23891 } 23892 return nil 23893 } 23894 23895 // MarshalJSON implements the json.Marshaller interface for type PartnerManagedResourceProperties. 23896 func (p PartnerManagedResourceProperties) MarshalJSON() ([]byte, error) { 23897 objectMap := make(map[string]any) 23898 populate(objectMap, "id", p.ID) 23899 populate(objectMap, "internalLoadBalancerId", p.InternalLoadBalancerID) 23900 populate(objectMap, "standardLoadBalancerId", p.StandardLoadBalancerID) 23901 return json.Marshal(objectMap) 23902 } 23903 23904 // UnmarshalJSON implements the json.Unmarshaller interface for type PartnerManagedResourceProperties. 23905 func (p *PartnerManagedResourceProperties) UnmarshalJSON(data []byte) error { 23906 var rawMsg map[string]json.RawMessage 23907 if err := json.Unmarshal(data, &rawMsg); err != nil { 23908 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23909 } 23910 for key, val := range rawMsg { 23911 var err error 23912 switch key { 23913 case "id": 23914 err = unpopulate(val, "ID", &p.ID) 23915 delete(rawMsg, key) 23916 case "internalLoadBalancerId": 23917 err = unpopulate(val, "InternalLoadBalancerID", &p.InternalLoadBalancerID) 23918 delete(rawMsg, key) 23919 case "standardLoadBalancerId": 23920 err = unpopulate(val, "StandardLoadBalancerID", &p.StandardLoadBalancerID) 23921 delete(rawMsg, key) 23922 } 23923 if err != nil { 23924 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23925 } 23926 } 23927 return nil 23928 } 23929 23930 // MarshalJSON implements the json.Marshaller interface for type PatchObject. 23931 func (p PatchObject) MarshalJSON() ([]byte, error) { 23932 objectMap := make(map[string]any) 23933 populate(objectMap, "tags", p.Tags) 23934 return json.Marshal(objectMap) 23935 } 23936 23937 // UnmarshalJSON implements the json.Unmarshaller interface for type PatchObject. 23938 func (p *PatchObject) UnmarshalJSON(data []byte) error { 23939 var rawMsg map[string]json.RawMessage 23940 if err := json.Unmarshal(data, &rawMsg); err != nil { 23941 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23942 } 23943 for key, val := range rawMsg { 23944 var err error 23945 switch key { 23946 case "tags": 23947 err = unpopulate(val, "Tags", &p.Tags) 23948 delete(rawMsg, key) 23949 } 23950 if err != nil { 23951 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23952 } 23953 } 23954 return nil 23955 } 23956 23957 // MarshalJSON implements the json.Marshaller interface for type PatchRouteFilter. 23958 func (p PatchRouteFilter) MarshalJSON() ([]byte, error) { 23959 objectMap := make(map[string]any) 23960 populate(objectMap, "etag", p.Etag) 23961 populate(objectMap, "id", p.ID) 23962 populate(objectMap, "name", p.Name) 23963 populate(objectMap, "properties", p.Properties) 23964 populate(objectMap, "tags", p.Tags) 23965 populate(objectMap, "type", p.Type) 23966 return json.Marshal(objectMap) 23967 } 23968 23969 // UnmarshalJSON implements the json.Unmarshaller interface for type PatchRouteFilter. 23970 func (p *PatchRouteFilter) UnmarshalJSON(data []byte) error { 23971 var rawMsg map[string]json.RawMessage 23972 if err := json.Unmarshal(data, &rawMsg); err != nil { 23973 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23974 } 23975 for key, val := range rawMsg { 23976 var err error 23977 switch key { 23978 case "etag": 23979 err = unpopulate(val, "Etag", &p.Etag) 23980 delete(rawMsg, key) 23981 case "id": 23982 err = unpopulate(val, "ID", &p.ID) 23983 delete(rawMsg, key) 23984 case "name": 23985 err = unpopulate(val, "Name", &p.Name) 23986 delete(rawMsg, key) 23987 case "properties": 23988 err = unpopulate(val, "Properties", &p.Properties) 23989 delete(rawMsg, key) 23990 case "tags": 23991 err = unpopulate(val, "Tags", &p.Tags) 23992 delete(rawMsg, key) 23993 case "type": 23994 err = unpopulate(val, "Type", &p.Type) 23995 delete(rawMsg, key) 23996 } 23997 if err != nil { 23998 return fmt.Errorf("unmarshalling type %T: %v", p, err) 23999 } 24000 } 24001 return nil 24002 } 24003 24004 // MarshalJSON implements the json.Marshaller interface for type PatchRouteFilterRule. 24005 func (p PatchRouteFilterRule) MarshalJSON() ([]byte, error) { 24006 objectMap := make(map[string]any) 24007 populate(objectMap, "etag", p.Etag) 24008 populate(objectMap, "id", p.ID) 24009 populate(objectMap, "name", p.Name) 24010 populate(objectMap, "properties", p.Properties) 24011 return json.Marshal(objectMap) 24012 } 24013 24014 // UnmarshalJSON implements the json.Unmarshaller interface for type PatchRouteFilterRule. 24015 func (p *PatchRouteFilterRule) UnmarshalJSON(data []byte) error { 24016 var rawMsg map[string]json.RawMessage 24017 if err := json.Unmarshal(data, &rawMsg); err != nil { 24018 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24019 } 24020 for key, val := range rawMsg { 24021 var err error 24022 switch key { 24023 case "etag": 24024 err = unpopulate(val, "Etag", &p.Etag) 24025 delete(rawMsg, key) 24026 case "id": 24027 err = unpopulate(val, "ID", &p.ID) 24028 delete(rawMsg, key) 24029 case "name": 24030 err = unpopulate(val, "Name", &p.Name) 24031 delete(rawMsg, key) 24032 case "properties": 24033 err = unpopulate(val, "Properties", &p.Properties) 24034 delete(rawMsg, key) 24035 } 24036 if err != nil { 24037 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24038 } 24039 } 24040 return nil 24041 } 24042 24043 // MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnection. 24044 func (p PeerExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { 24045 objectMap := make(map[string]any) 24046 populate(objectMap, "etag", p.Etag) 24047 populate(objectMap, "id", p.ID) 24048 populate(objectMap, "name", p.Name) 24049 populate(objectMap, "properties", p.Properties) 24050 populate(objectMap, "type", p.Type) 24051 return json.Marshal(objectMap) 24052 } 24053 24054 // UnmarshalJSON implements the json.Unmarshaller interface for type PeerExpressRouteCircuitConnection. 24055 func (p *PeerExpressRouteCircuitConnection) UnmarshalJSON(data []byte) error { 24056 var rawMsg map[string]json.RawMessage 24057 if err := json.Unmarshal(data, &rawMsg); err != nil { 24058 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24059 } 24060 for key, val := range rawMsg { 24061 var err error 24062 switch key { 24063 case "etag": 24064 err = unpopulate(val, "Etag", &p.Etag) 24065 delete(rawMsg, key) 24066 case "id": 24067 err = unpopulate(val, "ID", &p.ID) 24068 delete(rawMsg, key) 24069 case "name": 24070 err = unpopulate(val, "Name", &p.Name) 24071 delete(rawMsg, key) 24072 case "properties": 24073 err = unpopulate(val, "Properties", &p.Properties) 24074 delete(rawMsg, key) 24075 case "type": 24076 err = unpopulate(val, "Type", &p.Type) 24077 delete(rawMsg, key) 24078 } 24079 if err != nil { 24080 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24081 } 24082 } 24083 return nil 24084 } 24085 24086 // MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnectionListResult. 24087 func (p PeerExpressRouteCircuitConnectionListResult) MarshalJSON() ([]byte, error) { 24088 objectMap := make(map[string]any) 24089 populate(objectMap, "nextLink", p.NextLink) 24090 populate(objectMap, "value", p.Value) 24091 return json.Marshal(objectMap) 24092 } 24093 24094 // UnmarshalJSON implements the json.Unmarshaller interface for type PeerExpressRouteCircuitConnectionListResult. 24095 func (p *PeerExpressRouteCircuitConnectionListResult) UnmarshalJSON(data []byte) error { 24096 var rawMsg map[string]json.RawMessage 24097 if err := json.Unmarshal(data, &rawMsg); err != nil { 24098 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24099 } 24100 for key, val := range rawMsg { 24101 var err error 24102 switch key { 24103 case "nextLink": 24104 err = unpopulate(val, "NextLink", &p.NextLink) 24105 delete(rawMsg, key) 24106 case "value": 24107 err = unpopulate(val, "Value", &p.Value) 24108 delete(rawMsg, key) 24109 } 24110 if err != nil { 24111 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24112 } 24113 } 24114 return nil 24115 } 24116 24117 // MarshalJSON implements the json.Marshaller interface for type PeerExpressRouteCircuitConnectionPropertiesFormat. 24118 func (p PeerExpressRouteCircuitConnectionPropertiesFormat) MarshalJSON() ([]byte, error) { 24119 objectMap := make(map[string]any) 24120 populate(objectMap, "addressPrefix", p.AddressPrefix) 24121 populate(objectMap, "authResourceGuid", p.AuthResourceGUID) 24122 populate(objectMap, "circuitConnectionStatus", p.CircuitConnectionStatus) 24123 populate(objectMap, "connectionName", p.ConnectionName) 24124 populate(objectMap, "expressRouteCircuitPeering", p.ExpressRouteCircuitPeering) 24125 populate(objectMap, "peerExpressRouteCircuitPeering", p.PeerExpressRouteCircuitPeering) 24126 populate(objectMap, "provisioningState", p.ProvisioningState) 24127 return json.Marshal(objectMap) 24128 } 24129 24130 // UnmarshalJSON implements the json.Unmarshaller interface for type PeerExpressRouteCircuitConnectionPropertiesFormat. 24131 func (p *PeerExpressRouteCircuitConnectionPropertiesFormat) UnmarshalJSON(data []byte) error { 24132 var rawMsg map[string]json.RawMessage 24133 if err := json.Unmarshal(data, &rawMsg); err != nil { 24134 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24135 } 24136 for key, val := range rawMsg { 24137 var err error 24138 switch key { 24139 case "addressPrefix": 24140 err = unpopulate(val, "AddressPrefix", &p.AddressPrefix) 24141 delete(rawMsg, key) 24142 case "authResourceGuid": 24143 err = unpopulate(val, "AuthResourceGUID", &p.AuthResourceGUID) 24144 delete(rawMsg, key) 24145 case "circuitConnectionStatus": 24146 err = unpopulate(val, "CircuitConnectionStatus", &p.CircuitConnectionStatus) 24147 delete(rawMsg, key) 24148 case "connectionName": 24149 err = unpopulate(val, "ConnectionName", &p.ConnectionName) 24150 delete(rawMsg, key) 24151 case "expressRouteCircuitPeering": 24152 err = unpopulate(val, "ExpressRouteCircuitPeering", &p.ExpressRouteCircuitPeering) 24153 delete(rawMsg, key) 24154 case "peerExpressRouteCircuitPeering": 24155 err = unpopulate(val, "PeerExpressRouteCircuitPeering", &p.PeerExpressRouteCircuitPeering) 24156 delete(rawMsg, key) 24157 case "provisioningState": 24158 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 24159 delete(rawMsg, key) 24160 } 24161 if err != nil { 24162 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24163 } 24164 } 24165 return nil 24166 } 24167 24168 // MarshalJSON implements the json.Marshaller interface for type PeerRoute. 24169 func (p PeerRoute) MarshalJSON() ([]byte, error) { 24170 objectMap := make(map[string]any) 24171 populate(objectMap, "asPath", p.AsPath) 24172 populate(objectMap, "localAddress", p.LocalAddress) 24173 populate(objectMap, "network", p.Network) 24174 populate(objectMap, "nextHop", p.NextHop) 24175 populate(objectMap, "origin", p.Origin) 24176 populate(objectMap, "sourcePeer", p.SourcePeer) 24177 populate(objectMap, "weight", p.Weight) 24178 return json.Marshal(objectMap) 24179 } 24180 24181 // UnmarshalJSON implements the json.Unmarshaller interface for type PeerRoute. 24182 func (p *PeerRoute) UnmarshalJSON(data []byte) error { 24183 var rawMsg map[string]json.RawMessage 24184 if err := json.Unmarshal(data, &rawMsg); err != nil { 24185 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24186 } 24187 for key, val := range rawMsg { 24188 var err error 24189 switch key { 24190 case "asPath": 24191 err = unpopulate(val, "AsPath", &p.AsPath) 24192 delete(rawMsg, key) 24193 case "localAddress": 24194 err = unpopulate(val, "LocalAddress", &p.LocalAddress) 24195 delete(rawMsg, key) 24196 case "network": 24197 err = unpopulate(val, "Network", &p.Network) 24198 delete(rawMsg, key) 24199 case "nextHop": 24200 err = unpopulate(val, "NextHop", &p.NextHop) 24201 delete(rawMsg, key) 24202 case "origin": 24203 err = unpopulate(val, "Origin", &p.Origin) 24204 delete(rawMsg, key) 24205 case "sourcePeer": 24206 err = unpopulate(val, "SourcePeer", &p.SourcePeer) 24207 delete(rawMsg, key) 24208 case "weight": 24209 err = unpopulate(val, "Weight", &p.Weight) 24210 delete(rawMsg, key) 24211 } 24212 if err != nil { 24213 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24214 } 24215 } 24216 return nil 24217 } 24218 24219 // MarshalJSON implements the json.Marshaller interface for type PolicySettings. 24220 func (p PolicySettings) MarshalJSON() ([]byte, error) { 24221 objectMap := make(map[string]any) 24222 populate(objectMap, "customBlockResponseBody", p.CustomBlockResponseBody) 24223 populate(objectMap, "customBlockResponseStatusCode", p.CustomBlockResponseStatusCode) 24224 populate(objectMap, "fileUploadEnforcement", p.FileUploadEnforcement) 24225 populate(objectMap, "fileUploadLimitInMb", p.FileUploadLimitInMb) 24226 populate(objectMap, "jsChallengeCookieExpirationInMins", p.JsChallengeCookieExpirationInMins) 24227 populate(objectMap, "logScrubbing", p.LogScrubbing) 24228 populate(objectMap, "maxRequestBodySizeInKb", p.MaxRequestBodySizeInKb) 24229 populate(objectMap, "mode", p.Mode) 24230 populate(objectMap, "requestBodyCheck", p.RequestBodyCheck) 24231 populate(objectMap, "requestBodyEnforcement", p.RequestBodyEnforcement) 24232 populate(objectMap, "requestBodyInspectLimitInKB", p.RequestBodyInspectLimitInKB) 24233 populate(objectMap, "state", p.State) 24234 return json.Marshal(objectMap) 24235 } 24236 24237 // UnmarshalJSON implements the json.Unmarshaller interface for type PolicySettings. 24238 func (p *PolicySettings) UnmarshalJSON(data []byte) error { 24239 var rawMsg map[string]json.RawMessage 24240 if err := json.Unmarshal(data, &rawMsg); err != nil { 24241 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24242 } 24243 for key, val := range rawMsg { 24244 var err error 24245 switch key { 24246 case "customBlockResponseBody": 24247 err = unpopulate(val, "CustomBlockResponseBody", &p.CustomBlockResponseBody) 24248 delete(rawMsg, key) 24249 case "customBlockResponseStatusCode": 24250 err = unpopulate(val, "CustomBlockResponseStatusCode", &p.CustomBlockResponseStatusCode) 24251 delete(rawMsg, key) 24252 case "fileUploadEnforcement": 24253 err = unpopulate(val, "FileUploadEnforcement", &p.FileUploadEnforcement) 24254 delete(rawMsg, key) 24255 case "fileUploadLimitInMb": 24256 err = unpopulate(val, "FileUploadLimitInMb", &p.FileUploadLimitInMb) 24257 delete(rawMsg, key) 24258 case "jsChallengeCookieExpirationInMins": 24259 err = unpopulate(val, "JsChallengeCookieExpirationInMins", &p.JsChallengeCookieExpirationInMins) 24260 delete(rawMsg, key) 24261 case "logScrubbing": 24262 err = unpopulate(val, "LogScrubbing", &p.LogScrubbing) 24263 delete(rawMsg, key) 24264 case "maxRequestBodySizeInKb": 24265 err = unpopulate(val, "MaxRequestBodySizeInKb", &p.MaxRequestBodySizeInKb) 24266 delete(rawMsg, key) 24267 case "mode": 24268 err = unpopulate(val, "Mode", &p.Mode) 24269 delete(rawMsg, key) 24270 case "requestBodyCheck": 24271 err = unpopulate(val, "RequestBodyCheck", &p.RequestBodyCheck) 24272 delete(rawMsg, key) 24273 case "requestBodyEnforcement": 24274 err = unpopulate(val, "RequestBodyEnforcement", &p.RequestBodyEnforcement) 24275 delete(rawMsg, key) 24276 case "requestBodyInspectLimitInKB": 24277 err = unpopulate(val, "RequestBodyInspectLimitInKB", &p.RequestBodyInspectLimitInKB) 24278 delete(rawMsg, key) 24279 case "state": 24280 err = unpopulate(val, "State", &p.State) 24281 delete(rawMsg, key) 24282 } 24283 if err != nil { 24284 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24285 } 24286 } 24287 return nil 24288 } 24289 24290 // MarshalJSON implements the json.Marshaller interface for type PolicySettingsLogScrubbing. 24291 func (p PolicySettingsLogScrubbing) MarshalJSON() ([]byte, error) { 24292 objectMap := make(map[string]any) 24293 populate(objectMap, "scrubbingRules", p.ScrubbingRules) 24294 populate(objectMap, "state", p.State) 24295 return json.Marshal(objectMap) 24296 } 24297 24298 // UnmarshalJSON implements the json.Unmarshaller interface for type PolicySettingsLogScrubbing. 24299 func (p *PolicySettingsLogScrubbing) UnmarshalJSON(data []byte) error { 24300 var rawMsg map[string]json.RawMessage 24301 if err := json.Unmarshal(data, &rawMsg); err != nil { 24302 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24303 } 24304 for key, val := range rawMsg { 24305 var err error 24306 switch key { 24307 case "scrubbingRules": 24308 err = unpopulate(val, "ScrubbingRules", &p.ScrubbingRules) 24309 delete(rawMsg, key) 24310 case "state": 24311 err = unpopulate(val, "State", &p.State) 24312 delete(rawMsg, key) 24313 } 24314 if err != nil { 24315 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24316 } 24317 } 24318 return nil 24319 } 24320 24321 // MarshalJSON implements the json.Marshaller interface for type PoolAssociation. 24322 func (p PoolAssociation) MarshalJSON() ([]byte, error) { 24323 objectMap := make(map[string]any) 24324 populate(objectMap, "addressPrefixes", p.AddressPrefixes) 24325 populateDateTimeRFC3339(objectMap, "createdAt", p.CreatedAt) 24326 populate(objectMap, "description", p.Description) 24327 populate(objectMap, "numberOfReservedIPAddresses", p.NumberOfReservedIPAddresses) 24328 populate(objectMap, "poolId", p.PoolID) 24329 populateDateTimeRFC3339(objectMap, "reservationExpiresAt", p.ReservationExpiresAt) 24330 populate(objectMap, "reservedPrefixes", p.ReservedPrefixes) 24331 populate(objectMap, "resourceId", p.ResourceID) 24332 populate(objectMap, "totalNumberOfIPAddresses", p.TotalNumberOfIPAddresses) 24333 return json.Marshal(objectMap) 24334 } 24335 24336 // UnmarshalJSON implements the json.Unmarshaller interface for type PoolAssociation. 24337 func (p *PoolAssociation) UnmarshalJSON(data []byte) error { 24338 var rawMsg map[string]json.RawMessage 24339 if err := json.Unmarshal(data, &rawMsg); err != nil { 24340 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24341 } 24342 for key, val := range rawMsg { 24343 var err error 24344 switch key { 24345 case "addressPrefixes": 24346 err = unpopulate(val, "AddressPrefixes", &p.AddressPrefixes) 24347 delete(rawMsg, key) 24348 case "createdAt": 24349 err = unpopulateDateTimeRFC3339(val, "CreatedAt", &p.CreatedAt) 24350 delete(rawMsg, key) 24351 case "description": 24352 err = unpopulate(val, "Description", &p.Description) 24353 delete(rawMsg, key) 24354 case "numberOfReservedIPAddresses": 24355 err = unpopulate(val, "NumberOfReservedIPAddresses", &p.NumberOfReservedIPAddresses) 24356 delete(rawMsg, key) 24357 case "poolId": 24358 err = unpopulate(val, "PoolID", &p.PoolID) 24359 delete(rawMsg, key) 24360 case "reservationExpiresAt": 24361 err = unpopulateDateTimeRFC3339(val, "ReservationExpiresAt", &p.ReservationExpiresAt) 24362 delete(rawMsg, key) 24363 case "reservedPrefixes": 24364 err = unpopulate(val, "ReservedPrefixes", &p.ReservedPrefixes) 24365 delete(rawMsg, key) 24366 case "resourceId": 24367 err = unpopulate(val, "ResourceID", &p.ResourceID) 24368 delete(rawMsg, key) 24369 case "totalNumberOfIPAddresses": 24370 err = unpopulate(val, "TotalNumberOfIPAddresses", &p.TotalNumberOfIPAddresses) 24371 delete(rawMsg, key) 24372 } 24373 if err != nil { 24374 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24375 } 24376 } 24377 return nil 24378 } 24379 24380 // MarshalJSON implements the json.Marshaller interface for type PoolAssociationList. 24381 func (p PoolAssociationList) MarshalJSON() ([]byte, error) { 24382 objectMap := make(map[string]any) 24383 populate(objectMap, "nextLink", p.NextLink) 24384 populate(objectMap, "value", p.Value) 24385 return json.Marshal(objectMap) 24386 } 24387 24388 // UnmarshalJSON implements the json.Unmarshaller interface for type PoolAssociationList. 24389 func (p *PoolAssociationList) UnmarshalJSON(data []byte) error { 24390 var rawMsg map[string]json.RawMessage 24391 if err := json.Unmarshal(data, &rawMsg); err != nil { 24392 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24393 } 24394 for key, val := range rawMsg { 24395 var err error 24396 switch key { 24397 case "nextLink": 24398 err = unpopulate(val, "NextLink", &p.NextLink) 24399 delete(rawMsg, key) 24400 case "value": 24401 err = unpopulate(val, "Value", &p.Value) 24402 delete(rawMsg, key) 24403 } 24404 if err != nil { 24405 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24406 } 24407 } 24408 return nil 24409 } 24410 24411 // MarshalJSON implements the json.Marshaller interface for type PoolUsage. 24412 func (p PoolUsage) MarshalJSON() ([]byte, error) { 24413 objectMap := make(map[string]any) 24414 populate(objectMap, "addressPrefixes", p.AddressPrefixes) 24415 populate(objectMap, "allocatedAddressPrefixes", p.AllocatedAddressPrefixes) 24416 populate(objectMap, "availableAddressPrefixes", p.AvailableAddressPrefixes) 24417 populate(objectMap, "childPools", p.ChildPools) 24418 populate(objectMap, "numberOfAllocatedIPAddresses", p.NumberOfAllocatedIPAddresses) 24419 populate(objectMap, "numberOfAvailableIPAddresses", p.NumberOfAvailableIPAddresses) 24420 populate(objectMap, "numberOfReservedIPAddresses", p.NumberOfReservedIPAddresses) 24421 populate(objectMap, "reservedAddressPrefixes", p.ReservedAddressPrefixes) 24422 populate(objectMap, "totalNumberOfIPAddresses", p.TotalNumberOfIPAddresses) 24423 return json.Marshal(objectMap) 24424 } 24425 24426 // UnmarshalJSON implements the json.Unmarshaller interface for type PoolUsage. 24427 func (p *PoolUsage) UnmarshalJSON(data []byte) error { 24428 var rawMsg map[string]json.RawMessage 24429 if err := json.Unmarshal(data, &rawMsg); err != nil { 24430 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24431 } 24432 for key, val := range rawMsg { 24433 var err error 24434 switch key { 24435 case "addressPrefixes": 24436 err = unpopulate(val, "AddressPrefixes", &p.AddressPrefixes) 24437 delete(rawMsg, key) 24438 case "allocatedAddressPrefixes": 24439 err = unpopulate(val, "AllocatedAddressPrefixes", &p.AllocatedAddressPrefixes) 24440 delete(rawMsg, key) 24441 case "availableAddressPrefixes": 24442 err = unpopulate(val, "AvailableAddressPrefixes", &p.AvailableAddressPrefixes) 24443 delete(rawMsg, key) 24444 case "childPools": 24445 err = unpopulate(val, "ChildPools", &p.ChildPools) 24446 delete(rawMsg, key) 24447 case "numberOfAllocatedIPAddresses": 24448 err = unpopulate(val, "NumberOfAllocatedIPAddresses", &p.NumberOfAllocatedIPAddresses) 24449 delete(rawMsg, key) 24450 case "numberOfAvailableIPAddresses": 24451 err = unpopulate(val, "NumberOfAvailableIPAddresses", &p.NumberOfAvailableIPAddresses) 24452 delete(rawMsg, key) 24453 case "numberOfReservedIPAddresses": 24454 err = unpopulate(val, "NumberOfReservedIPAddresses", &p.NumberOfReservedIPAddresses) 24455 delete(rawMsg, key) 24456 case "reservedAddressPrefixes": 24457 err = unpopulate(val, "ReservedAddressPrefixes", &p.ReservedAddressPrefixes) 24458 delete(rawMsg, key) 24459 case "totalNumberOfIPAddresses": 24460 err = unpopulate(val, "TotalNumberOfIPAddresses", &p.TotalNumberOfIPAddresses) 24461 delete(rawMsg, key) 24462 } 24463 if err != nil { 24464 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24465 } 24466 } 24467 return nil 24468 } 24469 24470 // MarshalJSON implements the json.Marshaller interface for type PrepareNetworkPoliciesRequest. 24471 func (p PrepareNetworkPoliciesRequest) MarshalJSON() ([]byte, error) { 24472 objectMap := make(map[string]any) 24473 populate(objectMap, "networkIntentPolicyConfigurations", p.NetworkIntentPolicyConfigurations) 24474 populate(objectMap, "serviceName", p.ServiceName) 24475 return json.Marshal(objectMap) 24476 } 24477 24478 // UnmarshalJSON implements the json.Unmarshaller interface for type PrepareNetworkPoliciesRequest. 24479 func (p *PrepareNetworkPoliciesRequest) UnmarshalJSON(data []byte) error { 24480 var rawMsg map[string]json.RawMessage 24481 if err := json.Unmarshal(data, &rawMsg); err != nil { 24482 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24483 } 24484 for key, val := range rawMsg { 24485 var err error 24486 switch key { 24487 case "networkIntentPolicyConfigurations": 24488 err = unpopulate(val, "NetworkIntentPolicyConfigurations", &p.NetworkIntentPolicyConfigurations) 24489 delete(rawMsg, key) 24490 case "serviceName": 24491 err = unpopulate(val, "ServiceName", &p.ServiceName) 24492 delete(rawMsg, key) 24493 } 24494 if err != nil { 24495 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24496 } 24497 } 24498 return nil 24499 } 24500 24501 // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneConfig. 24502 func (p PrivateDNSZoneConfig) MarshalJSON() ([]byte, error) { 24503 objectMap := make(map[string]any) 24504 populate(objectMap, "name", p.Name) 24505 populate(objectMap, "properties", p.Properties) 24506 return json.Marshal(objectMap) 24507 } 24508 24509 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateDNSZoneConfig. 24510 func (p *PrivateDNSZoneConfig) UnmarshalJSON(data []byte) error { 24511 var rawMsg map[string]json.RawMessage 24512 if err := json.Unmarshal(data, &rawMsg); err != nil { 24513 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24514 } 24515 for key, val := range rawMsg { 24516 var err error 24517 switch key { 24518 case "name": 24519 err = unpopulate(val, "Name", &p.Name) 24520 delete(rawMsg, key) 24521 case "properties": 24522 err = unpopulate(val, "Properties", &p.Properties) 24523 delete(rawMsg, key) 24524 } 24525 if err != nil { 24526 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24527 } 24528 } 24529 return nil 24530 } 24531 24532 // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroup. 24533 func (p PrivateDNSZoneGroup) MarshalJSON() ([]byte, error) { 24534 objectMap := make(map[string]any) 24535 populate(objectMap, "etag", p.Etag) 24536 populate(objectMap, "id", p.ID) 24537 populate(objectMap, "name", p.Name) 24538 populate(objectMap, "properties", p.Properties) 24539 return json.Marshal(objectMap) 24540 } 24541 24542 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateDNSZoneGroup. 24543 func (p *PrivateDNSZoneGroup) UnmarshalJSON(data []byte) error { 24544 var rawMsg map[string]json.RawMessage 24545 if err := json.Unmarshal(data, &rawMsg); err != nil { 24546 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24547 } 24548 for key, val := range rawMsg { 24549 var err error 24550 switch key { 24551 case "etag": 24552 err = unpopulate(val, "Etag", &p.Etag) 24553 delete(rawMsg, key) 24554 case "id": 24555 err = unpopulate(val, "ID", &p.ID) 24556 delete(rawMsg, key) 24557 case "name": 24558 err = unpopulate(val, "Name", &p.Name) 24559 delete(rawMsg, key) 24560 case "properties": 24561 err = unpopulate(val, "Properties", &p.Properties) 24562 delete(rawMsg, key) 24563 } 24564 if err != nil { 24565 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24566 } 24567 } 24568 return nil 24569 } 24570 24571 // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroupListResult. 24572 func (p PrivateDNSZoneGroupListResult) MarshalJSON() ([]byte, error) { 24573 objectMap := make(map[string]any) 24574 populate(objectMap, "nextLink", p.NextLink) 24575 populate(objectMap, "value", p.Value) 24576 return json.Marshal(objectMap) 24577 } 24578 24579 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateDNSZoneGroupListResult. 24580 func (p *PrivateDNSZoneGroupListResult) UnmarshalJSON(data []byte) error { 24581 var rawMsg map[string]json.RawMessage 24582 if err := json.Unmarshal(data, &rawMsg); err != nil { 24583 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24584 } 24585 for key, val := range rawMsg { 24586 var err error 24587 switch key { 24588 case "nextLink": 24589 err = unpopulate(val, "NextLink", &p.NextLink) 24590 delete(rawMsg, key) 24591 case "value": 24592 err = unpopulate(val, "Value", &p.Value) 24593 delete(rawMsg, key) 24594 } 24595 if err != nil { 24596 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24597 } 24598 } 24599 return nil 24600 } 24601 24602 // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZoneGroupPropertiesFormat. 24603 func (p PrivateDNSZoneGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 24604 objectMap := make(map[string]any) 24605 populate(objectMap, "privateDnsZoneConfigs", p.PrivateDNSZoneConfigs) 24606 populate(objectMap, "provisioningState", p.ProvisioningState) 24607 return json.Marshal(objectMap) 24608 } 24609 24610 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateDNSZoneGroupPropertiesFormat. 24611 func (p *PrivateDNSZoneGroupPropertiesFormat) UnmarshalJSON(data []byte) error { 24612 var rawMsg map[string]json.RawMessage 24613 if err := json.Unmarshal(data, &rawMsg); err != nil { 24614 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24615 } 24616 for key, val := range rawMsg { 24617 var err error 24618 switch key { 24619 case "privateDnsZoneConfigs": 24620 err = unpopulate(val, "PrivateDNSZoneConfigs", &p.PrivateDNSZoneConfigs) 24621 delete(rawMsg, key) 24622 case "provisioningState": 24623 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 24624 delete(rawMsg, key) 24625 } 24626 if err != nil { 24627 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24628 } 24629 } 24630 return nil 24631 } 24632 24633 // MarshalJSON implements the json.Marshaller interface for type PrivateDNSZonePropertiesFormat. 24634 func (p PrivateDNSZonePropertiesFormat) MarshalJSON() ([]byte, error) { 24635 objectMap := make(map[string]any) 24636 populate(objectMap, "privateDnsZoneId", p.PrivateDNSZoneID) 24637 populate(objectMap, "recordSets", p.RecordSets) 24638 return json.Marshal(objectMap) 24639 } 24640 24641 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateDNSZonePropertiesFormat. 24642 func (p *PrivateDNSZonePropertiesFormat) UnmarshalJSON(data []byte) error { 24643 var rawMsg map[string]json.RawMessage 24644 if err := json.Unmarshal(data, &rawMsg); err != nil { 24645 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24646 } 24647 for key, val := range rawMsg { 24648 var err error 24649 switch key { 24650 case "privateDnsZoneId": 24651 err = unpopulate(val, "PrivateDNSZoneID", &p.PrivateDNSZoneID) 24652 delete(rawMsg, key) 24653 case "recordSets": 24654 err = unpopulate(val, "RecordSets", &p.RecordSets) 24655 delete(rawMsg, key) 24656 } 24657 if err != nil { 24658 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24659 } 24660 } 24661 return nil 24662 } 24663 24664 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpoint. 24665 func (p PrivateEndpoint) MarshalJSON() ([]byte, error) { 24666 objectMap := make(map[string]any) 24667 populate(objectMap, "etag", p.Etag) 24668 populate(objectMap, "extendedLocation", p.ExtendedLocation) 24669 populate(objectMap, "id", p.ID) 24670 populate(objectMap, "location", p.Location) 24671 populate(objectMap, "name", p.Name) 24672 populate(objectMap, "properties", p.Properties) 24673 populate(objectMap, "tags", p.Tags) 24674 populate(objectMap, "type", p.Type) 24675 return json.Marshal(objectMap) 24676 } 24677 24678 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpoint. 24679 func (p *PrivateEndpoint) UnmarshalJSON(data []byte) error { 24680 var rawMsg map[string]json.RawMessage 24681 if err := json.Unmarshal(data, &rawMsg); err != nil { 24682 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24683 } 24684 for key, val := range rawMsg { 24685 var err error 24686 switch key { 24687 case "etag": 24688 err = unpopulate(val, "Etag", &p.Etag) 24689 delete(rawMsg, key) 24690 case "extendedLocation": 24691 err = unpopulate(val, "ExtendedLocation", &p.ExtendedLocation) 24692 delete(rawMsg, key) 24693 case "id": 24694 err = unpopulate(val, "ID", &p.ID) 24695 delete(rawMsg, key) 24696 case "location": 24697 err = unpopulate(val, "Location", &p.Location) 24698 delete(rawMsg, key) 24699 case "name": 24700 err = unpopulate(val, "Name", &p.Name) 24701 delete(rawMsg, key) 24702 case "properties": 24703 err = unpopulate(val, "Properties", &p.Properties) 24704 delete(rawMsg, key) 24705 case "tags": 24706 err = unpopulate(val, "Tags", &p.Tags) 24707 delete(rawMsg, key) 24708 case "type": 24709 err = unpopulate(val, "Type", &p.Type) 24710 delete(rawMsg, key) 24711 } 24712 if err != nil { 24713 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24714 } 24715 } 24716 return nil 24717 } 24718 24719 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnection. 24720 func (p PrivateEndpointConnection) MarshalJSON() ([]byte, error) { 24721 objectMap := make(map[string]any) 24722 populate(objectMap, "etag", p.Etag) 24723 populate(objectMap, "id", p.ID) 24724 populate(objectMap, "name", p.Name) 24725 populate(objectMap, "properties", p.Properties) 24726 populate(objectMap, "type", p.Type) 24727 return json.Marshal(objectMap) 24728 } 24729 24730 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnection. 24731 func (p *PrivateEndpointConnection) UnmarshalJSON(data []byte) error { 24732 var rawMsg map[string]json.RawMessage 24733 if err := json.Unmarshal(data, &rawMsg); err != nil { 24734 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24735 } 24736 for key, val := range rawMsg { 24737 var err error 24738 switch key { 24739 case "etag": 24740 err = unpopulate(val, "Etag", &p.Etag) 24741 delete(rawMsg, key) 24742 case "id": 24743 err = unpopulate(val, "ID", &p.ID) 24744 delete(rawMsg, key) 24745 case "name": 24746 err = unpopulate(val, "Name", &p.Name) 24747 delete(rawMsg, key) 24748 case "properties": 24749 err = unpopulate(val, "Properties", &p.Properties) 24750 delete(rawMsg, key) 24751 case "type": 24752 err = unpopulate(val, "Type", &p.Type) 24753 delete(rawMsg, key) 24754 } 24755 if err != nil { 24756 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24757 } 24758 } 24759 return nil 24760 } 24761 24762 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionListResult. 24763 func (p PrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { 24764 objectMap := make(map[string]any) 24765 populate(objectMap, "nextLink", p.NextLink) 24766 populate(objectMap, "value", p.Value) 24767 return json.Marshal(objectMap) 24768 } 24769 24770 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionListResult. 24771 func (p *PrivateEndpointConnectionListResult) UnmarshalJSON(data []byte) error { 24772 var rawMsg map[string]json.RawMessage 24773 if err := json.Unmarshal(data, &rawMsg); err != nil { 24774 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24775 } 24776 for key, val := range rawMsg { 24777 var err error 24778 switch key { 24779 case "nextLink": 24780 err = unpopulate(val, "NextLink", &p.NextLink) 24781 delete(rawMsg, key) 24782 case "value": 24783 err = unpopulate(val, "Value", &p.Value) 24784 delete(rawMsg, key) 24785 } 24786 if err != nil { 24787 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24788 } 24789 } 24790 return nil 24791 } 24792 24793 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionProperties. 24794 func (p PrivateEndpointConnectionProperties) MarshalJSON() ([]byte, error) { 24795 objectMap := make(map[string]any) 24796 populate(objectMap, "linkIdentifier", p.LinkIdentifier) 24797 populate(objectMap, "privateEndpoint", p.PrivateEndpoint) 24798 populate(objectMap, "privateEndpointLocation", p.PrivateEndpointLocation) 24799 populate(objectMap, "privateLinkServiceConnectionState", p.PrivateLinkServiceConnectionState) 24800 populate(objectMap, "provisioningState", p.ProvisioningState) 24801 return json.Marshal(objectMap) 24802 } 24803 24804 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionProperties. 24805 func (p *PrivateEndpointConnectionProperties) UnmarshalJSON(data []byte) error { 24806 var rawMsg map[string]json.RawMessage 24807 if err := json.Unmarshal(data, &rawMsg); err != nil { 24808 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24809 } 24810 for key, val := range rawMsg { 24811 var err error 24812 switch key { 24813 case "linkIdentifier": 24814 err = unpopulate(val, "LinkIdentifier", &p.LinkIdentifier) 24815 delete(rawMsg, key) 24816 case "privateEndpoint": 24817 err = unpopulate(val, "PrivateEndpoint", &p.PrivateEndpoint) 24818 delete(rawMsg, key) 24819 case "privateEndpointLocation": 24820 err = unpopulate(val, "PrivateEndpointLocation", &p.PrivateEndpointLocation) 24821 delete(rawMsg, key) 24822 case "privateLinkServiceConnectionState": 24823 err = unpopulate(val, "PrivateLinkServiceConnectionState", &p.PrivateLinkServiceConnectionState) 24824 delete(rawMsg, key) 24825 case "provisioningState": 24826 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 24827 delete(rawMsg, key) 24828 } 24829 if err != nil { 24830 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24831 } 24832 } 24833 return nil 24834 } 24835 24836 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointIPConfiguration. 24837 func (p PrivateEndpointIPConfiguration) MarshalJSON() ([]byte, error) { 24838 objectMap := make(map[string]any) 24839 populate(objectMap, "etag", p.Etag) 24840 populate(objectMap, "name", p.Name) 24841 populate(objectMap, "properties", p.Properties) 24842 populate(objectMap, "type", p.Type) 24843 return json.Marshal(objectMap) 24844 } 24845 24846 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointIPConfiguration. 24847 func (p *PrivateEndpointIPConfiguration) UnmarshalJSON(data []byte) error { 24848 var rawMsg map[string]json.RawMessage 24849 if err := json.Unmarshal(data, &rawMsg); err != nil { 24850 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24851 } 24852 for key, val := range rawMsg { 24853 var err error 24854 switch key { 24855 case "etag": 24856 err = unpopulate(val, "Etag", &p.Etag) 24857 delete(rawMsg, key) 24858 case "name": 24859 err = unpopulate(val, "Name", &p.Name) 24860 delete(rawMsg, key) 24861 case "properties": 24862 err = unpopulate(val, "Properties", &p.Properties) 24863 delete(rawMsg, key) 24864 case "type": 24865 err = unpopulate(val, "Type", &p.Type) 24866 delete(rawMsg, key) 24867 } 24868 if err != nil { 24869 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24870 } 24871 } 24872 return nil 24873 } 24874 24875 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointIPConfigurationProperties. 24876 func (p PrivateEndpointIPConfigurationProperties) MarshalJSON() ([]byte, error) { 24877 objectMap := make(map[string]any) 24878 populate(objectMap, "groupId", p.GroupID) 24879 populate(objectMap, "memberName", p.MemberName) 24880 populate(objectMap, "privateIPAddress", p.PrivateIPAddress) 24881 return json.Marshal(objectMap) 24882 } 24883 24884 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointIPConfigurationProperties. 24885 func (p *PrivateEndpointIPConfigurationProperties) UnmarshalJSON(data []byte) error { 24886 var rawMsg map[string]json.RawMessage 24887 if err := json.Unmarshal(data, &rawMsg); err != nil { 24888 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24889 } 24890 for key, val := range rawMsg { 24891 var err error 24892 switch key { 24893 case "groupId": 24894 err = unpopulate(val, "GroupID", &p.GroupID) 24895 delete(rawMsg, key) 24896 case "memberName": 24897 err = unpopulate(val, "MemberName", &p.MemberName) 24898 delete(rawMsg, key) 24899 case "privateIPAddress": 24900 err = unpopulate(val, "PrivateIPAddress", &p.PrivateIPAddress) 24901 delete(rawMsg, key) 24902 } 24903 if err != nil { 24904 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24905 } 24906 } 24907 return nil 24908 } 24909 24910 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointListResult. 24911 func (p PrivateEndpointListResult) MarshalJSON() ([]byte, error) { 24912 objectMap := make(map[string]any) 24913 populate(objectMap, "nextLink", p.NextLink) 24914 populate(objectMap, "value", p.Value) 24915 return json.Marshal(objectMap) 24916 } 24917 24918 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointListResult. 24919 func (p *PrivateEndpointListResult) UnmarshalJSON(data []byte) error { 24920 var rawMsg map[string]json.RawMessage 24921 if err := json.Unmarshal(data, &rawMsg); err != nil { 24922 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24923 } 24924 for key, val := range rawMsg { 24925 var err error 24926 switch key { 24927 case "nextLink": 24928 err = unpopulate(val, "NextLink", &p.NextLink) 24929 delete(rawMsg, key) 24930 case "value": 24931 err = unpopulate(val, "Value", &p.Value) 24932 delete(rawMsg, key) 24933 } 24934 if err != nil { 24935 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24936 } 24937 } 24938 return nil 24939 } 24940 24941 // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointProperties. 24942 func (p PrivateEndpointProperties) MarshalJSON() ([]byte, error) { 24943 objectMap := make(map[string]any) 24944 populate(objectMap, "applicationSecurityGroups", p.ApplicationSecurityGroups) 24945 populate(objectMap, "customDnsConfigs", p.CustomDNSConfigs) 24946 populate(objectMap, "customNetworkInterfaceName", p.CustomNetworkInterfaceName) 24947 populate(objectMap, "ipConfigurations", p.IPConfigurations) 24948 populate(objectMap, "manualPrivateLinkServiceConnections", p.ManualPrivateLinkServiceConnections) 24949 populate(objectMap, "networkInterfaces", p.NetworkInterfaces) 24950 populate(objectMap, "privateLinkServiceConnections", p.PrivateLinkServiceConnections) 24951 populate(objectMap, "provisioningState", p.ProvisioningState) 24952 populate(objectMap, "subnet", p.Subnet) 24953 return json.Marshal(objectMap) 24954 } 24955 24956 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointProperties. 24957 func (p *PrivateEndpointProperties) UnmarshalJSON(data []byte) error { 24958 var rawMsg map[string]json.RawMessage 24959 if err := json.Unmarshal(data, &rawMsg); err != nil { 24960 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24961 } 24962 for key, val := range rawMsg { 24963 var err error 24964 switch key { 24965 case "applicationSecurityGroups": 24966 err = unpopulate(val, "ApplicationSecurityGroups", &p.ApplicationSecurityGroups) 24967 delete(rawMsg, key) 24968 case "customDnsConfigs": 24969 err = unpopulate(val, "CustomDNSConfigs", &p.CustomDNSConfigs) 24970 delete(rawMsg, key) 24971 case "customNetworkInterfaceName": 24972 err = unpopulate(val, "CustomNetworkInterfaceName", &p.CustomNetworkInterfaceName) 24973 delete(rawMsg, key) 24974 case "ipConfigurations": 24975 err = unpopulate(val, "IPConfigurations", &p.IPConfigurations) 24976 delete(rawMsg, key) 24977 case "manualPrivateLinkServiceConnections": 24978 err = unpopulate(val, "ManualPrivateLinkServiceConnections", &p.ManualPrivateLinkServiceConnections) 24979 delete(rawMsg, key) 24980 case "networkInterfaces": 24981 err = unpopulate(val, "NetworkInterfaces", &p.NetworkInterfaces) 24982 delete(rawMsg, key) 24983 case "privateLinkServiceConnections": 24984 err = unpopulate(val, "PrivateLinkServiceConnections", &p.PrivateLinkServiceConnections) 24985 delete(rawMsg, key) 24986 case "provisioningState": 24987 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 24988 delete(rawMsg, key) 24989 case "subnet": 24990 err = unpopulate(val, "Subnet", &p.Subnet) 24991 delete(rawMsg, key) 24992 } 24993 if err != nil { 24994 return fmt.Errorf("unmarshalling type %T: %v", p, err) 24995 } 24996 } 24997 return nil 24998 } 24999 25000 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkService. 25001 func (p PrivateLinkService) MarshalJSON() ([]byte, error) { 25002 objectMap := make(map[string]any) 25003 populate(objectMap, "etag", p.Etag) 25004 populate(objectMap, "extendedLocation", p.ExtendedLocation) 25005 populate(objectMap, "id", p.ID) 25006 populate(objectMap, "location", p.Location) 25007 populate(objectMap, "name", p.Name) 25008 populate(objectMap, "properties", p.Properties) 25009 populate(objectMap, "tags", p.Tags) 25010 populate(objectMap, "type", p.Type) 25011 return json.Marshal(objectMap) 25012 } 25013 25014 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkService. 25015 func (p *PrivateLinkService) UnmarshalJSON(data []byte) error { 25016 var rawMsg map[string]json.RawMessage 25017 if err := json.Unmarshal(data, &rawMsg); err != nil { 25018 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25019 } 25020 for key, val := range rawMsg { 25021 var err error 25022 switch key { 25023 case "etag": 25024 err = unpopulate(val, "Etag", &p.Etag) 25025 delete(rawMsg, key) 25026 case "extendedLocation": 25027 err = unpopulate(val, "ExtendedLocation", &p.ExtendedLocation) 25028 delete(rawMsg, key) 25029 case "id": 25030 err = unpopulate(val, "ID", &p.ID) 25031 delete(rawMsg, key) 25032 case "location": 25033 err = unpopulate(val, "Location", &p.Location) 25034 delete(rawMsg, key) 25035 case "name": 25036 err = unpopulate(val, "Name", &p.Name) 25037 delete(rawMsg, key) 25038 case "properties": 25039 err = unpopulate(val, "Properties", &p.Properties) 25040 delete(rawMsg, key) 25041 case "tags": 25042 err = unpopulate(val, "Tags", &p.Tags) 25043 delete(rawMsg, key) 25044 case "type": 25045 err = unpopulate(val, "Type", &p.Type) 25046 delete(rawMsg, key) 25047 } 25048 if err != nil { 25049 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25050 } 25051 } 25052 return nil 25053 } 25054 25055 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnection. 25056 func (p PrivateLinkServiceConnection) MarshalJSON() ([]byte, error) { 25057 objectMap := make(map[string]any) 25058 populate(objectMap, "etag", p.Etag) 25059 populate(objectMap, "id", p.ID) 25060 populate(objectMap, "name", p.Name) 25061 populate(objectMap, "properties", p.Properties) 25062 populate(objectMap, "type", p.Type) 25063 return json.Marshal(objectMap) 25064 } 25065 25066 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceConnection. 25067 func (p *PrivateLinkServiceConnection) UnmarshalJSON(data []byte) error { 25068 var rawMsg map[string]json.RawMessage 25069 if err := json.Unmarshal(data, &rawMsg); err != nil { 25070 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25071 } 25072 for key, val := range rawMsg { 25073 var err error 25074 switch key { 25075 case "etag": 25076 err = unpopulate(val, "Etag", &p.Etag) 25077 delete(rawMsg, key) 25078 case "id": 25079 err = unpopulate(val, "ID", &p.ID) 25080 delete(rawMsg, key) 25081 case "name": 25082 err = unpopulate(val, "Name", &p.Name) 25083 delete(rawMsg, key) 25084 case "properties": 25085 err = unpopulate(val, "Properties", &p.Properties) 25086 delete(rawMsg, key) 25087 case "type": 25088 err = unpopulate(val, "Type", &p.Type) 25089 delete(rawMsg, key) 25090 } 25091 if err != nil { 25092 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25093 } 25094 } 25095 return nil 25096 } 25097 25098 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnectionProperties. 25099 func (p PrivateLinkServiceConnectionProperties) MarshalJSON() ([]byte, error) { 25100 objectMap := make(map[string]any) 25101 populate(objectMap, "groupIds", p.GroupIDs) 25102 populate(objectMap, "privateLinkServiceConnectionState", p.PrivateLinkServiceConnectionState) 25103 populate(objectMap, "privateLinkServiceId", p.PrivateLinkServiceID) 25104 populate(objectMap, "provisioningState", p.ProvisioningState) 25105 populate(objectMap, "requestMessage", p.RequestMessage) 25106 return json.Marshal(objectMap) 25107 } 25108 25109 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceConnectionProperties. 25110 func (p *PrivateLinkServiceConnectionProperties) UnmarshalJSON(data []byte) error { 25111 var rawMsg map[string]json.RawMessage 25112 if err := json.Unmarshal(data, &rawMsg); err != nil { 25113 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25114 } 25115 for key, val := range rawMsg { 25116 var err error 25117 switch key { 25118 case "groupIds": 25119 err = unpopulate(val, "GroupIDs", &p.GroupIDs) 25120 delete(rawMsg, key) 25121 case "privateLinkServiceConnectionState": 25122 err = unpopulate(val, "PrivateLinkServiceConnectionState", &p.PrivateLinkServiceConnectionState) 25123 delete(rawMsg, key) 25124 case "privateLinkServiceId": 25125 err = unpopulate(val, "PrivateLinkServiceID", &p.PrivateLinkServiceID) 25126 delete(rawMsg, key) 25127 case "provisioningState": 25128 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 25129 delete(rawMsg, key) 25130 case "requestMessage": 25131 err = unpopulate(val, "RequestMessage", &p.RequestMessage) 25132 delete(rawMsg, key) 25133 } 25134 if err != nil { 25135 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25136 } 25137 } 25138 return nil 25139 } 25140 25141 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnectionState. 25142 func (p PrivateLinkServiceConnectionState) MarshalJSON() ([]byte, error) { 25143 objectMap := make(map[string]any) 25144 populate(objectMap, "actionsRequired", p.ActionsRequired) 25145 populate(objectMap, "description", p.Description) 25146 populate(objectMap, "status", p.Status) 25147 return json.Marshal(objectMap) 25148 } 25149 25150 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceConnectionState. 25151 func (p *PrivateLinkServiceConnectionState) UnmarshalJSON(data []byte) error { 25152 var rawMsg map[string]json.RawMessage 25153 if err := json.Unmarshal(data, &rawMsg); err != nil { 25154 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25155 } 25156 for key, val := range rawMsg { 25157 var err error 25158 switch key { 25159 case "actionsRequired": 25160 err = unpopulate(val, "ActionsRequired", &p.ActionsRequired) 25161 delete(rawMsg, key) 25162 case "description": 25163 err = unpopulate(val, "Description", &p.Description) 25164 delete(rawMsg, key) 25165 case "status": 25166 err = unpopulate(val, "Status", &p.Status) 25167 delete(rawMsg, key) 25168 } 25169 if err != nil { 25170 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25171 } 25172 } 25173 return nil 25174 } 25175 25176 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceIPConfiguration. 25177 func (p PrivateLinkServiceIPConfiguration) MarshalJSON() ([]byte, error) { 25178 objectMap := make(map[string]any) 25179 populate(objectMap, "etag", p.Etag) 25180 populate(objectMap, "id", p.ID) 25181 populate(objectMap, "name", p.Name) 25182 populate(objectMap, "properties", p.Properties) 25183 populate(objectMap, "type", p.Type) 25184 return json.Marshal(objectMap) 25185 } 25186 25187 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceIPConfiguration. 25188 func (p *PrivateLinkServiceIPConfiguration) UnmarshalJSON(data []byte) error { 25189 var rawMsg map[string]json.RawMessage 25190 if err := json.Unmarshal(data, &rawMsg); err != nil { 25191 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25192 } 25193 for key, val := range rawMsg { 25194 var err error 25195 switch key { 25196 case "etag": 25197 err = unpopulate(val, "Etag", &p.Etag) 25198 delete(rawMsg, key) 25199 case "id": 25200 err = unpopulate(val, "ID", &p.ID) 25201 delete(rawMsg, key) 25202 case "name": 25203 err = unpopulate(val, "Name", &p.Name) 25204 delete(rawMsg, key) 25205 case "properties": 25206 err = unpopulate(val, "Properties", &p.Properties) 25207 delete(rawMsg, key) 25208 case "type": 25209 err = unpopulate(val, "Type", &p.Type) 25210 delete(rawMsg, key) 25211 } 25212 if err != nil { 25213 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25214 } 25215 } 25216 return nil 25217 } 25218 25219 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceIPConfigurationProperties. 25220 func (p PrivateLinkServiceIPConfigurationProperties) MarshalJSON() ([]byte, error) { 25221 objectMap := make(map[string]any) 25222 populate(objectMap, "primary", p.Primary) 25223 populate(objectMap, "privateIPAddress", p.PrivateIPAddress) 25224 populate(objectMap, "privateIPAddressVersion", p.PrivateIPAddressVersion) 25225 populate(objectMap, "privateIPAllocationMethod", p.PrivateIPAllocationMethod) 25226 populate(objectMap, "provisioningState", p.ProvisioningState) 25227 populate(objectMap, "subnet", p.Subnet) 25228 return json.Marshal(objectMap) 25229 } 25230 25231 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceIPConfigurationProperties. 25232 func (p *PrivateLinkServiceIPConfigurationProperties) UnmarshalJSON(data []byte) error { 25233 var rawMsg map[string]json.RawMessage 25234 if err := json.Unmarshal(data, &rawMsg); err != nil { 25235 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25236 } 25237 for key, val := range rawMsg { 25238 var err error 25239 switch key { 25240 case "primary": 25241 err = unpopulate(val, "Primary", &p.Primary) 25242 delete(rawMsg, key) 25243 case "privateIPAddress": 25244 err = unpopulate(val, "PrivateIPAddress", &p.PrivateIPAddress) 25245 delete(rawMsg, key) 25246 case "privateIPAddressVersion": 25247 err = unpopulate(val, "PrivateIPAddressVersion", &p.PrivateIPAddressVersion) 25248 delete(rawMsg, key) 25249 case "privateIPAllocationMethod": 25250 err = unpopulate(val, "PrivateIPAllocationMethod", &p.PrivateIPAllocationMethod) 25251 delete(rawMsg, key) 25252 case "provisioningState": 25253 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 25254 delete(rawMsg, key) 25255 case "subnet": 25256 err = unpopulate(val, "Subnet", &p.Subnet) 25257 delete(rawMsg, key) 25258 } 25259 if err != nil { 25260 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25261 } 25262 } 25263 return nil 25264 } 25265 25266 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceListResult. 25267 func (p PrivateLinkServiceListResult) MarshalJSON() ([]byte, error) { 25268 objectMap := make(map[string]any) 25269 populate(objectMap, "nextLink", p.NextLink) 25270 populate(objectMap, "value", p.Value) 25271 return json.Marshal(objectMap) 25272 } 25273 25274 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceListResult. 25275 func (p *PrivateLinkServiceListResult) UnmarshalJSON(data []byte) error { 25276 var rawMsg map[string]json.RawMessage 25277 if err := json.Unmarshal(data, &rawMsg); err != nil { 25278 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25279 } 25280 for key, val := range rawMsg { 25281 var err error 25282 switch key { 25283 case "nextLink": 25284 err = unpopulate(val, "NextLink", &p.NextLink) 25285 delete(rawMsg, key) 25286 case "value": 25287 err = unpopulate(val, "Value", &p.Value) 25288 delete(rawMsg, key) 25289 } 25290 if err != nil { 25291 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25292 } 25293 } 25294 return nil 25295 } 25296 25297 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceProperties. 25298 func (p PrivateLinkServiceProperties) MarshalJSON() ([]byte, error) { 25299 objectMap := make(map[string]any) 25300 populate(objectMap, "alias", p.Alias) 25301 populate(objectMap, "autoApproval", p.AutoApproval) 25302 populate(objectMap, "destinationIPAddress", p.DestinationIPAddress) 25303 populate(objectMap, "enableProxyProtocol", p.EnableProxyProtocol) 25304 populate(objectMap, "fqdns", p.Fqdns) 25305 populate(objectMap, "ipConfigurations", p.IPConfigurations) 25306 populate(objectMap, "loadBalancerFrontendIpConfigurations", p.LoadBalancerFrontendIPConfigurations) 25307 populate(objectMap, "networkInterfaces", p.NetworkInterfaces) 25308 populate(objectMap, "privateEndpointConnections", p.PrivateEndpointConnections) 25309 populate(objectMap, "provisioningState", p.ProvisioningState) 25310 populate(objectMap, "visibility", p.Visibility) 25311 return json.Marshal(objectMap) 25312 } 25313 25314 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceProperties. 25315 func (p *PrivateLinkServiceProperties) UnmarshalJSON(data []byte) error { 25316 var rawMsg map[string]json.RawMessage 25317 if err := json.Unmarshal(data, &rawMsg); err != nil { 25318 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25319 } 25320 for key, val := range rawMsg { 25321 var err error 25322 switch key { 25323 case "alias": 25324 err = unpopulate(val, "Alias", &p.Alias) 25325 delete(rawMsg, key) 25326 case "autoApproval": 25327 err = unpopulate(val, "AutoApproval", &p.AutoApproval) 25328 delete(rawMsg, key) 25329 case "destinationIPAddress": 25330 err = unpopulate(val, "DestinationIPAddress", &p.DestinationIPAddress) 25331 delete(rawMsg, key) 25332 case "enableProxyProtocol": 25333 err = unpopulate(val, "EnableProxyProtocol", &p.EnableProxyProtocol) 25334 delete(rawMsg, key) 25335 case "fqdns": 25336 err = unpopulate(val, "Fqdns", &p.Fqdns) 25337 delete(rawMsg, key) 25338 case "ipConfigurations": 25339 err = unpopulate(val, "IPConfigurations", &p.IPConfigurations) 25340 delete(rawMsg, key) 25341 case "loadBalancerFrontendIpConfigurations": 25342 err = unpopulate(val, "LoadBalancerFrontendIPConfigurations", &p.LoadBalancerFrontendIPConfigurations) 25343 delete(rawMsg, key) 25344 case "networkInterfaces": 25345 err = unpopulate(val, "NetworkInterfaces", &p.NetworkInterfaces) 25346 delete(rawMsg, key) 25347 case "privateEndpointConnections": 25348 err = unpopulate(val, "PrivateEndpointConnections", &p.PrivateEndpointConnections) 25349 delete(rawMsg, key) 25350 case "provisioningState": 25351 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 25352 delete(rawMsg, key) 25353 case "visibility": 25354 err = unpopulate(val, "Visibility", &p.Visibility) 25355 delete(rawMsg, key) 25356 } 25357 if err != nil { 25358 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25359 } 25360 } 25361 return nil 25362 } 25363 25364 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServicePropertiesAutoApproval. 25365 func (p PrivateLinkServicePropertiesAutoApproval) MarshalJSON() ([]byte, error) { 25366 objectMap := make(map[string]any) 25367 populate(objectMap, "subscriptions", p.Subscriptions) 25368 return json.Marshal(objectMap) 25369 } 25370 25371 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServicePropertiesAutoApproval. 25372 func (p *PrivateLinkServicePropertiesAutoApproval) UnmarshalJSON(data []byte) error { 25373 var rawMsg map[string]json.RawMessage 25374 if err := json.Unmarshal(data, &rawMsg); err != nil { 25375 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25376 } 25377 for key, val := range rawMsg { 25378 var err error 25379 switch key { 25380 case "subscriptions": 25381 err = unpopulate(val, "Subscriptions", &p.Subscriptions) 25382 delete(rawMsg, key) 25383 } 25384 if err != nil { 25385 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25386 } 25387 } 25388 return nil 25389 } 25390 25391 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServicePropertiesVisibility. 25392 func (p PrivateLinkServicePropertiesVisibility) MarshalJSON() ([]byte, error) { 25393 objectMap := make(map[string]any) 25394 populate(objectMap, "subscriptions", p.Subscriptions) 25395 return json.Marshal(objectMap) 25396 } 25397 25398 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServicePropertiesVisibility. 25399 func (p *PrivateLinkServicePropertiesVisibility) UnmarshalJSON(data []byte) error { 25400 var rawMsg map[string]json.RawMessage 25401 if err := json.Unmarshal(data, &rawMsg); err != nil { 25402 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25403 } 25404 for key, val := range rawMsg { 25405 var err error 25406 switch key { 25407 case "subscriptions": 25408 err = unpopulate(val, "Subscriptions", &p.Subscriptions) 25409 delete(rawMsg, key) 25410 } 25411 if err != nil { 25412 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25413 } 25414 } 25415 return nil 25416 } 25417 25418 // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceVisibility. 25419 func (p PrivateLinkServiceVisibility) MarshalJSON() ([]byte, error) { 25420 objectMap := make(map[string]any) 25421 populate(objectMap, "visible", p.Visible) 25422 return json.Marshal(objectMap) 25423 } 25424 25425 // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceVisibility. 25426 func (p *PrivateLinkServiceVisibility) UnmarshalJSON(data []byte) error { 25427 var rawMsg map[string]json.RawMessage 25428 if err := json.Unmarshal(data, &rawMsg); err != nil { 25429 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25430 } 25431 for key, val := range rawMsg { 25432 var err error 25433 switch key { 25434 case "visible": 25435 err = unpopulate(val, "Visible", &p.Visible) 25436 delete(rawMsg, key) 25437 } 25438 if err != nil { 25439 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25440 } 25441 } 25442 return nil 25443 } 25444 25445 // MarshalJSON implements the json.Marshaller interface for type Probe. 25446 func (p Probe) MarshalJSON() ([]byte, error) { 25447 objectMap := make(map[string]any) 25448 populate(objectMap, "etag", p.Etag) 25449 populate(objectMap, "id", p.ID) 25450 populate(objectMap, "name", p.Name) 25451 populate(objectMap, "properties", p.Properties) 25452 populate(objectMap, "type", p.Type) 25453 return json.Marshal(objectMap) 25454 } 25455 25456 // UnmarshalJSON implements the json.Unmarshaller interface for type Probe. 25457 func (p *Probe) UnmarshalJSON(data []byte) error { 25458 var rawMsg map[string]json.RawMessage 25459 if err := json.Unmarshal(data, &rawMsg); err != nil { 25460 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25461 } 25462 for key, val := range rawMsg { 25463 var err error 25464 switch key { 25465 case "etag": 25466 err = unpopulate(val, "Etag", &p.Etag) 25467 delete(rawMsg, key) 25468 case "id": 25469 err = unpopulate(val, "ID", &p.ID) 25470 delete(rawMsg, key) 25471 case "name": 25472 err = unpopulate(val, "Name", &p.Name) 25473 delete(rawMsg, key) 25474 case "properties": 25475 err = unpopulate(val, "Properties", &p.Properties) 25476 delete(rawMsg, key) 25477 case "type": 25478 err = unpopulate(val, "Type", &p.Type) 25479 delete(rawMsg, key) 25480 } 25481 if err != nil { 25482 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25483 } 25484 } 25485 return nil 25486 } 25487 25488 // MarshalJSON implements the json.Marshaller interface for type ProbePropertiesFormat. 25489 func (p ProbePropertiesFormat) MarshalJSON() ([]byte, error) { 25490 objectMap := make(map[string]any) 25491 populate(objectMap, "intervalInSeconds", p.IntervalInSeconds) 25492 populate(objectMap, "loadBalancingRules", p.LoadBalancingRules) 25493 populate(objectMap, "noHealthyBackendsBehavior", p.NoHealthyBackendsBehavior) 25494 populate(objectMap, "numberOfProbes", p.NumberOfProbes) 25495 populate(objectMap, "port", p.Port) 25496 populate(objectMap, "probeThreshold", p.ProbeThreshold) 25497 populate(objectMap, "protocol", p.Protocol) 25498 populate(objectMap, "provisioningState", p.ProvisioningState) 25499 populate(objectMap, "requestPath", p.RequestPath) 25500 return json.Marshal(objectMap) 25501 } 25502 25503 // UnmarshalJSON implements the json.Unmarshaller interface for type ProbePropertiesFormat. 25504 func (p *ProbePropertiesFormat) UnmarshalJSON(data []byte) error { 25505 var rawMsg map[string]json.RawMessage 25506 if err := json.Unmarshal(data, &rawMsg); err != nil { 25507 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25508 } 25509 for key, val := range rawMsg { 25510 var err error 25511 switch key { 25512 case "intervalInSeconds": 25513 err = unpopulate(val, "IntervalInSeconds", &p.IntervalInSeconds) 25514 delete(rawMsg, key) 25515 case "loadBalancingRules": 25516 err = unpopulate(val, "LoadBalancingRules", &p.LoadBalancingRules) 25517 delete(rawMsg, key) 25518 case "noHealthyBackendsBehavior": 25519 err = unpopulate(val, "NoHealthyBackendsBehavior", &p.NoHealthyBackendsBehavior) 25520 delete(rawMsg, key) 25521 case "numberOfProbes": 25522 err = unpopulate(val, "NumberOfProbes", &p.NumberOfProbes) 25523 delete(rawMsg, key) 25524 case "port": 25525 err = unpopulate(val, "Port", &p.Port) 25526 delete(rawMsg, key) 25527 case "probeThreshold": 25528 err = unpopulate(val, "ProbeThreshold", &p.ProbeThreshold) 25529 delete(rawMsg, key) 25530 case "protocol": 25531 err = unpopulate(val, "Protocol", &p.Protocol) 25532 delete(rawMsg, key) 25533 case "provisioningState": 25534 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 25535 delete(rawMsg, key) 25536 case "requestPath": 25537 err = unpopulate(val, "RequestPath", &p.RequestPath) 25538 delete(rawMsg, key) 25539 } 25540 if err != nil { 25541 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25542 } 25543 } 25544 return nil 25545 } 25546 25547 // MarshalJSON implements the json.Marshaller interface for type Profile. 25548 func (p Profile) MarshalJSON() ([]byte, error) { 25549 objectMap := make(map[string]any) 25550 populate(objectMap, "etag", p.Etag) 25551 populate(objectMap, "id", p.ID) 25552 populate(objectMap, "location", p.Location) 25553 populate(objectMap, "name", p.Name) 25554 populate(objectMap, "properties", p.Properties) 25555 populate(objectMap, "tags", p.Tags) 25556 populate(objectMap, "type", p.Type) 25557 return json.Marshal(objectMap) 25558 } 25559 25560 // UnmarshalJSON implements the json.Unmarshaller interface for type Profile. 25561 func (p *Profile) UnmarshalJSON(data []byte) error { 25562 var rawMsg map[string]json.RawMessage 25563 if err := json.Unmarshal(data, &rawMsg); err != nil { 25564 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25565 } 25566 for key, val := range rawMsg { 25567 var err error 25568 switch key { 25569 case "etag": 25570 err = unpopulate(val, "Etag", &p.Etag) 25571 delete(rawMsg, key) 25572 case "id": 25573 err = unpopulate(val, "ID", &p.ID) 25574 delete(rawMsg, key) 25575 case "location": 25576 err = unpopulate(val, "Location", &p.Location) 25577 delete(rawMsg, key) 25578 case "name": 25579 err = unpopulate(val, "Name", &p.Name) 25580 delete(rawMsg, key) 25581 case "properties": 25582 err = unpopulate(val, "Properties", &p.Properties) 25583 delete(rawMsg, key) 25584 case "tags": 25585 err = unpopulate(val, "Tags", &p.Tags) 25586 delete(rawMsg, key) 25587 case "type": 25588 err = unpopulate(val, "Type", &p.Type) 25589 delete(rawMsg, key) 25590 } 25591 if err != nil { 25592 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25593 } 25594 } 25595 return nil 25596 } 25597 25598 // MarshalJSON implements the json.Marshaller interface for type ProfileListResult. 25599 func (p ProfileListResult) MarshalJSON() ([]byte, error) { 25600 objectMap := make(map[string]any) 25601 populate(objectMap, "nextLink", p.NextLink) 25602 populate(objectMap, "value", p.Value) 25603 return json.Marshal(objectMap) 25604 } 25605 25606 // UnmarshalJSON implements the json.Unmarshaller interface for type ProfileListResult. 25607 func (p *ProfileListResult) UnmarshalJSON(data []byte) error { 25608 var rawMsg map[string]json.RawMessage 25609 if err := json.Unmarshal(data, &rawMsg); err != nil { 25610 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25611 } 25612 for key, val := range rawMsg { 25613 var err error 25614 switch key { 25615 case "nextLink": 25616 err = unpopulate(val, "NextLink", &p.NextLink) 25617 delete(rawMsg, key) 25618 case "value": 25619 err = unpopulate(val, "Value", &p.Value) 25620 delete(rawMsg, key) 25621 } 25622 if err != nil { 25623 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25624 } 25625 } 25626 return nil 25627 } 25628 25629 // MarshalJSON implements the json.Marshaller interface for type ProfilePropertiesFormat. 25630 func (p ProfilePropertiesFormat) MarshalJSON() ([]byte, error) { 25631 objectMap := make(map[string]any) 25632 populate(objectMap, "containerNetworkInterfaceConfigurations", p.ContainerNetworkInterfaceConfigurations) 25633 populate(objectMap, "containerNetworkInterfaces", p.ContainerNetworkInterfaces) 25634 populate(objectMap, "provisioningState", p.ProvisioningState) 25635 populate(objectMap, "resourceGuid", p.ResourceGUID) 25636 return json.Marshal(objectMap) 25637 } 25638 25639 // UnmarshalJSON implements the json.Unmarshaller interface for type ProfilePropertiesFormat. 25640 func (p *ProfilePropertiesFormat) UnmarshalJSON(data []byte) error { 25641 var rawMsg map[string]json.RawMessage 25642 if err := json.Unmarshal(data, &rawMsg); err != nil { 25643 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25644 } 25645 for key, val := range rawMsg { 25646 var err error 25647 switch key { 25648 case "containerNetworkInterfaceConfigurations": 25649 err = unpopulate(val, "ContainerNetworkInterfaceConfigurations", &p.ContainerNetworkInterfaceConfigurations) 25650 delete(rawMsg, key) 25651 case "containerNetworkInterfaces": 25652 err = unpopulate(val, "ContainerNetworkInterfaces", &p.ContainerNetworkInterfaces) 25653 delete(rawMsg, key) 25654 case "provisioningState": 25655 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 25656 delete(rawMsg, key) 25657 case "resourceGuid": 25658 err = unpopulate(val, "ResourceGUID", &p.ResourceGUID) 25659 delete(rawMsg, key) 25660 } 25661 if err != nil { 25662 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25663 } 25664 } 25665 return nil 25666 } 25667 25668 // MarshalJSON implements the json.Marshaller interface for type PropagatedRouteTable. 25669 func (p PropagatedRouteTable) MarshalJSON() ([]byte, error) { 25670 objectMap := make(map[string]any) 25671 populate(objectMap, "ids", p.IDs) 25672 populate(objectMap, "labels", p.Labels) 25673 return json.Marshal(objectMap) 25674 } 25675 25676 // UnmarshalJSON implements the json.Unmarshaller interface for type PropagatedRouteTable. 25677 func (p *PropagatedRouteTable) UnmarshalJSON(data []byte) error { 25678 var rawMsg map[string]json.RawMessage 25679 if err := json.Unmarshal(data, &rawMsg); err != nil { 25680 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25681 } 25682 for key, val := range rawMsg { 25683 var err error 25684 switch key { 25685 case "ids": 25686 err = unpopulate(val, "IDs", &p.IDs) 25687 delete(rawMsg, key) 25688 case "labels": 25689 err = unpopulate(val, "Labels", &p.Labels) 25690 delete(rawMsg, key) 25691 } 25692 if err != nil { 25693 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25694 } 25695 } 25696 return nil 25697 } 25698 25699 // MarshalJSON implements the json.Marshaller interface for type ProtocolConfiguration. 25700 func (p ProtocolConfiguration) MarshalJSON() ([]byte, error) { 25701 objectMap := make(map[string]any) 25702 populate(objectMap, "HTTPConfiguration", p.HTTPConfiguration) 25703 return json.Marshal(objectMap) 25704 } 25705 25706 // UnmarshalJSON implements the json.Unmarshaller interface for type ProtocolConfiguration. 25707 func (p *ProtocolConfiguration) UnmarshalJSON(data []byte) error { 25708 var rawMsg map[string]json.RawMessage 25709 if err := json.Unmarshal(data, &rawMsg); err != nil { 25710 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25711 } 25712 for key, val := range rawMsg { 25713 var err error 25714 switch key { 25715 case "HTTPConfiguration": 25716 err = unpopulate(val, "HTTPConfiguration", &p.HTTPConfiguration) 25717 delete(rawMsg, key) 25718 } 25719 if err != nil { 25720 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25721 } 25722 } 25723 return nil 25724 } 25725 25726 // MarshalJSON implements the json.Marshaller interface for type PublicIPAddress. 25727 func (p PublicIPAddress) MarshalJSON() ([]byte, error) { 25728 objectMap := make(map[string]any) 25729 populate(objectMap, "etag", p.Etag) 25730 populate(objectMap, "extendedLocation", p.ExtendedLocation) 25731 populate(objectMap, "id", p.ID) 25732 populate(objectMap, "location", p.Location) 25733 populate(objectMap, "name", p.Name) 25734 populate(objectMap, "properties", p.Properties) 25735 populate(objectMap, "sku", p.SKU) 25736 populate(objectMap, "tags", p.Tags) 25737 populate(objectMap, "type", p.Type) 25738 populate(objectMap, "zones", p.Zones) 25739 return json.Marshal(objectMap) 25740 } 25741 25742 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPAddress. 25743 func (p *PublicIPAddress) UnmarshalJSON(data []byte) error { 25744 var rawMsg map[string]json.RawMessage 25745 if err := json.Unmarshal(data, &rawMsg); err != nil { 25746 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25747 } 25748 for key, val := range rawMsg { 25749 var err error 25750 switch key { 25751 case "etag": 25752 err = unpopulate(val, "Etag", &p.Etag) 25753 delete(rawMsg, key) 25754 case "extendedLocation": 25755 err = unpopulate(val, "ExtendedLocation", &p.ExtendedLocation) 25756 delete(rawMsg, key) 25757 case "id": 25758 err = unpopulate(val, "ID", &p.ID) 25759 delete(rawMsg, key) 25760 case "location": 25761 err = unpopulate(val, "Location", &p.Location) 25762 delete(rawMsg, key) 25763 case "name": 25764 err = unpopulate(val, "Name", &p.Name) 25765 delete(rawMsg, key) 25766 case "properties": 25767 err = unpopulate(val, "Properties", &p.Properties) 25768 delete(rawMsg, key) 25769 case "sku": 25770 err = unpopulate(val, "SKU", &p.SKU) 25771 delete(rawMsg, key) 25772 case "tags": 25773 err = unpopulate(val, "Tags", &p.Tags) 25774 delete(rawMsg, key) 25775 case "type": 25776 err = unpopulate(val, "Type", &p.Type) 25777 delete(rawMsg, key) 25778 case "zones": 25779 err = unpopulate(val, "Zones", &p.Zones) 25780 delete(rawMsg, key) 25781 } 25782 if err != nil { 25783 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25784 } 25785 } 25786 return nil 25787 } 25788 25789 // MarshalJSON implements the json.Marshaller interface for type PublicIPAddressDNSSettings. 25790 func (p PublicIPAddressDNSSettings) MarshalJSON() ([]byte, error) { 25791 objectMap := make(map[string]any) 25792 populate(objectMap, "domainNameLabel", p.DomainNameLabel) 25793 populate(objectMap, "domainNameLabelScope", p.DomainNameLabelScope) 25794 populate(objectMap, "fqdn", p.Fqdn) 25795 populate(objectMap, "reverseFqdn", p.ReverseFqdn) 25796 return json.Marshal(objectMap) 25797 } 25798 25799 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPAddressDNSSettings. 25800 func (p *PublicIPAddressDNSSettings) UnmarshalJSON(data []byte) error { 25801 var rawMsg map[string]json.RawMessage 25802 if err := json.Unmarshal(data, &rawMsg); err != nil { 25803 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25804 } 25805 for key, val := range rawMsg { 25806 var err error 25807 switch key { 25808 case "domainNameLabel": 25809 err = unpopulate(val, "DomainNameLabel", &p.DomainNameLabel) 25810 delete(rawMsg, key) 25811 case "domainNameLabelScope": 25812 err = unpopulate(val, "DomainNameLabelScope", &p.DomainNameLabelScope) 25813 delete(rawMsg, key) 25814 case "fqdn": 25815 err = unpopulate(val, "Fqdn", &p.Fqdn) 25816 delete(rawMsg, key) 25817 case "reverseFqdn": 25818 err = unpopulate(val, "ReverseFqdn", &p.ReverseFqdn) 25819 delete(rawMsg, key) 25820 } 25821 if err != nil { 25822 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25823 } 25824 } 25825 return nil 25826 } 25827 25828 // MarshalJSON implements the json.Marshaller interface for type PublicIPAddressListResult. 25829 func (p PublicIPAddressListResult) MarshalJSON() ([]byte, error) { 25830 objectMap := make(map[string]any) 25831 populate(objectMap, "nextLink", p.NextLink) 25832 populate(objectMap, "value", p.Value) 25833 return json.Marshal(objectMap) 25834 } 25835 25836 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPAddressListResult. 25837 func (p *PublicIPAddressListResult) UnmarshalJSON(data []byte) error { 25838 var rawMsg map[string]json.RawMessage 25839 if err := json.Unmarshal(data, &rawMsg); err != nil { 25840 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25841 } 25842 for key, val := range rawMsg { 25843 var err error 25844 switch key { 25845 case "nextLink": 25846 err = unpopulate(val, "NextLink", &p.NextLink) 25847 delete(rawMsg, key) 25848 case "value": 25849 err = unpopulate(val, "Value", &p.Value) 25850 delete(rawMsg, key) 25851 } 25852 if err != nil { 25853 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25854 } 25855 } 25856 return nil 25857 } 25858 25859 // MarshalJSON implements the json.Marshaller interface for type PublicIPAddressPropertiesFormat. 25860 func (p PublicIPAddressPropertiesFormat) MarshalJSON() ([]byte, error) { 25861 objectMap := make(map[string]any) 25862 populate(objectMap, "dnsSettings", p.DNSSettings) 25863 populate(objectMap, "ddosSettings", p.DdosSettings) 25864 populate(objectMap, "deleteOption", p.DeleteOption) 25865 populate(objectMap, "ipAddress", p.IPAddress) 25866 populate(objectMap, "ipConfiguration", p.IPConfiguration) 25867 populate(objectMap, "ipTags", p.IPTags) 25868 populate(objectMap, "idleTimeoutInMinutes", p.IdleTimeoutInMinutes) 25869 populate(objectMap, "linkedPublicIPAddress", p.LinkedPublicIPAddress) 25870 populate(objectMap, "migrationPhase", p.MigrationPhase) 25871 populate(objectMap, "natGateway", p.NatGateway) 25872 populate(objectMap, "provisioningState", p.ProvisioningState) 25873 populate(objectMap, "publicIPAddressVersion", p.PublicIPAddressVersion) 25874 populate(objectMap, "publicIPAllocationMethod", p.PublicIPAllocationMethod) 25875 populate(objectMap, "publicIPPrefix", p.PublicIPPrefix) 25876 populate(objectMap, "resourceGuid", p.ResourceGUID) 25877 populate(objectMap, "servicePublicIPAddress", p.ServicePublicIPAddress) 25878 return json.Marshal(objectMap) 25879 } 25880 25881 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPAddressPropertiesFormat. 25882 func (p *PublicIPAddressPropertiesFormat) UnmarshalJSON(data []byte) error { 25883 var rawMsg map[string]json.RawMessage 25884 if err := json.Unmarshal(data, &rawMsg); err != nil { 25885 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25886 } 25887 for key, val := range rawMsg { 25888 var err error 25889 switch key { 25890 case "dnsSettings": 25891 err = unpopulate(val, "DNSSettings", &p.DNSSettings) 25892 delete(rawMsg, key) 25893 case "ddosSettings": 25894 err = unpopulate(val, "DdosSettings", &p.DdosSettings) 25895 delete(rawMsg, key) 25896 case "deleteOption": 25897 err = unpopulate(val, "DeleteOption", &p.DeleteOption) 25898 delete(rawMsg, key) 25899 case "ipAddress": 25900 err = unpopulate(val, "IPAddress", &p.IPAddress) 25901 delete(rawMsg, key) 25902 case "ipConfiguration": 25903 err = unpopulate(val, "IPConfiguration", &p.IPConfiguration) 25904 delete(rawMsg, key) 25905 case "ipTags": 25906 err = unpopulate(val, "IPTags", &p.IPTags) 25907 delete(rawMsg, key) 25908 case "idleTimeoutInMinutes": 25909 err = unpopulate(val, "IdleTimeoutInMinutes", &p.IdleTimeoutInMinutes) 25910 delete(rawMsg, key) 25911 case "linkedPublicIPAddress": 25912 err = unpopulate(val, "LinkedPublicIPAddress", &p.LinkedPublicIPAddress) 25913 delete(rawMsg, key) 25914 case "migrationPhase": 25915 err = unpopulate(val, "MigrationPhase", &p.MigrationPhase) 25916 delete(rawMsg, key) 25917 case "natGateway": 25918 err = unpopulate(val, "NatGateway", &p.NatGateway) 25919 delete(rawMsg, key) 25920 case "provisioningState": 25921 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 25922 delete(rawMsg, key) 25923 case "publicIPAddressVersion": 25924 err = unpopulate(val, "PublicIPAddressVersion", &p.PublicIPAddressVersion) 25925 delete(rawMsg, key) 25926 case "publicIPAllocationMethod": 25927 err = unpopulate(val, "PublicIPAllocationMethod", &p.PublicIPAllocationMethod) 25928 delete(rawMsg, key) 25929 case "publicIPPrefix": 25930 err = unpopulate(val, "PublicIPPrefix", &p.PublicIPPrefix) 25931 delete(rawMsg, key) 25932 case "resourceGuid": 25933 err = unpopulate(val, "ResourceGUID", &p.ResourceGUID) 25934 delete(rawMsg, key) 25935 case "servicePublicIPAddress": 25936 err = unpopulate(val, "ServicePublicIPAddress", &p.ServicePublicIPAddress) 25937 delete(rawMsg, key) 25938 } 25939 if err != nil { 25940 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25941 } 25942 } 25943 return nil 25944 } 25945 25946 // MarshalJSON implements the json.Marshaller interface for type PublicIPAddressSKU. 25947 func (p PublicIPAddressSKU) MarshalJSON() ([]byte, error) { 25948 objectMap := make(map[string]any) 25949 populate(objectMap, "name", p.Name) 25950 populate(objectMap, "tier", p.Tier) 25951 return json.Marshal(objectMap) 25952 } 25953 25954 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPAddressSKU. 25955 func (p *PublicIPAddressSKU) UnmarshalJSON(data []byte) error { 25956 var rawMsg map[string]json.RawMessage 25957 if err := json.Unmarshal(data, &rawMsg); err != nil { 25958 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25959 } 25960 for key, val := range rawMsg { 25961 var err error 25962 switch key { 25963 case "name": 25964 err = unpopulate(val, "Name", &p.Name) 25965 delete(rawMsg, key) 25966 case "tier": 25967 err = unpopulate(val, "Tier", &p.Tier) 25968 delete(rawMsg, key) 25969 } 25970 if err != nil { 25971 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25972 } 25973 } 25974 return nil 25975 } 25976 25977 // MarshalJSON implements the json.Marshaller interface for type PublicIPDdosProtectionStatusResult. 25978 func (p PublicIPDdosProtectionStatusResult) MarshalJSON() ([]byte, error) { 25979 objectMap := make(map[string]any) 25980 populate(objectMap, "ddosProtectionPlanId", p.DdosProtectionPlanID) 25981 populate(objectMap, "isWorkloadProtected", p.IsWorkloadProtected) 25982 populate(objectMap, "publicIpAddress", p.PublicIPAddress) 25983 populate(objectMap, "publicIpAddressId", p.PublicIPAddressID) 25984 return json.Marshal(objectMap) 25985 } 25986 25987 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPDdosProtectionStatusResult. 25988 func (p *PublicIPDdosProtectionStatusResult) UnmarshalJSON(data []byte) error { 25989 var rawMsg map[string]json.RawMessage 25990 if err := json.Unmarshal(data, &rawMsg); err != nil { 25991 return fmt.Errorf("unmarshalling type %T: %v", p, err) 25992 } 25993 for key, val := range rawMsg { 25994 var err error 25995 switch key { 25996 case "ddosProtectionPlanId": 25997 err = unpopulate(val, "DdosProtectionPlanID", &p.DdosProtectionPlanID) 25998 delete(rawMsg, key) 25999 case "isWorkloadProtected": 26000 err = unpopulate(val, "IsWorkloadProtected", &p.IsWorkloadProtected) 26001 delete(rawMsg, key) 26002 case "publicIpAddress": 26003 err = unpopulate(val, "PublicIPAddress", &p.PublicIPAddress) 26004 delete(rawMsg, key) 26005 case "publicIpAddressId": 26006 err = unpopulate(val, "PublicIPAddressID", &p.PublicIPAddressID) 26007 delete(rawMsg, key) 26008 } 26009 if err != nil { 26010 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26011 } 26012 } 26013 return nil 26014 } 26015 26016 // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefix. 26017 func (p PublicIPPrefix) MarshalJSON() ([]byte, error) { 26018 objectMap := make(map[string]any) 26019 populate(objectMap, "etag", p.Etag) 26020 populate(objectMap, "extendedLocation", p.ExtendedLocation) 26021 populate(objectMap, "id", p.ID) 26022 populate(objectMap, "location", p.Location) 26023 populate(objectMap, "name", p.Name) 26024 populate(objectMap, "properties", p.Properties) 26025 populate(objectMap, "sku", p.SKU) 26026 populate(objectMap, "tags", p.Tags) 26027 populate(objectMap, "type", p.Type) 26028 populate(objectMap, "zones", p.Zones) 26029 return json.Marshal(objectMap) 26030 } 26031 26032 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPPrefix. 26033 func (p *PublicIPPrefix) UnmarshalJSON(data []byte) error { 26034 var rawMsg map[string]json.RawMessage 26035 if err := json.Unmarshal(data, &rawMsg); err != nil { 26036 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26037 } 26038 for key, val := range rawMsg { 26039 var err error 26040 switch key { 26041 case "etag": 26042 err = unpopulate(val, "Etag", &p.Etag) 26043 delete(rawMsg, key) 26044 case "extendedLocation": 26045 err = unpopulate(val, "ExtendedLocation", &p.ExtendedLocation) 26046 delete(rawMsg, key) 26047 case "id": 26048 err = unpopulate(val, "ID", &p.ID) 26049 delete(rawMsg, key) 26050 case "location": 26051 err = unpopulate(val, "Location", &p.Location) 26052 delete(rawMsg, key) 26053 case "name": 26054 err = unpopulate(val, "Name", &p.Name) 26055 delete(rawMsg, key) 26056 case "properties": 26057 err = unpopulate(val, "Properties", &p.Properties) 26058 delete(rawMsg, key) 26059 case "sku": 26060 err = unpopulate(val, "SKU", &p.SKU) 26061 delete(rawMsg, key) 26062 case "tags": 26063 err = unpopulate(val, "Tags", &p.Tags) 26064 delete(rawMsg, key) 26065 case "type": 26066 err = unpopulate(val, "Type", &p.Type) 26067 delete(rawMsg, key) 26068 case "zones": 26069 err = unpopulate(val, "Zones", &p.Zones) 26070 delete(rawMsg, key) 26071 } 26072 if err != nil { 26073 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26074 } 26075 } 26076 return nil 26077 } 26078 26079 // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixListResult. 26080 func (p PublicIPPrefixListResult) MarshalJSON() ([]byte, error) { 26081 objectMap := make(map[string]any) 26082 populate(objectMap, "nextLink", p.NextLink) 26083 populate(objectMap, "value", p.Value) 26084 return json.Marshal(objectMap) 26085 } 26086 26087 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPPrefixListResult. 26088 func (p *PublicIPPrefixListResult) UnmarshalJSON(data []byte) error { 26089 var rawMsg map[string]json.RawMessage 26090 if err := json.Unmarshal(data, &rawMsg); err != nil { 26091 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26092 } 26093 for key, val := range rawMsg { 26094 var err error 26095 switch key { 26096 case "nextLink": 26097 err = unpopulate(val, "NextLink", &p.NextLink) 26098 delete(rawMsg, key) 26099 case "value": 26100 err = unpopulate(val, "Value", &p.Value) 26101 delete(rawMsg, key) 26102 } 26103 if err != nil { 26104 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26105 } 26106 } 26107 return nil 26108 } 26109 26110 // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixPropertiesFormat. 26111 func (p PublicIPPrefixPropertiesFormat) MarshalJSON() ([]byte, error) { 26112 objectMap := make(map[string]any) 26113 populate(objectMap, "customIPPrefix", p.CustomIPPrefix) 26114 populate(objectMap, "ipPrefix", p.IPPrefix) 26115 populate(objectMap, "ipTags", p.IPTags) 26116 populate(objectMap, "loadBalancerFrontendIpConfiguration", p.LoadBalancerFrontendIPConfiguration) 26117 populate(objectMap, "natGateway", p.NatGateway) 26118 populate(objectMap, "prefixLength", p.PrefixLength) 26119 populate(objectMap, "provisioningState", p.ProvisioningState) 26120 populate(objectMap, "publicIPAddressVersion", p.PublicIPAddressVersion) 26121 populate(objectMap, "publicIPAddresses", p.PublicIPAddresses) 26122 populate(objectMap, "resourceGuid", p.ResourceGUID) 26123 return json.Marshal(objectMap) 26124 } 26125 26126 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPPrefixPropertiesFormat. 26127 func (p *PublicIPPrefixPropertiesFormat) UnmarshalJSON(data []byte) error { 26128 var rawMsg map[string]json.RawMessage 26129 if err := json.Unmarshal(data, &rawMsg); err != nil { 26130 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26131 } 26132 for key, val := range rawMsg { 26133 var err error 26134 switch key { 26135 case "customIPPrefix": 26136 err = unpopulate(val, "CustomIPPrefix", &p.CustomIPPrefix) 26137 delete(rawMsg, key) 26138 case "ipPrefix": 26139 err = unpopulate(val, "IPPrefix", &p.IPPrefix) 26140 delete(rawMsg, key) 26141 case "ipTags": 26142 err = unpopulate(val, "IPTags", &p.IPTags) 26143 delete(rawMsg, key) 26144 case "loadBalancerFrontendIpConfiguration": 26145 err = unpopulate(val, "LoadBalancerFrontendIPConfiguration", &p.LoadBalancerFrontendIPConfiguration) 26146 delete(rawMsg, key) 26147 case "natGateway": 26148 err = unpopulate(val, "NatGateway", &p.NatGateway) 26149 delete(rawMsg, key) 26150 case "prefixLength": 26151 err = unpopulate(val, "PrefixLength", &p.PrefixLength) 26152 delete(rawMsg, key) 26153 case "provisioningState": 26154 err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) 26155 delete(rawMsg, key) 26156 case "publicIPAddressVersion": 26157 err = unpopulate(val, "PublicIPAddressVersion", &p.PublicIPAddressVersion) 26158 delete(rawMsg, key) 26159 case "publicIPAddresses": 26160 err = unpopulate(val, "PublicIPAddresses", &p.PublicIPAddresses) 26161 delete(rawMsg, key) 26162 case "resourceGuid": 26163 err = unpopulate(val, "ResourceGUID", &p.ResourceGUID) 26164 delete(rawMsg, key) 26165 } 26166 if err != nil { 26167 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26168 } 26169 } 26170 return nil 26171 } 26172 26173 // MarshalJSON implements the json.Marshaller interface for type PublicIPPrefixSKU. 26174 func (p PublicIPPrefixSKU) MarshalJSON() ([]byte, error) { 26175 objectMap := make(map[string]any) 26176 populate(objectMap, "name", p.Name) 26177 populate(objectMap, "tier", p.Tier) 26178 return json.Marshal(objectMap) 26179 } 26180 26181 // UnmarshalJSON implements the json.Unmarshaller interface for type PublicIPPrefixSKU. 26182 func (p *PublicIPPrefixSKU) UnmarshalJSON(data []byte) error { 26183 var rawMsg map[string]json.RawMessage 26184 if err := json.Unmarshal(data, &rawMsg); err != nil { 26185 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26186 } 26187 for key, val := range rawMsg { 26188 var err error 26189 switch key { 26190 case "name": 26191 err = unpopulate(val, "Name", &p.Name) 26192 delete(rawMsg, key) 26193 case "tier": 26194 err = unpopulate(val, "Tier", &p.Tier) 26195 delete(rawMsg, key) 26196 } 26197 if err != nil { 26198 return fmt.Errorf("unmarshalling type %T: %v", p, err) 26199 } 26200 } 26201 return nil 26202 } 26203 26204 // MarshalJSON implements the json.Marshaller interface for type QosDefinition. 26205 func (q QosDefinition) MarshalJSON() ([]byte, error) { 26206 objectMap := make(map[string]any) 26207 populate(objectMap, "destinationIpRanges", q.DestinationIPRanges) 26208 populate(objectMap, "destinationPortRanges", q.DestinationPortRanges) 26209 populate(objectMap, "markings", q.Markings) 26210 populate(objectMap, "protocol", q.Protocol) 26211 populate(objectMap, "sourceIpRanges", q.SourceIPRanges) 26212 populate(objectMap, "sourcePortRanges", q.SourcePortRanges) 26213 return json.Marshal(objectMap) 26214 } 26215 26216 // UnmarshalJSON implements the json.Unmarshaller interface for type QosDefinition. 26217 func (q *QosDefinition) UnmarshalJSON(data []byte) error { 26218 var rawMsg map[string]json.RawMessage 26219 if err := json.Unmarshal(data, &rawMsg); err != nil { 26220 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26221 } 26222 for key, val := range rawMsg { 26223 var err error 26224 switch key { 26225 case "destinationIpRanges": 26226 err = unpopulate(val, "DestinationIPRanges", &q.DestinationIPRanges) 26227 delete(rawMsg, key) 26228 case "destinationPortRanges": 26229 err = unpopulate(val, "DestinationPortRanges", &q.DestinationPortRanges) 26230 delete(rawMsg, key) 26231 case "markings": 26232 err = unpopulate(val, "Markings", &q.Markings) 26233 delete(rawMsg, key) 26234 case "protocol": 26235 err = unpopulate(val, "Protocol", &q.Protocol) 26236 delete(rawMsg, key) 26237 case "sourceIpRanges": 26238 err = unpopulate(val, "SourceIPRanges", &q.SourceIPRanges) 26239 delete(rawMsg, key) 26240 case "sourcePortRanges": 26241 err = unpopulate(val, "SourcePortRanges", &q.SourcePortRanges) 26242 delete(rawMsg, key) 26243 } 26244 if err != nil { 26245 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26246 } 26247 } 26248 return nil 26249 } 26250 26251 // MarshalJSON implements the json.Marshaller interface for type QosIPRange. 26252 func (q QosIPRange) MarshalJSON() ([]byte, error) { 26253 objectMap := make(map[string]any) 26254 populate(objectMap, "endIP", q.EndIP) 26255 populate(objectMap, "startIP", q.StartIP) 26256 return json.Marshal(objectMap) 26257 } 26258 26259 // UnmarshalJSON implements the json.Unmarshaller interface for type QosIPRange. 26260 func (q *QosIPRange) UnmarshalJSON(data []byte) error { 26261 var rawMsg map[string]json.RawMessage 26262 if err := json.Unmarshal(data, &rawMsg); err != nil { 26263 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26264 } 26265 for key, val := range rawMsg { 26266 var err error 26267 switch key { 26268 case "endIP": 26269 err = unpopulate(val, "EndIP", &q.EndIP) 26270 delete(rawMsg, key) 26271 case "startIP": 26272 err = unpopulate(val, "StartIP", &q.StartIP) 26273 delete(rawMsg, key) 26274 } 26275 if err != nil { 26276 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26277 } 26278 } 26279 return nil 26280 } 26281 26282 // MarshalJSON implements the json.Marshaller interface for type QosPortRange. 26283 func (q QosPortRange) MarshalJSON() ([]byte, error) { 26284 objectMap := make(map[string]any) 26285 populate(objectMap, "end", q.End) 26286 populate(objectMap, "start", q.Start) 26287 return json.Marshal(objectMap) 26288 } 26289 26290 // UnmarshalJSON implements the json.Unmarshaller interface for type QosPortRange. 26291 func (q *QosPortRange) UnmarshalJSON(data []byte) error { 26292 var rawMsg map[string]json.RawMessage 26293 if err := json.Unmarshal(data, &rawMsg); err != nil { 26294 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26295 } 26296 for key, val := range rawMsg { 26297 var err error 26298 switch key { 26299 case "end": 26300 err = unpopulate(val, "End", &q.End) 26301 delete(rawMsg, key) 26302 case "start": 26303 err = unpopulate(val, "Start", &q.Start) 26304 delete(rawMsg, key) 26305 } 26306 if err != nil { 26307 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26308 } 26309 } 26310 return nil 26311 } 26312 26313 // MarshalJSON implements the json.Marshaller interface for type QueryInboundNatRulePortMappingRequest. 26314 func (q QueryInboundNatRulePortMappingRequest) MarshalJSON() ([]byte, error) { 26315 objectMap := make(map[string]any) 26316 populate(objectMap, "ipAddress", q.IPAddress) 26317 populate(objectMap, "ipConfiguration", q.IPConfiguration) 26318 return json.Marshal(objectMap) 26319 } 26320 26321 // UnmarshalJSON implements the json.Unmarshaller interface for type QueryInboundNatRulePortMappingRequest. 26322 func (q *QueryInboundNatRulePortMappingRequest) UnmarshalJSON(data []byte) error { 26323 var rawMsg map[string]json.RawMessage 26324 if err := json.Unmarshal(data, &rawMsg); err != nil { 26325 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26326 } 26327 for key, val := range rawMsg { 26328 var err error 26329 switch key { 26330 case "ipAddress": 26331 err = unpopulate(val, "IPAddress", &q.IPAddress) 26332 delete(rawMsg, key) 26333 case "ipConfiguration": 26334 err = unpopulate(val, "IPConfiguration", &q.IPConfiguration) 26335 delete(rawMsg, key) 26336 } 26337 if err != nil { 26338 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26339 } 26340 } 26341 return nil 26342 } 26343 26344 // MarshalJSON implements the json.Marshaller interface for type QueryRequestOptions. 26345 func (q QueryRequestOptions) MarshalJSON() ([]byte, error) { 26346 objectMap := make(map[string]any) 26347 populate(objectMap, "skipToken", q.SkipToken) 26348 return json.Marshal(objectMap) 26349 } 26350 26351 // UnmarshalJSON implements the json.Unmarshaller interface for type QueryRequestOptions. 26352 func (q *QueryRequestOptions) UnmarshalJSON(data []byte) error { 26353 var rawMsg map[string]json.RawMessage 26354 if err := json.Unmarshal(data, &rawMsg); err != nil { 26355 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26356 } 26357 for key, val := range rawMsg { 26358 var err error 26359 switch key { 26360 case "skipToken": 26361 err = unpopulate(val, "SkipToken", &q.SkipToken) 26362 delete(rawMsg, key) 26363 } 26364 if err != nil { 26365 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26366 } 26367 } 26368 return nil 26369 } 26370 26371 // MarshalJSON implements the json.Marshaller interface for type QueryResults. 26372 func (q QueryResults) MarshalJSON() ([]byte, error) { 26373 objectMap := make(map[string]any) 26374 populate(objectMap, "matchingRecordsCount", q.MatchingRecordsCount) 26375 populate(objectMap, "signatures", q.Signatures) 26376 return json.Marshal(objectMap) 26377 } 26378 26379 // UnmarshalJSON implements the json.Unmarshaller interface for type QueryResults. 26380 func (q *QueryResults) UnmarshalJSON(data []byte) error { 26381 var rawMsg map[string]json.RawMessage 26382 if err := json.Unmarshal(data, &rawMsg); err != nil { 26383 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26384 } 26385 for key, val := range rawMsg { 26386 var err error 26387 switch key { 26388 case "matchingRecordsCount": 26389 err = unpopulate(val, "MatchingRecordsCount", &q.MatchingRecordsCount) 26390 delete(rawMsg, key) 26391 case "signatures": 26392 err = unpopulate(val, "Signatures", &q.Signatures) 26393 delete(rawMsg, key) 26394 } 26395 if err != nil { 26396 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26397 } 26398 } 26399 return nil 26400 } 26401 26402 // MarshalJSON implements the json.Marshaller interface for type QueryTroubleshootingParameters. 26403 func (q QueryTroubleshootingParameters) MarshalJSON() ([]byte, error) { 26404 objectMap := make(map[string]any) 26405 populate(objectMap, "targetResourceId", q.TargetResourceID) 26406 return json.Marshal(objectMap) 26407 } 26408 26409 // UnmarshalJSON implements the json.Unmarshaller interface for type QueryTroubleshootingParameters. 26410 func (q *QueryTroubleshootingParameters) UnmarshalJSON(data []byte) error { 26411 var rawMsg map[string]json.RawMessage 26412 if err := json.Unmarshal(data, &rawMsg); err != nil { 26413 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26414 } 26415 for key, val := range rawMsg { 26416 var err error 26417 switch key { 26418 case "targetResourceId": 26419 err = unpopulate(val, "TargetResourceID", &q.TargetResourceID) 26420 delete(rawMsg, key) 26421 } 26422 if err != nil { 26423 return fmt.Errorf("unmarshalling type %T: %v", q, err) 26424 } 26425 } 26426 return nil 26427 } 26428 26429 // MarshalJSON implements the json.Marshaller interface for type RadiusServer. 26430 func (r RadiusServer) MarshalJSON() ([]byte, error) { 26431 objectMap := make(map[string]any) 26432 populate(objectMap, "radiusServerAddress", r.RadiusServerAddress) 26433 populate(objectMap, "radiusServerScore", r.RadiusServerScore) 26434 populate(objectMap, "radiusServerSecret", r.RadiusServerSecret) 26435 return json.Marshal(objectMap) 26436 } 26437 26438 // UnmarshalJSON implements the json.Unmarshaller interface for type RadiusServer. 26439 func (r *RadiusServer) UnmarshalJSON(data []byte) error { 26440 var rawMsg map[string]json.RawMessage 26441 if err := json.Unmarshal(data, &rawMsg); err != nil { 26442 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26443 } 26444 for key, val := range rawMsg { 26445 var err error 26446 switch key { 26447 case "radiusServerAddress": 26448 err = unpopulate(val, "RadiusServerAddress", &r.RadiusServerAddress) 26449 delete(rawMsg, key) 26450 case "radiusServerScore": 26451 err = unpopulate(val, "RadiusServerScore", &r.RadiusServerScore) 26452 delete(rawMsg, key) 26453 case "radiusServerSecret": 26454 err = unpopulate(val, "RadiusServerSecret", &r.RadiusServerSecret) 26455 delete(rawMsg, key) 26456 } 26457 if err != nil { 26458 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26459 } 26460 } 26461 return nil 26462 } 26463 26464 // MarshalJSON implements the json.Marshaller interface for type ReachabilityAnalysisIntent. 26465 func (r ReachabilityAnalysisIntent) MarshalJSON() ([]byte, error) { 26466 objectMap := make(map[string]any) 26467 populate(objectMap, "id", r.ID) 26468 populate(objectMap, "name", r.Name) 26469 populate(objectMap, "properties", r.Properties) 26470 populate(objectMap, "systemData", r.SystemData) 26471 populate(objectMap, "type", r.Type) 26472 return json.Marshal(objectMap) 26473 } 26474 26475 // UnmarshalJSON implements the json.Unmarshaller interface for type ReachabilityAnalysisIntent. 26476 func (r *ReachabilityAnalysisIntent) UnmarshalJSON(data []byte) error { 26477 var rawMsg map[string]json.RawMessage 26478 if err := json.Unmarshal(data, &rawMsg); err != nil { 26479 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26480 } 26481 for key, val := range rawMsg { 26482 var err error 26483 switch key { 26484 case "id": 26485 err = unpopulate(val, "ID", &r.ID) 26486 delete(rawMsg, key) 26487 case "name": 26488 err = unpopulate(val, "Name", &r.Name) 26489 delete(rawMsg, key) 26490 case "properties": 26491 err = unpopulate(val, "Properties", &r.Properties) 26492 delete(rawMsg, key) 26493 case "systemData": 26494 err = unpopulate(val, "SystemData", &r.SystemData) 26495 delete(rawMsg, key) 26496 case "type": 26497 err = unpopulate(val, "Type", &r.Type) 26498 delete(rawMsg, key) 26499 } 26500 if err != nil { 26501 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26502 } 26503 } 26504 return nil 26505 } 26506 26507 // MarshalJSON implements the json.Marshaller interface for type ReachabilityAnalysisIntentListResult. 26508 func (r ReachabilityAnalysisIntentListResult) MarshalJSON() ([]byte, error) { 26509 objectMap := make(map[string]any) 26510 populate(objectMap, "nextLink", r.NextLink) 26511 populate(objectMap, "value", r.Value) 26512 return json.Marshal(objectMap) 26513 } 26514 26515 // UnmarshalJSON implements the json.Unmarshaller interface for type ReachabilityAnalysisIntentListResult. 26516 func (r *ReachabilityAnalysisIntentListResult) UnmarshalJSON(data []byte) error { 26517 var rawMsg map[string]json.RawMessage 26518 if err := json.Unmarshal(data, &rawMsg); err != nil { 26519 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26520 } 26521 for key, val := range rawMsg { 26522 var err error 26523 switch key { 26524 case "nextLink": 26525 err = unpopulate(val, "NextLink", &r.NextLink) 26526 delete(rawMsg, key) 26527 case "value": 26528 err = unpopulate(val, "Value", &r.Value) 26529 delete(rawMsg, key) 26530 } 26531 if err != nil { 26532 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26533 } 26534 } 26535 return nil 26536 } 26537 26538 // MarshalJSON implements the json.Marshaller interface for type ReachabilityAnalysisIntentProperties. 26539 func (r ReachabilityAnalysisIntentProperties) MarshalJSON() ([]byte, error) { 26540 objectMap := make(map[string]any) 26541 populate(objectMap, "description", r.Description) 26542 populate(objectMap, "destinationResourceId", r.DestinationResourceID) 26543 populate(objectMap, "ipTraffic", r.IPTraffic) 26544 populate(objectMap, "provisioningState", r.ProvisioningState) 26545 populate(objectMap, "sourceResourceId", r.SourceResourceID) 26546 return json.Marshal(objectMap) 26547 } 26548 26549 // UnmarshalJSON implements the json.Unmarshaller interface for type ReachabilityAnalysisIntentProperties. 26550 func (r *ReachabilityAnalysisIntentProperties) UnmarshalJSON(data []byte) error { 26551 var rawMsg map[string]json.RawMessage 26552 if err := json.Unmarshal(data, &rawMsg); err != nil { 26553 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26554 } 26555 for key, val := range rawMsg { 26556 var err error 26557 switch key { 26558 case "description": 26559 err = unpopulate(val, "Description", &r.Description) 26560 delete(rawMsg, key) 26561 case "destinationResourceId": 26562 err = unpopulate(val, "DestinationResourceID", &r.DestinationResourceID) 26563 delete(rawMsg, key) 26564 case "ipTraffic": 26565 err = unpopulate(val, "IPTraffic", &r.IPTraffic) 26566 delete(rawMsg, key) 26567 case "provisioningState": 26568 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 26569 delete(rawMsg, key) 26570 case "sourceResourceId": 26571 err = unpopulate(val, "SourceResourceID", &r.SourceResourceID) 26572 delete(rawMsg, key) 26573 } 26574 if err != nil { 26575 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26576 } 26577 } 26578 return nil 26579 } 26580 26581 // MarshalJSON implements the json.Marshaller interface for type ReachabilityAnalysisRun. 26582 func (r ReachabilityAnalysisRun) MarshalJSON() ([]byte, error) { 26583 objectMap := make(map[string]any) 26584 populate(objectMap, "id", r.ID) 26585 populate(objectMap, "name", r.Name) 26586 populate(objectMap, "properties", r.Properties) 26587 populate(objectMap, "systemData", r.SystemData) 26588 populate(objectMap, "type", r.Type) 26589 return json.Marshal(objectMap) 26590 } 26591 26592 // UnmarshalJSON implements the json.Unmarshaller interface for type ReachabilityAnalysisRun. 26593 func (r *ReachabilityAnalysisRun) UnmarshalJSON(data []byte) error { 26594 var rawMsg map[string]json.RawMessage 26595 if err := json.Unmarshal(data, &rawMsg); err != nil { 26596 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26597 } 26598 for key, val := range rawMsg { 26599 var err error 26600 switch key { 26601 case "id": 26602 err = unpopulate(val, "ID", &r.ID) 26603 delete(rawMsg, key) 26604 case "name": 26605 err = unpopulate(val, "Name", &r.Name) 26606 delete(rawMsg, key) 26607 case "properties": 26608 err = unpopulate(val, "Properties", &r.Properties) 26609 delete(rawMsg, key) 26610 case "systemData": 26611 err = unpopulate(val, "SystemData", &r.SystemData) 26612 delete(rawMsg, key) 26613 case "type": 26614 err = unpopulate(val, "Type", &r.Type) 26615 delete(rawMsg, key) 26616 } 26617 if err != nil { 26618 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26619 } 26620 } 26621 return nil 26622 } 26623 26624 // MarshalJSON implements the json.Marshaller interface for type ReachabilityAnalysisRunListResult. 26625 func (r ReachabilityAnalysisRunListResult) MarshalJSON() ([]byte, error) { 26626 objectMap := make(map[string]any) 26627 populate(objectMap, "nextLink", r.NextLink) 26628 populate(objectMap, "value", r.Value) 26629 return json.Marshal(objectMap) 26630 } 26631 26632 // UnmarshalJSON implements the json.Unmarshaller interface for type ReachabilityAnalysisRunListResult. 26633 func (r *ReachabilityAnalysisRunListResult) UnmarshalJSON(data []byte) error { 26634 var rawMsg map[string]json.RawMessage 26635 if err := json.Unmarshal(data, &rawMsg); err != nil { 26636 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26637 } 26638 for key, val := range rawMsg { 26639 var err error 26640 switch key { 26641 case "nextLink": 26642 err = unpopulate(val, "NextLink", &r.NextLink) 26643 delete(rawMsg, key) 26644 case "value": 26645 err = unpopulate(val, "Value", &r.Value) 26646 delete(rawMsg, key) 26647 } 26648 if err != nil { 26649 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26650 } 26651 } 26652 return nil 26653 } 26654 26655 // MarshalJSON implements the json.Marshaller interface for type ReachabilityAnalysisRunProperties. 26656 func (r ReachabilityAnalysisRunProperties) MarshalJSON() ([]byte, error) { 26657 objectMap := make(map[string]any) 26658 populate(objectMap, "analysisResult", r.AnalysisResult) 26659 populate(objectMap, "description", r.Description) 26660 populate(objectMap, "errorMessage", r.ErrorMessage) 26661 populate(objectMap, "intentContent", r.IntentContent) 26662 populate(objectMap, "intentId", r.IntentID) 26663 populate(objectMap, "provisioningState", r.ProvisioningState) 26664 return json.Marshal(objectMap) 26665 } 26666 26667 // UnmarshalJSON implements the json.Unmarshaller interface for type ReachabilityAnalysisRunProperties. 26668 func (r *ReachabilityAnalysisRunProperties) UnmarshalJSON(data []byte) error { 26669 var rawMsg map[string]json.RawMessage 26670 if err := json.Unmarshal(data, &rawMsg); err != nil { 26671 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26672 } 26673 for key, val := range rawMsg { 26674 var err error 26675 switch key { 26676 case "analysisResult": 26677 err = unpopulate(val, "AnalysisResult", &r.AnalysisResult) 26678 delete(rawMsg, key) 26679 case "description": 26680 err = unpopulate(val, "Description", &r.Description) 26681 delete(rawMsg, key) 26682 case "errorMessage": 26683 err = unpopulate(val, "ErrorMessage", &r.ErrorMessage) 26684 delete(rawMsg, key) 26685 case "intentContent": 26686 err = unpopulate(val, "IntentContent", &r.IntentContent) 26687 delete(rawMsg, key) 26688 case "intentId": 26689 err = unpopulate(val, "IntentID", &r.IntentID) 26690 delete(rawMsg, key) 26691 case "provisioningState": 26692 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 26693 delete(rawMsg, key) 26694 } 26695 if err != nil { 26696 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26697 } 26698 } 26699 return nil 26700 } 26701 26702 // MarshalJSON implements the json.Marshaller interface for type RecordSet. 26703 func (r RecordSet) MarshalJSON() ([]byte, error) { 26704 objectMap := make(map[string]any) 26705 populate(objectMap, "fqdn", r.Fqdn) 26706 populate(objectMap, "ipAddresses", r.IPAddresses) 26707 populate(objectMap, "provisioningState", r.ProvisioningState) 26708 populate(objectMap, "recordSetName", r.RecordSetName) 26709 populate(objectMap, "recordType", r.RecordType) 26710 populate(objectMap, "ttl", r.TTL) 26711 return json.Marshal(objectMap) 26712 } 26713 26714 // UnmarshalJSON implements the json.Unmarshaller interface for type RecordSet. 26715 func (r *RecordSet) UnmarshalJSON(data []byte) error { 26716 var rawMsg map[string]json.RawMessage 26717 if err := json.Unmarshal(data, &rawMsg); err != nil { 26718 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26719 } 26720 for key, val := range rawMsg { 26721 var err error 26722 switch key { 26723 case "fqdn": 26724 err = unpopulate(val, "Fqdn", &r.Fqdn) 26725 delete(rawMsg, key) 26726 case "ipAddresses": 26727 err = unpopulate(val, "IPAddresses", &r.IPAddresses) 26728 delete(rawMsg, key) 26729 case "provisioningState": 26730 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 26731 delete(rawMsg, key) 26732 case "recordSetName": 26733 err = unpopulate(val, "RecordSetName", &r.RecordSetName) 26734 delete(rawMsg, key) 26735 case "recordType": 26736 err = unpopulate(val, "RecordType", &r.RecordType) 26737 delete(rawMsg, key) 26738 case "ttl": 26739 err = unpopulate(val, "TTL", &r.TTL) 26740 delete(rawMsg, key) 26741 } 26742 if err != nil { 26743 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26744 } 26745 } 26746 return nil 26747 } 26748 26749 // MarshalJSON implements the json.Marshaller interface for type ReferencedPublicIPAddress. 26750 func (r ReferencedPublicIPAddress) MarshalJSON() ([]byte, error) { 26751 objectMap := make(map[string]any) 26752 populate(objectMap, "id", r.ID) 26753 return json.Marshal(objectMap) 26754 } 26755 26756 // UnmarshalJSON implements the json.Unmarshaller interface for type ReferencedPublicIPAddress. 26757 func (r *ReferencedPublicIPAddress) UnmarshalJSON(data []byte) error { 26758 var rawMsg map[string]json.RawMessage 26759 if err := json.Unmarshal(data, &rawMsg); err != nil { 26760 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26761 } 26762 for key, val := range rawMsg { 26763 var err error 26764 switch key { 26765 case "id": 26766 err = unpopulate(val, "ID", &r.ID) 26767 delete(rawMsg, key) 26768 } 26769 if err != nil { 26770 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26771 } 26772 } 26773 return nil 26774 } 26775 26776 // MarshalJSON implements the json.Marshaller interface for type Resource. 26777 func (r Resource) MarshalJSON() ([]byte, error) { 26778 objectMap := make(map[string]any) 26779 populate(objectMap, "id", r.ID) 26780 populate(objectMap, "location", r.Location) 26781 populate(objectMap, "name", r.Name) 26782 populate(objectMap, "tags", r.Tags) 26783 populate(objectMap, "type", r.Type) 26784 return json.Marshal(objectMap) 26785 } 26786 26787 // UnmarshalJSON implements the json.Unmarshaller interface for type Resource. 26788 func (r *Resource) UnmarshalJSON(data []byte) error { 26789 var rawMsg map[string]json.RawMessage 26790 if err := json.Unmarshal(data, &rawMsg); err != nil { 26791 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26792 } 26793 for key, val := range rawMsg { 26794 var err error 26795 switch key { 26796 case "id": 26797 err = unpopulate(val, "ID", &r.ID) 26798 delete(rawMsg, key) 26799 case "location": 26800 err = unpopulate(val, "Location", &r.Location) 26801 delete(rawMsg, key) 26802 case "name": 26803 err = unpopulate(val, "Name", &r.Name) 26804 delete(rawMsg, key) 26805 case "tags": 26806 err = unpopulate(val, "Tags", &r.Tags) 26807 delete(rawMsg, key) 26808 case "type": 26809 err = unpopulate(val, "Type", &r.Type) 26810 delete(rawMsg, key) 26811 } 26812 if err != nil { 26813 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26814 } 26815 } 26816 return nil 26817 } 26818 26819 // MarshalJSON implements the json.Marshaller interface for type ResourceBasics. 26820 func (r ResourceBasics) MarshalJSON() ([]byte, error) { 26821 objectMap := make(map[string]any) 26822 populate(objectMap, "addressPrefixes", r.AddressPrefixes) 26823 populate(objectMap, "resourceId", r.ResourceID) 26824 return json.Marshal(objectMap) 26825 } 26826 26827 // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceBasics. 26828 func (r *ResourceBasics) UnmarshalJSON(data []byte) error { 26829 var rawMsg map[string]json.RawMessage 26830 if err := json.Unmarshal(data, &rawMsg); err != nil { 26831 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26832 } 26833 for key, val := range rawMsg { 26834 var err error 26835 switch key { 26836 case "addressPrefixes": 26837 err = unpopulate(val, "AddressPrefixes", &r.AddressPrefixes) 26838 delete(rawMsg, key) 26839 case "resourceId": 26840 err = unpopulate(val, "ResourceID", &r.ResourceID) 26841 delete(rawMsg, key) 26842 } 26843 if err != nil { 26844 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26845 } 26846 } 26847 return nil 26848 } 26849 26850 // MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLink. 26851 func (r ResourceNavigationLink) MarshalJSON() ([]byte, error) { 26852 objectMap := make(map[string]any) 26853 populate(objectMap, "etag", r.Etag) 26854 populate(objectMap, "id", r.ID) 26855 populate(objectMap, "name", r.Name) 26856 populate(objectMap, "properties", r.Properties) 26857 populate(objectMap, "type", r.Type) 26858 return json.Marshal(objectMap) 26859 } 26860 26861 // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceNavigationLink. 26862 func (r *ResourceNavigationLink) UnmarshalJSON(data []byte) error { 26863 var rawMsg map[string]json.RawMessage 26864 if err := json.Unmarshal(data, &rawMsg); err != nil { 26865 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26866 } 26867 for key, val := range rawMsg { 26868 var err error 26869 switch key { 26870 case "etag": 26871 err = unpopulate(val, "Etag", &r.Etag) 26872 delete(rawMsg, key) 26873 case "id": 26874 err = unpopulate(val, "ID", &r.ID) 26875 delete(rawMsg, key) 26876 case "name": 26877 err = unpopulate(val, "Name", &r.Name) 26878 delete(rawMsg, key) 26879 case "properties": 26880 err = unpopulate(val, "Properties", &r.Properties) 26881 delete(rawMsg, key) 26882 case "type": 26883 err = unpopulate(val, "Type", &r.Type) 26884 delete(rawMsg, key) 26885 } 26886 if err != nil { 26887 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26888 } 26889 } 26890 return nil 26891 } 26892 26893 // MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLinkFormat. 26894 func (r ResourceNavigationLinkFormat) MarshalJSON() ([]byte, error) { 26895 objectMap := make(map[string]any) 26896 populate(objectMap, "link", r.Link) 26897 populate(objectMap, "linkedResourceType", r.LinkedResourceType) 26898 populate(objectMap, "provisioningState", r.ProvisioningState) 26899 return json.Marshal(objectMap) 26900 } 26901 26902 // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceNavigationLinkFormat. 26903 func (r *ResourceNavigationLinkFormat) UnmarshalJSON(data []byte) error { 26904 var rawMsg map[string]json.RawMessage 26905 if err := json.Unmarshal(data, &rawMsg); err != nil { 26906 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26907 } 26908 for key, val := range rawMsg { 26909 var err error 26910 switch key { 26911 case "link": 26912 err = unpopulate(val, "Link", &r.Link) 26913 delete(rawMsg, key) 26914 case "linkedResourceType": 26915 err = unpopulate(val, "LinkedResourceType", &r.LinkedResourceType) 26916 delete(rawMsg, key) 26917 case "provisioningState": 26918 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 26919 delete(rawMsg, key) 26920 } 26921 if err != nil { 26922 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26923 } 26924 } 26925 return nil 26926 } 26927 26928 // MarshalJSON implements the json.Marshaller interface for type ResourceNavigationLinksListResult. 26929 func (r ResourceNavigationLinksListResult) MarshalJSON() ([]byte, error) { 26930 objectMap := make(map[string]any) 26931 populate(objectMap, "nextLink", r.NextLink) 26932 populate(objectMap, "value", r.Value) 26933 return json.Marshal(objectMap) 26934 } 26935 26936 // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceNavigationLinksListResult. 26937 func (r *ResourceNavigationLinksListResult) UnmarshalJSON(data []byte) error { 26938 var rawMsg map[string]json.RawMessage 26939 if err := json.Unmarshal(data, &rawMsg); err != nil { 26940 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26941 } 26942 for key, val := range rawMsg { 26943 var err error 26944 switch key { 26945 case "nextLink": 26946 err = unpopulate(val, "NextLink", &r.NextLink) 26947 delete(rawMsg, key) 26948 case "value": 26949 err = unpopulate(val, "Value", &r.Value) 26950 delete(rawMsg, key) 26951 } 26952 if err != nil { 26953 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26954 } 26955 } 26956 return nil 26957 } 26958 26959 // MarshalJSON implements the json.Marshaller interface for type ResourceSet. 26960 func (r ResourceSet) MarshalJSON() ([]byte, error) { 26961 objectMap := make(map[string]any) 26962 populate(objectMap, "subscriptions", r.Subscriptions) 26963 return json.Marshal(objectMap) 26964 } 26965 26966 // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceSet. 26967 func (r *ResourceSet) UnmarshalJSON(data []byte) error { 26968 var rawMsg map[string]json.RawMessage 26969 if err := json.Unmarshal(data, &rawMsg); err != nil { 26970 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26971 } 26972 for key, val := range rawMsg { 26973 var err error 26974 switch key { 26975 case "subscriptions": 26976 err = unpopulate(val, "Subscriptions", &r.Subscriptions) 26977 delete(rawMsg, key) 26978 } 26979 if err != nil { 26980 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26981 } 26982 } 26983 return nil 26984 } 26985 26986 // MarshalJSON implements the json.Marshaller interface for type RetentionPolicyParameters. 26987 func (r RetentionPolicyParameters) MarshalJSON() ([]byte, error) { 26988 objectMap := make(map[string]any) 26989 populate(objectMap, "days", r.Days) 26990 populate(objectMap, "enabled", r.Enabled) 26991 return json.Marshal(objectMap) 26992 } 26993 26994 // UnmarshalJSON implements the json.Unmarshaller interface for type RetentionPolicyParameters. 26995 func (r *RetentionPolicyParameters) UnmarshalJSON(data []byte) error { 26996 var rawMsg map[string]json.RawMessage 26997 if err := json.Unmarshal(data, &rawMsg); err != nil { 26998 return fmt.Errorf("unmarshalling type %T: %v", r, err) 26999 } 27000 for key, val := range rawMsg { 27001 var err error 27002 switch key { 27003 case "days": 27004 err = unpopulate(val, "Days", &r.Days) 27005 delete(rawMsg, key) 27006 case "enabled": 27007 err = unpopulate(val, "Enabled", &r.Enabled) 27008 delete(rawMsg, key) 27009 } 27010 if err != nil { 27011 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27012 } 27013 } 27014 return nil 27015 } 27016 27017 // MarshalJSON implements the json.Marshaller interface for type Route. 27018 func (r Route) MarshalJSON() ([]byte, error) { 27019 objectMap := make(map[string]any) 27020 populate(objectMap, "etag", r.Etag) 27021 populate(objectMap, "id", r.ID) 27022 populate(objectMap, "name", r.Name) 27023 populate(objectMap, "properties", r.Properties) 27024 populate(objectMap, "type", r.Type) 27025 return json.Marshal(objectMap) 27026 } 27027 27028 // UnmarshalJSON implements the json.Unmarshaller interface for type Route. 27029 func (r *Route) UnmarshalJSON(data []byte) error { 27030 var rawMsg map[string]json.RawMessage 27031 if err := json.Unmarshal(data, &rawMsg); err != nil { 27032 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27033 } 27034 for key, val := range rawMsg { 27035 var err error 27036 switch key { 27037 case "etag": 27038 err = unpopulate(val, "Etag", &r.Etag) 27039 delete(rawMsg, key) 27040 case "id": 27041 err = unpopulate(val, "ID", &r.ID) 27042 delete(rawMsg, key) 27043 case "name": 27044 err = unpopulate(val, "Name", &r.Name) 27045 delete(rawMsg, key) 27046 case "properties": 27047 err = unpopulate(val, "Properties", &r.Properties) 27048 delete(rawMsg, key) 27049 case "type": 27050 err = unpopulate(val, "Type", &r.Type) 27051 delete(rawMsg, key) 27052 } 27053 if err != nil { 27054 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27055 } 27056 } 27057 return nil 27058 } 27059 27060 // MarshalJSON implements the json.Marshaller interface for type RouteFilter. 27061 func (r RouteFilter) MarshalJSON() ([]byte, error) { 27062 objectMap := make(map[string]any) 27063 populate(objectMap, "etag", r.Etag) 27064 populate(objectMap, "id", r.ID) 27065 populate(objectMap, "location", r.Location) 27066 populate(objectMap, "name", r.Name) 27067 populate(objectMap, "properties", r.Properties) 27068 populate(objectMap, "tags", r.Tags) 27069 populate(objectMap, "type", r.Type) 27070 return json.Marshal(objectMap) 27071 } 27072 27073 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteFilter. 27074 func (r *RouteFilter) UnmarshalJSON(data []byte) error { 27075 var rawMsg map[string]json.RawMessage 27076 if err := json.Unmarshal(data, &rawMsg); err != nil { 27077 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27078 } 27079 for key, val := range rawMsg { 27080 var err error 27081 switch key { 27082 case "etag": 27083 err = unpopulate(val, "Etag", &r.Etag) 27084 delete(rawMsg, key) 27085 case "id": 27086 err = unpopulate(val, "ID", &r.ID) 27087 delete(rawMsg, key) 27088 case "location": 27089 err = unpopulate(val, "Location", &r.Location) 27090 delete(rawMsg, key) 27091 case "name": 27092 err = unpopulate(val, "Name", &r.Name) 27093 delete(rawMsg, key) 27094 case "properties": 27095 err = unpopulate(val, "Properties", &r.Properties) 27096 delete(rawMsg, key) 27097 case "tags": 27098 err = unpopulate(val, "Tags", &r.Tags) 27099 delete(rawMsg, key) 27100 case "type": 27101 err = unpopulate(val, "Type", &r.Type) 27102 delete(rawMsg, key) 27103 } 27104 if err != nil { 27105 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27106 } 27107 } 27108 return nil 27109 } 27110 27111 // MarshalJSON implements the json.Marshaller interface for type RouteFilterListResult. 27112 func (r RouteFilterListResult) MarshalJSON() ([]byte, error) { 27113 objectMap := make(map[string]any) 27114 populate(objectMap, "nextLink", r.NextLink) 27115 populate(objectMap, "value", r.Value) 27116 return json.Marshal(objectMap) 27117 } 27118 27119 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteFilterListResult. 27120 func (r *RouteFilterListResult) UnmarshalJSON(data []byte) error { 27121 var rawMsg map[string]json.RawMessage 27122 if err := json.Unmarshal(data, &rawMsg); err != nil { 27123 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27124 } 27125 for key, val := range rawMsg { 27126 var err error 27127 switch key { 27128 case "nextLink": 27129 err = unpopulate(val, "NextLink", &r.NextLink) 27130 delete(rawMsg, key) 27131 case "value": 27132 err = unpopulate(val, "Value", &r.Value) 27133 delete(rawMsg, key) 27134 } 27135 if err != nil { 27136 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27137 } 27138 } 27139 return nil 27140 } 27141 27142 // MarshalJSON implements the json.Marshaller interface for type RouteFilterPropertiesFormat. 27143 func (r RouteFilterPropertiesFormat) MarshalJSON() ([]byte, error) { 27144 objectMap := make(map[string]any) 27145 populate(objectMap, "ipv6Peerings", r.IPv6Peerings) 27146 populate(objectMap, "peerings", r.Peerings) 27147 populate(objectMap, "provisioningState", r.ProvisioningState) 27148 populate(objectMap, "rules", r.Rules) 27149 return json.Marshal(objectMap) 27150 } 27151 27152 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteFilterPropertiesFormat. 27153 func (r *RouteFilterPropertiesFormat) UnmarshalJSON(data []byte) error { 27154 var rawMsg map[string]json.RawMessage 27155 if err := json.Unmarshal(data, &rawMsg); err != nil { 27156 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27157 } 27158 for key, val := range rawMsg { 27159 var err error 27160 switch key { 27161 case "ipv6Peerings": 27162 err = unpopulate(val, "IPv6Peerings", &r.IPv6Peerings) 27163 delete(rawMsg, key) 27164 case "peerings": 27165 err = unpopulate(val, "Peerings", &r.Peerings) 27166 delete(rawMsg, key) 27167 case "provisioningState": 27168 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27169 delete(rawMsg, key) 27170 case "rules": 27171 err = unpopulate(val, "Rules", &r.Rules) 27172 delete(rawMsg, key) 27173 } 27174 if err != nil { 27175 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27176 } 27177 } 27178 return nil 27179 } 27180 27181 // MarshalJSON implements the json.Marshaller interface for type RouteFilterRule. 27182 func (r RouteFilterRule) MarshalJSON() ([]byte, error) { 27183 objectMap := make(map[string]any) 27184 populate(objectMap, "etag", r.Etag) 27185 populate(objectMap, "id", r.ID) 27186 populate(objectMap, "location", r.Location) 27187 populate(objectMap, "name", r.Name) 27188 populate(objectMap, "properties", r.Properties) 27189 return json.Marshal(objectMap) 27190 } 27191 27192 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteFilterRule. 27193 func (r *RouteFilterRule) UnmarshalJSON(data []byte) error { 27194 var rawMsg map[string]json.RawMessage 27195 if err := json.Unmarshal(data, &rawMsg); err != nil { 27196 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27197 } 27198 for key, val := range rawMsg { 27199 var err error 27200 switch key { 27201 case "etag": 27202 err = unpopulate(val, "Etag", &r.Etag) 27203 delete(rawMsg, key) 27204 case "id": 27205 err = unpopulate(val, "ID", &r.ID) 27206 delete(rawMsg, key) 27207 case "location": 27208 err = unpopulate(val, "Location", &r.Location) 27209 delete(rawMsg, key) 27210 case "name": 27211 err = unpopulate(val, "Name", &r.Name) 27212 delete(rawMsg, key) 27213 case "properties": 27214 err = unpopulate(val, "Properties", &r.Properties) 27215 delete(rawMsg, key) 27216 } 27217 if err != nil { 27218 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27219 } 27220 } 27221 return nil 27222 } 27223 27224 // MarshalJSON implements the json.Marshaller interface for type RouteFilterRuleListResult. 27225 func (r RouteFilterRuleListResult) MarshalJSON() ([]byte, error) { 27226 objectMap := make(map[string]any) 27227 populate(objectMap, "nextLink", r.NextLink) 27228 populate(objectMap, "value", r.Value) 27229 return json.Marshal(objectMap) 27230 } 27231 27232 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteFilterRuleListResult. 27233 func (r *RouteFilterRuleListResult) UnmarshalJSON(data []byte) error { 27234 var rawMsg map[string]json.RawMessage 27235 if err := json.Unmarshal(data, &rawMsg); err != nil { 27236 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27237 } 27238 for key, val := range rawMsg { 27239 var err error 27240 switch key { 27241 case "nextLink": 27242 err = unpopulate(val, "NextLink", &r.NextLink) 27243 delete(rawMsg, key) 27244 case "value": 27245 err = unpopulate(val, "Value", &r.Value) 27246 delete(rawMsg, key) 27247 } 27248 if err != nil { 27249 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27250 } 27251 } 27252 return nil 27253 } 27254 27255 // MarshalJSON implements the json.Marshaller interface for type RouteFilterRulePropertiesFormat. 27256 func (r RouteFilterRulePropertiesFormat) MarshalJSON() ([]byte, error) { 27257 objectMap := make(map[string]any) 27258 populate(objectMap, "access", r.Access) 27259 populate(objectMap, "communities", r.Communities) 27260 populate(objectMap, "provisioningState", r.ProvisioningState) 27261 populate(objectMap, "routeFilterRuleType", r.RouteFilterRuleType) 27262 return json.Marshal(objectMap) 27263 } 27264 27265 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteFilterRulePropertiesFormat. 27266 func (r *RouteFilterRulePropertiesFormat) UnmarshalJSON(data []byte) error { 27267 var rawMsg map[string]json.RawMessage 27268 if err := json.Unmarshal(data, &rawMsg); err != nil { 27269 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27270 } 27271 for key, val := range rawMsg { 27272 var err error 27273 switch key { 27274 case "access": 27275 err = unpopulate(val, "Access", &r.Access) 27276 delete(rawMsg, key) 27277 case "communities": 27278 err = unpopulate(val, "Communities", &r.Communities) 27279 delete(rawMsg, key) 27280 case "provisioningState": 27281 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27282 delete(rawMsg, key) 27283 case "routeFilterRuleType": 27284 err = unpopulate(val, "RouteFilterRuleType", &r.RouteFilterRuleType) 27285 delete(rawMsg, key) 27286 } 27287 if err != nil { 27288 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27289 } 27290 } 27291 return nil 27292 } 27293 27294 // MarshalJSON implements the json.Marshaller interface for type RouteListResult. 27295 func (r RouteListResult) MarshalJSON() ([]byte, error) { 27296 objectMap := make(map[string]any) 27297 populate(objectMap, "nextLink", r.NextLink) 27298 populate(objectMap, "value", r.Value) 27299 return json.Marshal(objectMap) 27300 } 27301 27302 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteListResult. 27303 func (r *RouteListResult) UnmarshalJSON(data []byte) error { 27304 var rawMsg map[string]json.RawMessage 27305 if err := json.Unmarshal(data, &rawMsg); err != nil { 27306 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27307 } 27308 for key, val := range rawMsg { 27309 var err error 27310 switch key { 27311 case "nextLink": 27312 err = unpopulate(val, "NextLink", &r.NextLink) 27313 delete(rawMsg, key) 27314 case "value": 27315 err = unpopulate(val, "Value", &r.Value) 27316 delete(rawMsg, key) 27317 } 27318 if err != nil { 27319 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27320 } 27321 } 27322 return nil 27323 } 27324 27325 // MarshalJSON implements the json.Marshaller interface for type RouteMap. 27326 func (r RouteMap) MarshalJSON() ([]byte, error) { 27327 objectMap := make(map[string]any) 27328 populate(objectMap, "etag", r.Etag) 27329 populate(objectMap, "id", r.ID) 27330 populate(objectMap, "name", r.Name) 27331 populate(objectMap, "properties", r.Properties) 27332 populate(objectMap, "type", r.Type) 27333 return json.Marshal(objectMap) 27334 } 27335 27336 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteMap. 27337 func (r *RouteMap) UnmarshalJSON(data []byte) error { 27338 var rawMsg map[string]json.RawMessage 27339 if err := json.Unmarshal(data, &rawMsg); err != nil { 27340 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27341 } 27342 for key, val := range rawMsg { 27343 var err error 27344 switch key { 27345 case "etag": 27346 err = unpopulate(val, "Etag", &r.Etag) 27347 delete(rawMsg, key) 27348 case "id": 27349 err = unpopulate(val, "ID", &r.ID) 27350 delete(rawMsg, key) 27351 case "name": 27352 err = unpopulate(val, "Name", &r.Name) 27353 delete(rawMsg, key) 27354 case "properties": 27355 err = unpopulate(val, "Properties", &r.Properties) 27356 delete(rawMsg, key) 27357 case "type": 27358 err = unpopulate(val, "Type", &r.Type) 27359 delete(rawMsg, key) 27360 } 27361 if err != nil { 27362 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27363 } 27364 } 27365 return nil 27366 } 27367 27368 // MarshalJSON implements the json.Marshaller interface for type RouteMapProperties. 27369 func (r RouteMapProperties) MarshalJSON() ([]byte, error) { 27370 objectMap := make(map[string]any) 27371 populate(objectMap, "associatedInboundConnections", r.AssociatedInboundConnections) 27372 populate(objectMap, "associatedOutboundConnections", r.AssociatedOutboundConnections) 27373 populate(objectMap, "provisioningState", r.ProvisioningState) 27374 populate(objectMap, "rules", r.Rules) 27375 return json.Marshal(objectMap) 27376 } 27377 27378 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteMapProperties. 27379 func (r *RouteMapProperties) UnmarshalJSON(data []byte) error { 27380 var rawMsg map[string]json.RawMessage 27381 if err := json.Unmarshal(data, &rawMsg); err != nil { 27382 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27383 } 27384 for key, val := range rawMsg { 27385 var err error 27386 switch key { 27387 case "associatedInboundConnections": 27388 err = unpopulate(val, "AssociatedInboundConnections", &r.AssociatedInboundConnections) 27389 delete(rawMsg, key) 27390 case "associatedOutboundConnections": 27391 err = unpopulate(val, "AssociatedOutboundConnections", &r.AssociatedOutboundConnections) 27392 delete(rawMsg, key) 27393 case "provisioningState": 27394 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27395 delete(rawMsg, key) 27396 case "rules": 27397 err = unpopulate(val, "Rules", &r.Rules) 27398 delete(rawMsg, key) 27399 } 27400 if err != nil { 27401 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27402 } 27403 } 27404 return nil 27405 } 27406 27407 // MarshalJSON implements the json.Marshaller interface for type RouteMapRule. 27408 func (r RouteMapRule) MarshalJSON() ([]byte, error) { 27409 objectMap := make(map[string]any) 27410 populate(objectMap, "actions", r.Actions) 27411 populate(objectMap, "matchCriteria", r.MatchCriteria) 27412 populate(objectMap, "name", r.Name) 27413 populate(objectMap, "nextStepIfMatched", r.NextStepIfMatched) 27414 return json.Marshal(objectMap) 27415 } 27416 27417 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteMapRule. 27418 func (r *RouteMapRule) UnmarshalJSON(data []byte) error { 27419 var rawMsg map[string]json.RawMessage 27420 if err := json.Unmarshal(data, &rawMsg); err != nil { 27421 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27422 } 27423 for key, val := range rawMsg { 27424 var err error 27425 switch key { 27426 case "actions": 27427 err = unpopulate(val, "Actions", &r.Actions) 27428 delete(rawMsg, key) 27429 case "matchCriteria": 27430 err = unpopulate(val, "MatchCriteria", &r.MatchCriteria) 27431 delete(rawMsg, key) 27432 case "name": 27433 err = unpopulate(val, "Name", &r.Name) 27434 delete(rawMsg, key) 27435 case "nextStepIfMatched": 27436 err = unpopulate(val, "NextStepIfMatched", &r.NextStepIfMatched) 27437 delete(rawMsg, key) 27438 } 27439 if err != nil { 27440 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27441 } 27442 } 27443 return nil 27444 } 27445 27446 // MarshalJSON implements the json.Marshaller interface for type RoutePropertiesFormat. 27447 func (r RoutePropertiesFormat) MarshalJSON() ([]byte, error) { 27448 objectMap := make(map[string]any) 27449 populate(objectMap, "addressPrefix", r.AddressPrefix) 27450 populate(objectMap, "hasBgpOverride", r.HasBgpOverride) 27451 populate(objectMap, "nextHopIpAddress", r.NextHopIPAddress) 27452 populate(objectMap, "nextHopType", r.NextHopType) 27453 populate(objectMap, "provisioningState", r.ProvisioningState) 27454 return json.Marshal(objectMap) 27455 } 27456 27457 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutePropertiesFormat. 27458 func (r *RoutePropertiesFormat) UnmarshalJSON(data []byte) error { 27459 var rawMsg map[string]json.RawMessage 27460 if err := json.Unmarshal(data, &rawMsg); err != nil { 27461 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27462 } 27463 for key, val := range rawMsg { 27464 var err error 27465 switch key { 27466 case "addressPrefix": 27467 err = unpopulate(val, "AddressPrefix", &r.AddressPrefix) 27468 delete(rawMsg, key) 27469 case "hasBgpOverride": 27470 err = unpopulate(val, "HasBgpOverride", &r.HasBgpOverride) 27471 delete(rawMsg, key) 27472 case "nextHopIpAddress": 27473 err = unpopulate(val, "NextHopIPAddress", &r.NextHopIPAddress) 27474 delete(rawMsg, key) 27475 case "nextHopType": 27476 err = unpopulate(val, "NextHopType", &r.NextHopType) 27477 delete(rawMsg, key) 27478 case "provisioningState": 27479 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27480 delete(rawMsg, key) 27481 } 27482 if err != nil { 27483 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27484 } 27485 } 27486 return nil 27487 } 27488 27489 // MarshalJSON implements the json.Marshaller interface for type RouteTable. 27490 func (r RouteTable) MarshalJSON() ([]byte, error) { 27491 objectMap := make(map[string]any) 27492 populate(objectMap, "etag", r.Etag) 27493 populate(objectMap, "id", r.ID) 27494 populate(objectMap, "location", r.Location) 27495 populate(objectMap, "name", r.Name) 27496 populate(objectMap, "properties", r.Properties) 27497 populate(objectMap, "tags", r.Tags) 27498 populate(objectMap, "type", r.Type) 27499 return json.Marshal(objectMap) 27500 } 27501 27502 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteTable. 27503 func (r *RouteTable) UnmarshalJSON(data []byte) error { 27504 var rawMsg map[string]json.RawMessage 27505 if err := json.Unmarshal(data, &rawMsg); err != nil { 27506 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27507 } 27508 for key, val := range rawMsg { 27509 var err error 27510 switch key { 27511 case "etag": 27512 err = unpopulate(val, "Etag", &r.Etag) 27513 delete(rawMsg, key) 27514 case "id": 27515 err = unpopulate(val, "ID", &r.ID) 27516 delete(rawMsg, key) 27517 case "location": 27518 err = unpopulate(val, "Location", &r.Location) 27519 delete(rawMsg, key) 27520 case "name": 27521 err = unpopulate(val, "Name", &r.Name) 27522 delete(rawMsg, key) 27523 case "properties": 27524 err = unpopulate(val, "Properties", &r.Properties) 27525 delete(rawMsg, key) 27526 case "tags": 27527 err = unpopulate(val, "Tags", &r.Tags) 27528 delete(rawMsg, key) 27529 case "type": 27530 err = unpopulate(val, "Type", &r.Type) 27531 delete(rawMsg, key) 27532 } 27533 if err != nil { 27534 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27535 } 27536 } 27537 return nil 27538 } 27539 27540 // MarshalJSON implements the json.Marshaller interface for type RouteTableListResult. 27541 func (r RouteTableListResult) MarshalJSON() ([]byte, error) { 27542 objectMap := make(map[string]any) 27543 populate(objectMap, "nextLink", r.NextLink) 27544 populate(objectMap, "value", r.Value) 27545 return json.Marshal(objectMap) 27546 } 27547 27548 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteTableListResult. 27549 func (r *RouteTableListResult) UnmarshalJSON(data []byte) error { 27550 var rawMsg map[string]json.RawMessage 27551 if err := json.Unmarshal(data, &rawMsg); err != nil { 27552 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27553 } 27554 for key, val := range rawMsg { 27555 var err error 27556 switch key { 27557 case "nextLink": 27558 err = unpopulate(val, "NextLink", &r.NextLink) 27559 delete(rawMsg, key) 27560 case "value": 27561 err = unpopulate(val, "Value", &r.Value) 27562 delete(rawMsg, key) 27563 } 27564 if err != nil { 27565 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27566 } 27567 } 27568 return nil 27569 } 27570 27571 // MarshalJSON implements the json.Marshaller interface for type RouteTablePropertiesFormat. 27572 func (r RouteTablePropertiesFormat) MarshalJSON() ([]byte, error) { 27573 objectMap := make(map[string]any) 27574 populate(objectMap, "disableBgpRoutePropagation", r.DisableBgpRoutePropagation) 27575 populate(objectMap, "provisioningState", r.ProvisioningState) 27576 populate(objectMap, "resourceGuid", r.ResourceGUID) 27577 populate(objectMap, "routes", r.Routes) 27578 populate(objectMap, "subnets", r.Subnets) 27579 return json.Marshal(objectMap) 27580 } 27581 27582 // UnmarshalJSON implements the json.Unmarshaller interface for type RouteTablePropertiesFormat. 27583 func (r *RouteTablePropertiesFormat) UnmarshalJSON(data []byte) error { 27584 var rawMsg map[string]json.RawMessage 27585 if err := json.Unmarshal(data, &rawMsg); err != nil { 27586 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27587 } 27588 for key, val := range rawMsg { 27589 var err error 27590 switch key { 27591 case "disableBgpRoutePropagation": 27592 err = unpopulate(val, "DisableBgpRoutePropagation", &r.DisableBgpRoutePropagation) 27593 delete(rawMsg, key) 27594 case "provisioningState": 27595 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27596 delete(rawMsg, key) 27597 case "resourceGuid": 27598 err = unpopulate(val, "ResourceGUID", &r.ResourceGUID) 27599 delete(rawMsg, key) 27600 case "routes": 27601 err = unpopulate(val, "Routes", &r.Routes) 27602 delete(rawMsg, key) 27603 case "subnets": 27604 err = unpopulate(val, "Subnets", &r.Subnets) 27605 delete(rawMsg, key) 27606 } 27607 if err != nil { 27608 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27609 } 27610 } 27611 return nil 27612 } 27613 27614 // MarshalJSON implements the json.Marshaller interface for type RoutingConfiguration. 27615 func (r RoutingConfiguration) MarshalJSON() ([]byte, error) { 27616 objectMap := make(map[string]any) 27617 populate(objectMap, "associatedRouteTable", r.AssociatedRouteTable) 27618 populate(objectMap, "inboundRouteMap", r.InboundRouteMap) 27619 populate(objectMap, "outboundRouteMap", r.OutboundRouteMap) 27620 populate(objectMap, "propagatedRouteTables", r.PropagatedRouteTables) 27621 populate(objectMap, "vnetRoutes", r.VnetRoutes) 27622 return json.Marshal(objectMap) 27623 } 27624 27625 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingConfiguration. 27626 func (r *RoutingConfiguration) UnmarshalJSON(data []byte) error { 27627 var rawMsg map[string]json.RawMessage 27628 if err := json.Unmarshal(data, &rawMsg); err != nil { 27629 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27630 } 27631 for key, val := range rawMsg { 27632 var err error 27633 switch key { 27634 case "associatedRouteTable": 27635 err = unpopulate(val, "AssociatedRouteTable", &r.AssociatedRouteTable) 27636 delete(rawMsg, key) 27637 case "inboundRouteMap": 27638 err = unpopulate(val, "InboundRouteMap", &r.InboundRouteMap) 27639 delete(rawMsg, key) 27640 case "outboundRouteMap": 27641 err = unpopulate(val, "OutboundRouteMap", &r.OutboundRouteMap) 27642 delete(rawMsg, key) 27643 case "propagatedRouteTables": 27644 err = unpopulate(val, "PropagatedRouteTables", &r.PropagatedRouteTables) 27645 delete(rawMsg, key) 27646 case "vnetRoutes": 27647 err = unpopulate(val, "VnetRoutes", &r.VnetRoutes) 27648 delete(rawMsg, key) 27649 } 27650 if err != nil { 27651 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27652 } 27653 } 27654 return nil 27655 } 27656 27657 // MarshalJSON implements the json.Marshaller interface for type RoutingIntent. 27658 func (r RoutingIntent) MarshalJSON() ([]byte, error) { 27659 objectMap := make(map[string]any) 27660 populate(objectMap, "etag", r.Etag) 27661 populate(objectMap, "id", r.ID) 27662 populate(objectMap, "name", r.Name) 27663 populate(objectMap, "properties", r.Properties) 27664 populate(objectMap, "type", r.Type) 27665 return json.Marshal(objectMap) 27666 } 27667 27668 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingIntent. 27669 func (r *RoutingIntent) UnmarshalJSON(data []byte) error { 27670 var rawMsg map[string]json.RawMessage 27671 if err := json.Unmarshal(data, &rawMsg); err != nil { 27672 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27673 } 27674 for key, val := range rawMsg { 27675 var err error 27676 switch key { 27677 case "etag": 27678 err = unpopulate(val, "Etag", &r.Etag) 27679 delete(rawMsg, key) 27680 case "id": 27681 err = unpopulate(val, "ID", &r.ID) 27682 delete(rawMsg, key) 27683 case "name": 27684 err = unpopulate(val, "Name", &r.Name) 27685 delete(rawMsg, key) 27686 case "properties": 27687 err = unpopulate(val, "Properties", &r.Properties) 27688 delete(rawMsg, key) 27689 case "type": 27690 err = unpopulate(val, "Type", &r.Type) 27691 delete(rawMsg, key) 27692 } 27693 if err != nil { 27694 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27695 } 27696 } 27697 return nil 27698 } 27699 27700 // MarshalJSON implements the json.Marshaller interface for type RoutingIntentProperties. 27701 func (r RoutingIntentProperties) MarshalJSON() ([]byte, error) { 27702 objectMap := make(map[string]any) 27703 populate(objectMap, "provisioningState", r.ProvisioningState) 27704 populate(objectMap, "routingPolicies", r.RoutingPolicies) 27705 return json.Marshal(objectMap) 27706 } 27707 27708 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingIntentProperties. 27709 func (r *RoutingIntentProperties) UnmarshalJSON(data []byte) error { 27710 var rawMsg map[string]json.RawMessage 27711 if err := json.Unmarshal(data, &rawMsg); err != nil { 27712 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27713 } 27714 for key, val := range rawMsg { 27715 var err error 27716 switch key { 27717 case "provisioningState": 27718 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27719 delete(rawMsg, key) 27720 case "routingPolicies": 27721 err = unpopulate(val, "RoutingPolicies", &r.RoutingPolicies) 27722 delete(rawMsg, key) 27723 } 27724 if err != nil { 27725 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27726 } 27727 } 27728 return nil 27729 } 27730 27731 // MarshalJSON implements the json.Marshaller interface for type RoutingPolicy. 27732 func (r RoutingPolicy) MarshalJSON() ([]byte, error) { 27733 objectMap := make(map[string]any) 27734 populate(objectMap, "destinations", r.Destinations) 27735 populate(objectMap, "name", r.Name) 27736 populate(objectMap, "nextHop", r.NextHop) 27737 return json.Marshal(objectMap) 27738 } 27739 27740 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingPolicy. 27741 func (r *RoutingPolicy) UnmarshalJSON(data []byte) error { 27742 var rawMsg map[string]json.RawMessage 27743 if err := json.Unmarshal(data, &rawMsg); err != nil { 27744 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27745 } 27746 for key, val := range rawMsg { 27747 var err error 27748 switch key { 27749 case "destinations": 27750 err = unpopulate(val, "Destinations", &r.Destinations) 27751 delete(rawMsg, key) 27752 case "name": 27753 err = unpopulate(val, "Name", &r.Name) 27754 delete(rawMsg, key) 27755 case "nextHop": 27756 err = unpopulate(val, "NextHop", &r.NextHop) 27757 delete(rawMsg, key) 27758 } 27759 if err != nil { 27760 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27761 } 27762 } 27763 return nil 27764 } 27765 27766 // MarshalJSON implements the json.Marshaller interface for type RoutingRule. 27767 func (r RoutingRule) MarshalJSON() ([]byte, error) { 27768 objectMap := make(map[string]any) 27769 populate(objectMap, "etag", r.Etag) 27770 populate(objectMap, "id", r.ID) 27771 populate(objectMap, "name", r.Name) 27772 populate(objectMap, "properties", r.Properties) 27773 populate(objectMap, "systemData", r.SystemData) 27774 populate(objectMap, "type", r.Type) 27775 return json.Marshal(objectMap) 27776 } 27777 27778 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRule. 27779 func (r *RoutingRule) UnmarshalJSON(data []byte) error { 27780 var rawMsg map[string]json.RawMessage 27781 if err := json.Unmarshal(data, &rawMsg); err != nil { 27782 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27783 } 27784 for key, val := range rawMsg { 27785 var err error 27786 switch key { 27787 case "etag": 27788 err = unpopulate(val, "Etag", &r.Etag) 27789 delete(rawMsg, key) 27790 case "id": 27791 err = unpopulate(val, "ID", &r.ID) 27792 delete(rawMsg, key) 27793 case "name": 27794 err = unpopulate(val, "Name", &r.Name) 27795 delete(rawMsg, key) 27796 case "properties": 27797 err = unpopulate(val, "Properties", &r.Properties) 27798 delete(rawMsg, key) 27799 case "systemData": 27800 err = unpopulate(val, "SystemData", &r.SystemData) 27801 delete(rawMsg, key) 27802 case "type": 27803 err = unpopulate(val, "Type", &r.Type) 27804 delete(rawMsg, key) 27805 } 27806 if err != nil { 27807 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27808 } 27809 } 27810 return nil 27811 } 27812 27813 // MarshalJSON implements the json.Marshaller interface for type RoutingRuleCollection. 27814 func (r RoutingRuleCollection) MarshalJSON() ([]byte, error) { 27815 objectMap := make(map[string]any) 27816 populate(objectMap, "etag", r.Etag) 27817 populate(objectMap, "id", r.ID) 27818 populate(objectMap, "name", r.Name) 27819 populate(objectMap, "properties", r.Properties) 27820 populate(objectMap, "systemData", r.SystemData) 27821 populate(objectMap, "type", r.Type) 27822 return json.Marshal(objectMap) 27823 } 27824 27825 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRuleCollection. 27826 func (r *RoutingRuleCollection) UnmarshalJSON(data []byte) error { 27827 var rawMsg map[string]json.RawMessage 27828 if err := json.Unmarshal(data, &rawMsg); err != nil { 27829 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27830 } 27831 for key, val := range rawMsg { 27832 var err error 27833 switch key { 27834 case "etag": 27835 err = unpopulate(val, "Etag", &r.Etag) 27836 delete(rawMsg, key) 27837 case "id": 27838 err = unpopulate(val, "ID", &r.ID) 27839 delete(rawMsg, key) 27840 case "name": 27841 err = unpopulate(val, "Name", &r.Name) 27842 delete(rawMsg, key) 27843 case "properties": 27844 err = unpopulate(val, "Properties", &r.Properties) 27845 delete(rawMsg, key) 27846 case "systemData": 27847 err = unpopulate(val, "SystemData", &r.SystemData) 27848 delete(rawMsg, key) 27849 case "type": 27850 err = unpopulate(val, "Type", &r.Type) 27851 delete(rawMsg, key) 27852 } 27853 if err != nil { 27854 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27855 } 27856 } 27857 return nil 27858 } 27859 27860 // MarshalJSON implements the json.Marshaller interface for type RoutingRuleCollectionListResult. 27861 func (r RoutingRuleCollectionListResult) MarshalJSON() ([]byte, error) { 27862 objectMap := make(map[string]any) 27863 populate(objectMap, "nextLink", r.NextLink) 27864 populate(objectMap, "value", r.Value) 27865 return json.Marshal(objectMap) 27866 } 27867 27868 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRuleCollectionListResult. 27869 func (r *RoutingRuleCollectionListResult) UnmarshalJSON(data []byte) error { 27870 var rawMsg map[string]json.RawMessage 27871 if err := json.Unmarshal(data, &rawMsg); err != nil { 27872 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27873 } 27874 for key, val := range rawMsg { 27875 var err error 27876 switch key { 27877 case "nextLink": 27878 err = unpopulate(val, "NextLink", &r.NextLink) 27879 delete(rawMsg, key) 27880 case "value": 27881 err = unpopulate(val, "Value", &r.Value) 27882 delete(rawMsg, key) 27883 } 27884 if err != nil { 27885 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27886 } 27887 } 27888 return nil 27889 } 27890 27891 // MarshalJSON implements the json.Marshaller interface for type RoutingRuleCollectionPropertiesFormat. 27892 func (r RoutingRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 27893 objectMap := make(map[string]any) 27894 populate(objectMap, "appliesTo", r.AppliesTo) 27895 populate(objectMap, "description", r.Description) 27896 populate(objectMap, "disableBgpRoutePropagation", r.DisableBgpRoutePropagation) 27897 populate(objectMap, "provisioningState", r.ProvisioningState) 27898 populate(objectMap, "resourceGuid", r.ResourceGUID) 27899 return json.Marshal(objectMap) 27900 } 27901 27902 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRuleCollectionPropertiesFormat. 27903 func (r *RoutingRuleCollectionPropertiesFormat) UnmarshalJSON(data []byte) error { 27904 var rawMsg map[string]json.RawMessage 27905 if err := json.Unmarshal(data, &rawMsg); err != nil { 27906 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27907 } 27908 for key, val := range rawMsg { 27909 var err error 27910 switch key { 27911 case "appliesTo": 27912 err = unpopulate(val, "AppliesTo", &r.AppliesTo) 27913 delete(rawMsg, key) 27914 case "description": 27915 err = unpopulate(val, "Description", &r.Description) 27916 delete(rawMsg, key) 27917 case "disableBgpRoutePropagation": 27918 err = unpopulate(val, "DisableBgpRoutePropagation", &r.DisableBgpRoutePropagation) 27919 delete(rawMsg, key) 27920 case "provisioningState": 27921 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 27922 delete(rawMsg, key) 27923 case "resourceGuid": 27924 err = unpopulate(val, "ResourceGUID", &r.ResourceGUID) 27925 delete(rawMsg, key) 27926 } 27927 if err != nil { 27928 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27929 } 27930 } 27931 return nil 27932 } 27933 27934 // MarshalJSON implements the json.Marshaller interface for type RoutingRuleListResult. 27935 func (r RoutingRuleListResult) MarshalJSON() ([]byte, error) { 27936 objectMap := make(map[string]any) 27937 populate(objectMap, "nextLink", r.NextLink) 27938 populate(objectMap, "value", r.Value) 27939 return json.Marshal(objectMap) 27940 } 27941 27942 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRuleListResult. 27943 func (r *RoutingRuleListResult) UnmarshalJSON(data []byte) error { 27944 var rawMsg map[string]json.RawMessage 27945 if err := json.Unmarshal(data, &rawMsg); err != nil { 27946 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27947 } 27948 for key, val := range rawMsg { 27949 var err error 27950 switch key { 27951 case "nextLink": 27952 err = unpopulate(val, "NextLink", &r.NextLink) 27953 delete(rawMsg, key) 27954 case "value": 27955 err = unpopulate(val, "Value", &r.Value) 27956 delete(rawMsg, key) 27957 } 27958 if err != nil { 27959 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27960 } 27961 } 27962 return nil 27963 } 27964 27965 // MarshalJSON implements the json.Marshaller interface for type RoutingRuleNextHop. 27966 func (r RoutingRuleNextHop) MarshalJSON() ([]byte, error) { 27967 objectMap := make(map[string]any) 27968 populate(objectMap, "nextHopAddress", r.NextHopAddress) 27969 populate(objectMap, "nextHopType", r.NextHopType) 27970 return json.Marshal(objectMap) 27971 } 27972 27973 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRuleNextHop. 27974 func (r *RoutingRuleNextHop) UnmarshalJSON(data []byte) error { 27975 var rawMsg map[string]json.RawMessage 27976 if err := json.Unmarshal(data, &rawMsg); err != nil { 27977 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27978 } 27979 for key, val := range rawMsg { 27980 var err error 27981 switch key { 27982 case "nextHopAddress": 27983 err = unpopulate(val, "NextHopAddress", &r.NextHopAddress) 27984 delete(rawMsg, key) 27985 case "nextHopType": 27986 err = unpopulate(val, "NextHopType", &r.NextHopType) 27987 delete(rawMsg, key) 27988 } 27989 if err != nil { 27990 return fmt.Errorf("unmarshalling type %T: %v", r, err) 27991 } 27992 } 27993 return nil 27994 } 27995 27996 // MarshalJSON implements the json.Marshaller interface for type RoutingRulePropertiesFormat. 27997 func (r RoutingRulePropertiesFormat) MarshalJSON() ([]byte, error) { 27998 objectMap := make(map[string]any) 27999 populate(objectMap, "description", r.Description) 28000 populate(objectMap, "destination", r.Destination) 28001 populate(objectMap, "nextHop", r.NextHop) 28002 populate(objectMap, "provisioningState", r.ProvisioningState) 28003 populate(objectMap, "resourceGuid", r.ResourceGUID) 28004 return json.Marshal(objectMap) 28005 } 28006 28007 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRulePropertiesFormat. 28008 func (r *RoutingRulePropertiesFormat) UnmarshalJSON(data []byte) error { 28009 var rawMsg map[string]json.RawMessage 28010 if err := json.Unmarshal(data, &rawMsg); err != nil { 28011 return fmt.Errorf("unmarshalling type %T: %v", r, err) 28012 } 28013 for key, val := range rawMsg { 28014 var err error 28015 switch key { 28016 case "description": 28017 err = unpopulate(val, "Description", &r.Description) 28018 delete(rawMsg, key) 28019 case "destination": 28020 err = unpopulate(val, "Destination", &r.Destination) 28021 delete(rawMsg, key) 28022 case "nextHop": 28023 err = unpopulate(val, "NextHop", &r.NextHop) 28024 delete(rawMsg, key) 28025 case "provisioningState": 28026 err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) 28027 delete(rawMsg, key) 28028 case "resourceGuid": 28029 err = unpopulate(val, "ResourceGUID", &r.ResourceGUID) 28030 delete(rawMsg, key) 28031 } 28032 if err != nil { 28033 return fmt.Errorf("unmarshalling type %T: %v", r, err) 28034 } 28035 } 28036 return nil 28037 } 28038 28039 // MarshalJSON implements the json.Marshaller interface for type RoutingRuleRouteDestination. 28040 func (r RoutingRuleRouteDestination) MarshalJSON() ([]byte, error) { 28041 objectMap := make(map[string]any) 28042 populate(objectMap, "destinationAddress", r.DestinationAddress) 28043 populate(objectMap, "type", r.Type) 28044 return json.Marshal(objectMap) 28045 } 28046 28047 // UnmarshalJSON implements the json.Unmarshaller interface for type RoutingRuleRouteDestination. 28048 func (r *RoutingRuleRouteDestination) UnmarshalJSON(data []byte) error { 28049 var rawMsg map[string]json.RawMessage 28050 if err := json.Unmarshal(data, &rawMsg); err != nil { 28051 return fmt.Errorf("unmarshalling type %T: %v", r, err) 28052 } 28053 for key, val := range rawMsg { 28054 var err error 28055 switch key { 28056 case "destinationAddress": 28057 err = unpopulate(val, "DestinationAddress", &r.DestinationAddress) 28058 delete(rawMsg, key) 28059 case "type": 28060 err = unpopulate(val, "Type", &r.Type) 28061 delete(rawMsg, key) 28062 } 28063 if err != nil { 28064 return fmt.Errorf("unmarshalling type %T: %v", r, err) 28065 } 28066 } 28067 return nil 28068 } 28069 28070 // MarshalJSON implements the json.Marshaller interface for type Rule. 28071 func (r Rule) MarshalJSON() ([]byte, error) { 28072 objectMap := make(map[string]any) 28073 populate(objectMap, "description", r.Description) 28074 populate(objectMap, "destinationAddresses", r.DestinationAddresses) 28075 populate(objectMap, "destinationFqdns", r.DestinationFqdns) 28076 populate(objectMap, "destinationIpGroups", r.DestinationIPGroups) 28077 populate(objectMap, "destinationPorts", r.DestinationPorts) 28078 populate(objectMap, "ipProtocols", r.IPProtocols) 28079 populate(objectMap, "name", r.Name) 28080 objectMap["ruleType"] = FirewallPolicyRuleTypeNetworkRule 28081 populate(objectMap, "sourceAddresses", r.SourceAddresses) 28082 populate(objectMap, "sourceIpGroups", r.SourceIPGroups) 28083 return json.Marshal(objectMap) 28084 } 28085 28086 // UnmarshalJSON implements the json.Unmarshaller interface for type Rule. 28087 func (r *Rule) UnmarshalJSON(data []byte) error { 28088 var rawMsg map[string]json.RawMessage 28089 if err := json.Unmarshal(data, &rawMsg); err != nil { 28090 return fmt.Errorf("unmarshalling type %T: %v", r, err) 28091 } 28092 for key, val := range rawMsg { 28093 var err error 28094 switch key { 28095 case "description": 28096 err = unpopulate(val, "Description", &r.Description) 28097 delete(rawMsg, key) 28098 case "destinationAddresses": 28099 err = unpopulate(val, "DestinationAddresses", &r.DestinationAddresses) 28100 delete(rawMsg, key) 28101 case "destinationFqdns": 28102 err = unpopulate(val, "DestinationFqdns", &r.DestinationFqdns) 28103 delete(rawMsg, key) 28104 case "destinationIpGroups": 28105 err = unpopulate(val, "DestinationIPGroups", &r.DestinationIPGroups) 28106 delete(rawMsg, key) 28107 case "destinationPorts": 28108 err = unpopulate(val, "DestinationPorts", &r.DestinationPorts) 28109 delete(rawMsg, key) 28110 case "ipProtocols": 28111 err = unpopulate(val, "IPProtocols", &r.IPProtocols) 28112 delete(rawMsg, key) 28113 case "name": 28114 err = unpopulate(val, "Name", &r.Name) 28115 delete(rawMsg, key) 28116 case "ruleType": 28117 err = unpopulate(val, "RuleType", &r.RuleType) 28118 delete(rawMsg, key) 28119 case "sourceAddresses": 28120 err = unpopulate(val, "SourceAddresses", &r.SourceAddresses) 28121 delete(rawMsg, key) 28122 case "sourceIpGroups": 28123 err = unpopulate(val, "SourceIPGroups", &r.SourceIPGroups) 28124 delete(rawMsg, key) 28125 } 28126 if err != nil { 28127 return fmt.Errorf("unmarshalling type %T: %v", r, err) 28128 } 28129 } 28130 return nil 28131 } 28132 28133 // MarshalJSON implements the json.Marshaller interface for type SKU. 28134 func (s SKU) MarshalJSON() ([]byte, error) { 28135 objectMap := make(map[string]any) 28136 populate(objectMap, "name", s.Name) 28137 return json.Marshal(objectMap) 28138 } 28139 28140 // UnmarshalJSON implements the json.Unmarshaller interface for type SKU. 28141 func (s *SKU) UnmarshalJSON(data []byte) error { 28142 var rawMsg map[string]json.RawMessage 28143 if err := json.Unmarshal(data, &rawMsg); err != nil { 28144 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28145 } 28146 for key, val := range rawMsg { 28147 var err error 28148 switch key { 28149 case "name": 28150 err = unpopulate(val, "Name", &s.Name) 28151 delete(rawMsg, key) 28152 } 28153 if err != nil { 28154 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28155 } 28156 } 28157 return nil 28158 } 28159 28160 // MarshalJSON implements the json.Marshaller interface for type ScopeConnection. 28161 func (s ScopeConnection) MarshalJSON() ([]byte, error) { 28162 objectMap := make(map[string]any) 28163 populate(objectMap, "etag", s.Etag) 28164 populate(objectMap, "id", s.ID) 28165 populate(objectMap, "name", s.Name) 28166 populate(objectMap, "properties", s.Properties) 28167 populate(objectMap, "systemData", s.SystemData) 28168 populate(objectMap, "type", s.Type) 28169 return json.Marshal(objectMap) 28170 } 28171 28172 // UnmarshalJSON implements the json.Unmarshaller interface for type ScopeConnection. 28173 func (s *ScopeConnection) UnmarshalJSON(data []byte) error { 28174 var rawMsg map[string]json.RawMessage 28175 if err := json.Unmarshal(data, &rawMsg); err != nil { 28176 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28177 } 28178 for key, val := range rawMsg { 28179 var err error 28180 switch key { 28181 case "etag": 28182 err = unpopulate(val, "Etag", &s.Etag) 28183 delete(rawMsg, key) 28184 case "id": 28185 err = unpopulate(val, "ID", &s.ID) 28186 delete(rawMsg, key) 28187 case "name": 28188 err = unpopulate(val, "Name", &s.Name) 28189 delete(rawMsg, key) 28190 case "properties": 28191 err = unpopulate(val, "Properties", &s.Properties) 28192 delete(rawMsg, key) 28193 case "systemData": 28194 err = unpopulate(val, "SystemData", &s.SystemData) 28195 delete(rawMsg, key) 28196 case "type": 28197 err = unpopulate(val, "Type", &s.Type) 28198 delete(rawMsg, key) 28199 } 28200 if err != nil { 28201 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28202 } 28203 } 28204 return nil 28205 } 28206 28207 // MarshalJSON implements the json.Marshaller interface for type ScopeConnectionListResult. 28208 func (s ScopeConnectionListResult) MarshalJSON() ([]byte, error) { 28209 objectMap := make(map[string]any) 28210 populate(objectMap, "nextLink", s.NextLink) 28211 populate(objectMap, "value", s.Value) 28212 return json.Marshal(objectMap) 28213 } 28214 28215 // UnmarshalJSON implements the json.Unmarshaller interface for type ScopeConnectionListResult. 28216 func (s *ScopeConnectionListResult) UnmarshalJSON(data []byte) error { 28217 var rawMsg map[string]json.RawMessage 28218 if err := json.Unmarshal(data, &rawMsg); err != nil { 28219 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28220 } 28221 for key, val := range rawMsg { 28222 var err error 28223 switch key { 28224 case "nextLink": 28225 err = unpopulate(val, "NextLink", &s.NextLink) 28226 delete(rawMsg, key) 28227 case "value": 28228 err = unpopulate(val, "Value", &s.Value) 28229 delete(rawMsg, key) 28230 } 28231 if err != nil { 28232 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28233 } 28234 } 28235 return nil 28236 } 28237 28238 // MarshalJSON implements the json.Marshaller interface for type ScopeConnectionProperties. 28239 func (s ScopeConnectionProperties) MarshalJSON() ([]byte, error) { 28240 objectMap := make(map[string]any) 28241 populate(objectMap, "connectionState", s.ConnectionState) 28242 populate(objectMap, "description", s.Description) 28243 populate(objectMap, "resourceId", s.ResourceID) 28244 populate(objectMap, "tenantId", s.TenantID) 28245 return json.Marshal(objectMap) 28246 } 28247 28248 // UnmarshalJSON implements the json.Unmarshaller interface for type ScopeConnectionProperties. 28249 func (s *ScopeConnectionProperties) UnmarshalJSON(data []byte) error { 28250 var rawMsg map[string]json.RawMessage 28251 if err := json.Unmarshal(data, &rawMsg); err != nil { 28252 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28253 } 28254 for key, val := range rawMsg { 28255 var err error 28256 switch key { 28257 case "connectionState": 28258 err = unpopulate(val, "ConnectionState", &s.ConnectionState) 28259 delete(rawMsg, key) 28260 case "description": 28261 err = unpopulate(val, "Description", &s.Description) 28262 delete(rawMsg, key) 28263 case "resourceId": 28264 err = unpopulate(val, "ResourceID", &s.ResourceID) 28265 delete(rawMsg, key) 28266 case "tenantId": 28267 err = unpopulate(val, "TenantID", &s.TenantID) 28268 delete(rawMsg, key) 28269 } 28270 if err != nil { 28271 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28272 } 28273 } 28274 return nil 28275 } 28276 28277 // MarshalJSON implements the json.Marshaller interface for type SecurityAdminConfiguration. 28278 func (s SecurityAdminConfiguration) MarshalJSON() ([]byte, error) { 28279 objectMap := make(map[string]any) 28280 populate(objectMap, "etag", s.Etag) 28281 populate(objectMap, "id", s.ID) 28282 populate(objectMap, "name", s.Name) 28283 populate(objectMap, "properties", s.Properties) 28284 populate(objectMap, "systemData", s.SystemData) 28285 populate(objectMap, "type", s.Type) 28286 return json.Marshal(objectMap) 28287 } 28288 28289 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityAdminConfiguration. 28290 func (s *SecurityAdminConfiguration) UnmarshalJSON(data []byte) error { 28291 var rawMsg map[string]json.RawMessage 28292 if err := json.Unmarshal(data, &rawMsg); err != nil { 28293 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28294 } 28295 for key, val := range rawMsg { 28296 var err error 28297 switch key { 28298 case "etag": 28299 err = unpopulate(val, "Etag", &s.Etag) 28300 delete(rawMsg, key) 28301 case "id": 28302 err = unpopulate(val, "ID", &s.ID) 28303 delete(rawMsg, key) 28304 case "name": 28305 err = unpopulate(val, "Name", &s.Name) 28306 delete(rawMsg, key) 28307 case "properties": 28308 err = unpopulate(val, "Properties", &s.Properties) 28309 delete(rawMsg, key) 28310 case "systemData": 28311 err = unpopulate(val, "SystemData", &s.SystemData) 28312 delete(rawMsg, key) 28313 case "type": 28314 err = unpopulate(val, "Type", &s.Type) 28315 delete(rawMsg, key) 28316 } 28317 if err != nil { 28318 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28319 } 28320 } 28321 return nil 28322 } 28323 28324 // MarshalJSON implements the json.Marshaller interface for type SecurityAdminConfigurationListResult. 28325 func (s SecurityAdminConfigurationListResult) MarshalJSON() ([]byte, error) { 28326 objectMap := make(map[string]any) 28327 populate(objectMap, "nextLink", s.NextLink) 28328 populate(objectMap, "value", s.Value) 28329 return json.Marshal(objectMap) 28330 } 28331 28332 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityAdminConfigurationListResult. 28333 func (s *SecurityAdminConfigurationListResult) UnmarshalJSON(data []byte) error { 28334 var rawMsg map[string]json.RawMessage 28335 if err := json.Unmarshal(data, &rawMsg); err != nil { 28336 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28337 } 28338 for key, val := range rawMsg { 28339 var err error 28340 switch key { 28341 case "nextLink": 28342 err = unpopulate(val, "NextLink", &s.NextLink) 28343 delete(rawMsg, key) 28344 case "value": 28345 err = unpopulate(val, "Value", &s.Value) 28346 delete(rawMsg, key) 28347 } 28348 if err != nil { 28349 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28350 } 28351 } 28352 return nil 28353 } 28354 28355 // MarshalJSON implements the json.Marshaller interface for type SecurityAdminConfigurationPropertiesFormat. 28356 func (s SecurityAdminConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 28357 objectMap := make(map[string]any) 28358 populate(objectMap, "applyOnNetworkIntentPolicyBasedServices", s.ApplyOnNetworkIntentPolicyBasedServices) 28359 populate(objectMap, "description", s.Description) 28360 populate(objectMap, "networkGroupAddressSpaceAggregationOption", s.NetworkGroupAddressSpaceAggregationOption) 28361 populate(objectMap, "provisioningState", s.ProvisioningState) 28362 populate(objectMap, "resourceGuid", s.ResourceGUID) 28363 return json.Marshal(objectMap) 28364 } 28365 28366 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityAdminConfigurationPropertiesFormat. 28367 func (s *SecurityAdminConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 28368 var rawMsg map[string]json.RawMessage 28369 if err := json.Unmarshal(data, &rawMsg); err != nil { 28370 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28371 } 28372 for key, val := range rawMsg { 28373 var err error 28374 switch key { 28375 case "applyOnNetworkIntentPolicyBasedServices": 28376 err = unpopulate(val, "ApplyOnNetworkIntentPolicyBasedServices", &s.ApplyOnNetworkIntentPolicyBasedServices) 28377 delete(rawMsg, key) 28378 case "description": 28379 err = unpopulate(val, "Description", &s.Description) 28380 delete(rawMsg, key) 28381 case "networkGroupAddressSpaceAggregationOption": 28382 err = unpopulate(val, "NetworkGroupAddressSpaceAggregationOption", &s.NetworkGroupAddressSpaceAggregationOption) 28383 delete(rawMsg, key) 28384 case "provisioningState": 28385 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 28386 delete(rawMsg, key) 28387 case "resourceGuid": 28388 err = unpopulate(val, "ResourceGUID", &s.ResourceGUID) 28389 delete(rawMsg, key) 28390 } 28391 if err != nil { 28392 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28393 } 28394 } 28395 return nil 28396 } 28397 28398 // MarshalJSON implements the json.Marshaller interface for type SecurityGroup. 28399 func (s SecurityGroup) MarshalJSON() ([]byte, error) { 28400 objectMap := make(map[string]any) 28401 populate(objectMap, "etag", s.Etag) 28402 populate(objectMap, "id", s.ID) 28403 populate(objectMap, "location", s.Location) 28404 populate(objectMap, "name", s.Name) 28405 populate(objectMap, "properties", s.Properties) 28406 populate(objectMap, "tags", s.Tags) 28407 populate(objectMap, "type", s.Type) 28408 return json.Marshal(objectMap) 28409 } 28410 28411 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroup. 28412 func (s *SecurityGroup) UnmarshalJSON(data []byte) error { 28413 var rawMsg map[string]json.RawMessage 28414 if err := json.Unmarshal(data, &rawMsg); err != nil { 28415 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28416 } 28417 for key, val := range rawMsg { 28418 var err error 28419 switch key { 28420 case "etag": 28421 err = unpopulate(val, "Etag", &s.Etag) 28422 delete(rawMsg, key) 28423 case "id": 28424 err = unpopulate(val, "ID", &s.ID) 28425 delete(rawMsg, key) 28426 case "location": 28427 err = unpopulate(val, "Location", &s.Location) 28428 delete(rawMsg, key) 28429 case "name": 28430 err = unpopulate(val, "Name", &s.Name) 28431 delete(rawMsg, key) 28432 case "properties": 28433 err = unpopulate(val, "Properties", &s.Properties) 28434 delete(rawMsg, key) 28435 case "tags": 28436 err = unpopulate(val, "Tags", &s.Tags) 28437 delete(rawMsg, key) 28438 case "type": 28439 err = unpopulate(val, "Type", &s.Type) 28440 delete(rawMsg, key) 28441 } 28442 if err != nil { 28443 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28444 } 28445 } 28446 return nil 28447 } 28448 28449 // MarshalJSON implements the json.Marshaller interface for type SecurityGroupListResult. 28450 func (s SecurityGroupListResult) MarshalJSON() ([]byte, error) { 28451 objectMap := make(map[string]any) 28452 populate(objectMap, "nextLink", s.NextLink) 28453 populate(objectMap, "value", s.Value) 28454 return json.Marshal(objectMap) 28455 } 28456 28457 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroupListResult. 28458 func (s *SecurityGroupListResult) UnmarshalJSON(data []byte) error { 28459 var rawMsg map[string]json.RawMessage 28460 if err := json.Unmarshal(data, &rawMsg); err != nil { 28461 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28462 } 28463 for key, val := range rawMsg { 28464 var err error 28465 switch key { 28466 case "nextLink": 28467 err = unpopulate(val, "NextLink", &s.NextLink) 28468 delete(rawMsg, key) 28469 case "value": 28470 err = unpopulate(val, "Value", &s.Value) 28471 delete(rawMsg, key) 28472 } 28473 if err != nil { 28474 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28475 } 28476 } 28477 return nil 28478 } 28479 28480 // MarshalJSON implements the json.Marshaller interface for type SecurityGroupNetworkInterface. 28481 func (s SecurityGroupNetworkInterface) MarshalJSON() ([]byte, error) { 28482 objectMap := make(map[string]any) 28483 populate(objectMap, "id", s.ID) 28484 populate(objectMap, "securityRuleAssociations", s.SecurityRuleAssociations) 28485 return json.Marshal(objectMap) 28486 } 28487 28488 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroupNetworkInterface. 28489 func (s *SecurityGroupNetworkInterface) UnmarshalJSON(data []byte) error { 28490 var rawMsg map[string]json.RawMessage 28491 if err := json.Unmarshal(data, &rawMsg); err != nil { 28492 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28493 } 28494 for key, val := range rawMsg { 28495 var err error 28496 switch key { 28497 case "id": 28498 err = unpopulate(val, "ID", &s.ID) 28499 delete(rawMsg, key) 28500 case "securityRuleAssociations": 28501 err = unpopulate(val, "SecurityRuleAssociations", &s.SecurityRuleAssociations) 28502 delete(rawMsg, key) 28503 } 28504 if err != nil { 28505 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28506 } 28507 } 28508 return nil 28509 } 28510 28511 // MarshalJSON implements the json.Marshaller interface for type SecurityGroupPropertiesFormat. 28512 func (s SecurityGroupPropertiesFormat) MarshalJSON() ([]byte, error) { 28513 objectMap := make(map[string]any) 28514 populate(objectMap, "defaultSecurityRules", s.DefaultSecurityRules) 28515 populate(objectMap, "flowLogs", s.FlowLogs) 28516 populate(objectMap, "flushConnection", s.FlushConnection) 28517 populate(objectMap, "networkInterfaces", s.NetworkInterfaces) 28518 populate(objectMap, "provisioningState", s.ProvisioningState) 28519 populate(objectMap, "resourceGuid", s.ResourceGUID) 28520 populate(objectMap, "securityRules", s.SecurityRules) 28521 populate(objectMap, "subnets", s.Subnets) 28522 return json.Marshal(objectMap) 28523 } 28524 28525 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroupPropertiesFormat. 28526 func (s *SecurityGroupPropertiesFormat) UnmarshalJSON(data []byte) error { 28527 var rawMsg map[string]json.RawMessage 28528 if err := json.Unmarshal(data, &rawMsg); err != nil { 28529 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28530 } 28531 for key, val := range rawMsg { 28532 var err error 28533 switch key { 28534 case "defaultSecurityRules": 28535 err = unpopulate(val, "DefaultSecurityRules", &s.DefaultSecurityRules) 28536 delete(rawMsg, key) 28537 case "flowLogs": 28538 err = unpopulate(val, "FlowLogs", &s.FlowLogs) 28539 delete(rawMsg, key) 28540 case "flushConnection": 28541 err = unpopulate(val, "FlushConnection", &s.FlushConnection) 28542 delete(rawMsg, key) 28543 case "networkInterfaces": 28544 err = unpopulate(val, "NetworkInterfaces", &s.NetworkInterfaces) 28545 delete(rawMsg, key) 28546 case "provisioningState": 28547 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 28548 delete(rawMsg, key) 28549 case "resourceGuid": 28550 err = unpopulate(val, "ResourceGUID", &s.ResourceGUID) 28551 delete(rawMsg, key) 28552 case "securityRules": 28553 err = unpopulate(val, "SecurityRules", &s.SecurityRules) 28554 delete(rawMsg, key) 28555 case "subnets": 28556 err = unpopulate(val, "Subnets", &s.Subnets) 28557 delete(rawMsg, key) 28558 } 28559 if err != nil { 28560 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28561 } 28562 } 28563 return nil 28564 } 28565 28566 // MarshalJSON implements the json.Marshaller interface for type SecurityGroupResult. 28567 func (s SecurityGroupResult) MarshalJSON() ([]byte, error) { 28568 objectMap := make(map[string]any) 28569 populate(objectMap, "evaluatedNetworkSecurityGroups", s.EvaluatedNetworkSecurityGroups) 28570 populate(objectMap, "securityRuleAccessResult", s.SecurityRuleAccessResult) 28571 return json.Marshal(objectMap) 28572 } 28573 28574 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroupResult. 28575 func (s *SecurityGroupResult) UnmarshalJSON(data []byte) error { 28576 var rawMsg map[string]json.RawMessage 28577 if err := json.Unmarshal(data, &rawMsg); err != nil { 28578 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28579 } 28580 for key, val := range rawMsg { 28581 var err error 28582 switch key { 28583 case "evaluatedNetworkSecurityGroups": 28584 err = unpopulate(val, "EvaluatedNetworkSecurityGroups", &s.EvaluatedNetworkSecurityGroups) 28585 delete(rawMsg, key) 28586 case "securityRuleAccessResult": 28587 err = unpopulate(val, "SecurityRuleAccessResult", &s.SecurityRuleAccessResult) 28588 delete(rawMsg, key) 28589 } 28590 if err != nil { 28591 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28592 } 28593 } 28594 return nil 28595 } 28596 28597 // MarshalJSON implements the json.Marshaller interface for type SecurityGroupViewParameters. 28598 func (s SecurityGroupViewParameters) MarshalJSON() ([]byte, error) { 28599 objectMap := make(map[string]any) 28600 populate(objectMap, "targetResourceId", s.TargetResourceID) 28601 return json.Marshal(objectMap) 28602 } 28603 28604 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroupViewParameters. 28605 func (s *SecurityGroupViewParameters) UnmarshalJSON(data []byte) error { 28606 var rawMsg map[string]json.RawMessage 28607 if err := json.Unmarshal(data, &rawMsg); err != nil { 28608 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28609 } 28610 for key, val := range rawMsg { 28611 var err error 28612 switch key { 28613 case "targetResourceId": 28614 err = unpopulate(val, "TargetResourceID", &s.TargetResourceID) 28615 delete(rawMsg, key) 28616 } 28617 if err != nil { 28618 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28619 } 28620 } 28621 return nil 28622 } 28623 28624 // MarshalJSON implements the json.Marshaller interface for type SecurityGroupViewResult. 28625 func (s SecurityGroupViewResult) MarshalJSON() ([]byte, error) { 28626 objectMap := make(map[string]any) 28627 populate(objectMap, "networkInterfaces", s.NetworkInterfaces) 28628 return json.Marshal(objectMap) 28629 } 28630 28631 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityGroupViewResult. 28632 func (s *SecurityGroupViewResult) UnmarshalJSON(data []byte) error { 28633 var rawMsg map[string]json.RawMessage 28634 if err := json.Unmarshal(data, &rawMsg); err != nil { 28635 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28636 } 28637 for key, val := range rawMsg { 28638 var err error 28639 switch key { 28640 case "networkInterfaces": 28641 err = unpopulate(val, "NetworkInterfaces", &s.NetworkInterfaces) 28642 delete(rawMsg, key) 28643 } 28644 if err != nil { 28645 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28646 } 28647 } 28648 return nil 28649 } 28650 28651 // MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProvider. 28652 func (s SecurityPartnerProvider) MarshalJSON() ([]byte, error) { 28653 objectMap := make(map[string]any) 28654 populate(objectMap, "etag", s.Etag) 28655 populate(objectMap, "id", s.ID) 28656 populate(objectMap, "location", s.Location) 28657 populate(objectMap, "name", s.Name) 28658 populate(objectMap, "properties", s.Properties) 28659 populate(objectMap, "tags", s.Tags) 28660 populate(objectMap, "type", s.Type) 28661 return json.Marshal(objectMap) 28662 } 28663 28664 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityPartnerProvider. 28665 func (s *SecurityPartnerProvider) UnmarshalJSON(data []byte) error { 28666 var rawMsg map[string]json.RawMessage 28667 if err := json.Unmarshal(data, &rawMsg); err != nil { 28668 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28669 } 28670 for key, val := range rawMsg { 28671 var err error 28672 switch key { 28673 case "etag": 28674 err = unpopulate(val, "Etag", &s.Etag) 28675 delete(rawMsg, key) 28676 case "id": 28677 err = unpopulate(val, "ID", &s.ID) 28678 delete(rawMsg, key) 28679 case "location": 28680 err = unpopulate(val, "Location", &s.Location) 28681 delete(rawMsg, key) 28682 case "name": 28683 err = unpopulate(val, "Name", &s.Name) 28684 delete(rawMsg, key) 28685 case "properties": 28686 err = unpopulate(val, "Properties", &s.Properties) 28687 delete(rawMsg, key) 28688 case "tags": 28689 err = unpopulate(val, "Tags", &s.Tags) 28690 delete(rawMsg, key) 28691 case "type": 28692 err = unpopulate(val, "Type", &s.Type) 28693 delete(rawMsg, key) 28694 } 28695 if err != nil { 28696 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28697 } 28698 } 28699 return nil 28700 } 28701 28702 // MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProviderListResult. 28703 func (s SecurityPartnerProviderListResult) MarshalJSON() ([]byte, error) { 28704 objectMap := make(map[string]any) 28705 populate(objectMap, "nextLink", s.NextLink) 28706 populate(objectMap, "value", s.Value) 28707 return json.Marshal(objectMap) 28708 } 28709 28710 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityPartnerProviderListResult. 28711 func (s *SecurityPartnerProviderListResult) UnmarshalJSON(data []byte) error { 28712 var rawMsg map[string]json.RawMessage 28713 if err := json.Unmarshal(data, &rawMsg); err != nil { 28714 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28715 } 28716 for key, val := range rawMsg { 28717 var err error 28718 switch key { 28719 case "nextLink": 28720 err = unpopulate(val, "NextLink", &s.NextLink) 28721 delete(rawMsg, key) 28722 case "value": 28723 err = unpopulate(val, "Value", &s.Value) 28724 delete(rawMsg, key) 28725 } 28726 if err != nil { 28727 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28728 } 28729 } 28730 return nil 28731 } 28732 28733 // MarshalJSON implements the json.Marshaller interface for type SecurityPartnerProviderPropertiesFormat. 28734 func (s SecurityPartnerProviderPropertiesFormat) MarshalJSON() ([]byte, error) { 28735 objectMap := make(map[string]any) 28736 populate(objectMap, "connectionStatus", s.ConnectionStatus) 28737 populate(objectMap, "provisioningState", s.ProvisioningState) 28738 populate(objectMap, "securityProviderName", s.SecurityProviderName) 28739 populate(objectMap, "virtualHub", s.VirtualHub) 28740 return json.Marshal(objectMap) 28741 } 28742 28743 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityPartnerProviderPropertiesFormat. 28744 func (s *SecurityPartnerProviderPropertiesFormat) UnmarshalJSON(data []byte) error { 28745 var rawMsg map[string]json.RawMessage 28746 if err := json.Unmarshal(data, &rawMsg); err != nil { 28747 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28748 } 28749 for key, val := range rawMsg { 28750 var err error 28751 switch key { 28752 case "connectionStatus": 28753 err = unpopulate(val, "ConnectionStatus", &s.ConnectionStatus) 28754 delete(rawMsg, key) 28755 case "provisioningState": 28756 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 28757 delete(rawMsg, key) 28758 case "securityProviderName": 28759 err = unpopulate(val, "SecurityProviderName", &s.SecurityProviderName) 28760 delete(rawMsg, key) 28761 case "virtualHub": 28762 err = unpopulate(val, "VirtualHub", &s.VirtualHub) 28763 delete(rawMsg, key) 28764 } 28765 if err != nil { 28766 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28767 } 28768 } 28769 return nil 28770 } 28771 28772 // MarshalJSON implements the json.Marshaller interface for type SecurityRule. 28773 func (s SecurityRule) MarshalJSON() ([]byte, error) { 28774 objectMap := make(map[string]any) 28775 populate(objectMap, "etag", s.Etag) 28776 populate(objectMap, "id", s.ID) 28777 populate(objectMap, "name", s.Name) 28778 populate(objectMap, "properties", s.Properties) 28779 populate(objectMap, "type", s.Type) 28780 return json.Marshal(objectMap) 28781 } 28782 28783 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityRule. 28784 func (s *SecurityRule) UnmarshalJSON(data []byte) error { 28785 var rawMsg map[string]json.RawMessage 28786 if err := json.Unmarshal(data, &rawMsg); err != nil { 28787 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28788 } 28789 for key, val := range rawMsg { 28790 var err error 28791 switch key { 28792 case "etag": 28793 err = unpopulate(val, "Etag", &s.Etag) 28794 delete(rawMsg, key) 28795 case "id": 28796 err = unpopulate(val, "ID", &s.ID) 28797 delete(rawMsg, key) 28798 case "name": 28799 err = unpopulate(val, "Name", &s.Name) 28800 delete(rawMsg, key) 28801 case "properties": 28802 err = unpopulate(val, "Properties", &s.Properties) 28803 delete(rawMsg, key) 28804 case "type": 28805 err = unpopulate(val, "Type", &s.Type) 28806 delete(rawMsg, key) 28807 } 28808 if err != nil { 28809 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28810 } 28811 } 28812 return nil 28813 } 28814 28815 // MarshalJSON implements the json.Marshaller interface for type SecurityRuleAssociations. 28816 func (s SecurityRuleAssociations) MarshalJSON() ([]byte, error) { 28817 objectMap := make(map[string]any) 28818 populate(objectMap, "defaultSecurityRules", s.DefaultSecurityRules) 28819 populate(objectMap, "effectiveSecurityRules", s.EffectiveSecurityRules) 28820 populate(objectMap, "networkInterfaceAssociation", s.NetworkInterfaceAssociation) 28821 populate(objectMap, "subnetAssociation", s.SubnetAssociation) 28822 return json.Marshal(objectMap) 28823 } 28824 28825 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityRuleAssociations. 28826 func (s *SecurityRuleAssociations) UnmarshalJSON(data []byte) error { 28827 var rawMsg map[string]json.RawMessage 28828 if err := json.Unmarshal(data, &rawMsg); err != nil { 28829 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28830 } 28831 for key, val := range rawMsg { 28832 var err error 28833 switch key { 28834 case "defaultSecurityRules": 28835 err = unpopulate(val, "DefaultSecurityRules", &s.DefaultSecurityRules) 28836 delete(rawMsg, key) 28837 case "effectiveSecurityRules": 28838 err = unpopulate(val, "EffectiveSecurityRules", &s.EffectiveSecurityRules) 28839 delete(rawMsg, key) 28840 case "networkInterfaceAssociation": 28841 err = unpopulate(val, "NetworkInterfaceAssociation", &s.NetworkInterfaceAssociation) 28842 delete(rawMsg, key) 28843 case "subnetAssociation": 28844 err = unpopulate(val, "SubnetAssociation", &s.SubnetAssociation) 28845 delete(rawMsg, key) 28846 } 28847 if err != nil { 28848 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28849 } 28850 } 28851 return nil 28852 } 28853 28854 // MarshalJSON implements the json.Marshaller interface for type SecurityRuleListResult. 28855 func (s SecurityRuleListResult) MarshalJSON() ([]byte, error) { 28856 objectMap := make(map[string]any) 28857 populate(objectMap, "nextLink", s.NextLink) 28858 populate(objectMap, "value", s.Value) 28859 return json.Marshal(objectMap) 28860 } 28861 28862 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityRuleListResult. 28863 func (s *SecurityRuleListResult) UnmarshalJSON(data []byte) error { 28864 var rawMsg map[string]json.RawMessage 28865 if err := json.Unmarshal(data, &rawMsg); err != nil { 28866 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28867 } 28868 for key, val := range rawMsg { 28869 var err error 28870 switch key { 28871 case "nextLink": 28872 err = unpopulate(val, "NextLink", &s.NextLink) 28873 delete(rawMsg, key) 28874 case "value": 28875 err = unpopulate(val, "Value", &s.Value) 28876 delete(rawMsg, key) 28877 } 28878 if err != nil { 28879 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28880 } 28881 } 28882 return nil 28883 } 28884 28885 // MarshalJSON implements the json.Marshaller interface for type SecurityRulePropertiesFormat. 28886 func (s SecurityRulePropertiesFormat) MarshalJSON() ([]byte, error) { 28887 objectMap := make(map[string]any) 28888 populate(objectMap, "access", s.Access) 28889 populate(objectMap, "description", s.Description) 28890 populate(objectMap, "destinationAddressPrefix", s.DestinationAddressPrefix) 28891 populate(objectMap, "destinationAddressPrefixes", s.DestinationAddressPrefixes) 28892 populate(objectMap, "destinationApplicationSecurityGroups", s.DestinationApplicationSecurityGroups) 28893 populate(objectMap, "destinationPortRange", s.DestinationPortRange) 28894 populate(objectMap, "destinationPortRanges", s.DestinationPortRanges) 28895 populate(objectMap, "direction", s.Direction) 28896 populate(objectMap, "priority", s.Priority) 28897 populate(objectMap, "protocol", s.Protocol) 28898 populate(objectMap, "provisioningState", s.ProvisioningState) 28899 populate(objectMap, "sourceAddressPrefix", s.SourceAddressPrefix) 28900 populate(objectMap, "sourceAddressPrefixes", s.SourceAddressPrefixes) 28901 populate(objectMap, "sourceApplicationSecurityGroups", s.SourceApplicationSecurityGroups) 28902 populate(objectMap, "sourcePortRange", s.SourcePortRange) 28903 populate(objectMap, "sourcePortRanges", s.SourcePortRanges) 28904 return json.Marshal(objectMap) 28905 } 28906 28907 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityRulePropertiesFormat. 28908 func (s *SecurityRulePropertiesFormat) UnmarshalJSON(data []byte) error { 28909 var rawMsg map[string]json.RawMessage 28910 if err := json.Unmarshal(data, &rawMsg); err != nil { 28911 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28912 } 28913 for key, val := range rawMsg { 28914 var err error 28915 switch key { 28916 case "access": 28917 err = unpopulate(val, "Access", &s.Access) 28918 delete(rawMsg, key) 28919 case "description": 28920 err = unpopulate(val, "Description", &s.Description) 28921 delete(rawMsg, key) 28922 case "destinationAddressPrefix": 28923 err = unpopulate(val, "DestinationAddressPrefix", &s.DestinationAddressPrefix) 28924 delete(rawMsg, key) 28925 case "destinationAddressPrefixes": 28926 err = unpopulate(val, "DestinationAddressPrefixes", &s.DestinationAddressPrefixes) 28927 delete(rawMsg, key) 28928 case "destinationApplicationSecurityGroups": 28929 err = unpopulate(val, "DestinationApplicationSecurityGroups", &s.DestinationApplicationSecurityGroups) 28930 delete(rawMsg, key) 28931 case "destinationPortRange": 28932 err = unpopulate(val, "DestinationPortRange", &s.DestinationPortRange) 28933 delete(rawMsg, key) 28934 case "destinationPortRanges": 28935 err = unpopulate(val, "DestinationPortRanges", &s.DestinationPortRanges) 28936 delete(rawMsg, key) 28937 case "direction": 28938 err = unpopulate(val, "Direction", &s.Direction) 28939 delete(rawMsg, key) 28940 case "priority": 28941 err = unpopulate(val, "Priority", &s.Priority) 28942 delete(rawMsg, key) 28943 case "protocol": 28944 err = unpopulate(val, "Protocol", &s.Protocol) 28945 delete(rawMsg, key) 28946 case "provisioningState": 28947 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 28948 delete(rawMsg, key) 28949 case "sourceAddressPrefix": 28950 err = unpopulate(val, "SourceAddressPrefix", &s.SourceAddressPrefix) 28951 delete(rawMsg, key) 28952 case "sourceAddressPrefixes": 28953 err = unpopulate(val, "SourceAddressPrefixes", &s.SourceAddressPrefixes) 28954 delete(rawMsg, key) 28955 case "sourceApplicationSecurityGroups": 28956 err = unpopulate(val, "SourceApplicationSecurityGroups", &s.SourceApplicationSecurityGroups) 28957 delete(rawMsg, key) 28958 case "sourcePortRange": 28959 err = unpopulate(val, "SourcePortRange", &s.SourcePortRange) 28960 delete(rawMsg, key) 28961 case "sourcePortRanges": 28962 err = unpopulate(val, "SourcePortRanges", &s.SourcePortRanges) 28963 delete(rawMsg, key) 28964 } 28965 if err != nil { 28966 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28967 } 28968 } 28969 return nil 28970 } 28971 28972 // MarshalJSON implements the json.Marshaller interface for type SecurityRulesEvaluationResult. 28973 func (s SecurityRulesEvaluationResult) MarshalJSON() ([]byte, error) { 28974 objectMap := make(map[string]any) 28975 populate(objectMap, "destinationMatched", s.DestinationMatched) 28976 populate(objectMap, "destinationPortMatched", s.DestinationPortMatched) 28977 populate(objectMap, "name", s.Name) 28978 populate(objectMap, "protocolMatched", s.ProtocolMatched) 28979 populate(objectMap, "sourceMatched", s.SourceMatched) 28980 populate(objectMap, "sourcePortMatched", s.SourcePortMatched) 28981 return json.Marshal(objectMap) 28982 } 28983 28984 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityRulesEvaluationResult. 28985 func (s *SecurityRulesEvaluationResult) UnmarshalJSON(data []byte) error { 28986 var rawMsg map[string]json.RawMessage 28987 if err := json.Unmarshal(data, &rawMsg); err != nil { 28988 return fmt.Errorf("unmarshalling type %T: %v", s, err) 28989 } 28990 for key, val := range rawMsg { 28991 var err error 28992 switch key { 28993 case "destinationMatched": 28994 err = unpopulate(val, "DestinationMatched", &s.DestinationMatched) 28995 delete(rawMsg, key) 28996 case "destinationPortMatched": 28997 err = unpopulate(val, "DestinationPortMatched", &s.DestinationPortMatched) 28998 delete(rawMsg, key) 28999 case "name": 29000 err = unpopulate(val, "Name", &s.Name) 29001 delete(rawMsg, key) 29002 case "protocolMatched": 29003 err = unpopulate(val, "ProtocolMatched", &s.ProtocolMatched) 29004 delete(rawMsg, key) 29005 case "sourceMatched": 29006 err = unpopulate(val, "SourceMatched", &s.SourceMatched) 29007 delete(rawMsg, key) 29008 case "sourcePortMatched": 29009 err = unpopulate(val, "SourcePortMatched", &s.SourcePortMatched) 29010 delete(rawMsg, key) 29011 } 29012 if err != nil { 29013 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29014 } 29015 } 29016 return nil 29017 } 29018 29019 // MarshalJSON implements the json.Marshaller interface for type SecurityUserConfiguration. 29020 func (s SecurityUserConfiguration) MarshalJSON() ([]byte, error) { 29021 objectMap := make(map[string]any) 29022 populate(objectMap, "etag", s.Etag) 29023 populate(objectMap, "id", s.ID) 29024 populate(objectMap, "name", s.Name) 29025 populate(objectMap, "properties", s.Properties) 29026 populate(objectMap, "systemData", s.SystemData) 29027 populate(objectMap, "type", s.Type) 29028 return json.Marshal(objectMap) 29029 } 29030 29031 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserConfiguration. 29032 func (s *SecurityUserConfiguration) UnmarshalJSON(data []byte) error { 29033 var rawMsg map[string]json.RawMessage 29034 if err := json.Unmarshal(data, &rawMsg); err != nil { 29035 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29036 } 29037 for key, val := range rawMsg { 29038 var err error 29039 switch key { 29040 case "etag": 29041 err = unpopulate(val, "Etag", &s.Etag) 29042 delete(rawMsg, key) 29043 case "id": 29044 err = unpopulate(val, "ID", &s.ID) 29045 delete(rawMsg, key) 29046 case "name": 29047 err = unpopulate(val, "Name", &s.Name) 29048 delete(rawMsg, key) 29049 case "properties": 29050 err = unpopulate(val, "Properties", &s.Properties) 29051 delete(rawMsg, key) 29052 case "systemData": 29053 err = unpopulate(val, "SystemData", &s.SystemData) 29054 delete(rawMsg, key) 29055 case "type": 29056 err = unpopulate(val, "Type", &s.Type) 29057 delete(rawMsg, key) 29058 } 29059 if err != nil { 29060 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29061 } 29062 } 29063 return nil 29064 } 29065 29066 // MarshalJSON implements the json.Marshaller interface for type SecurityUserConfigurationListResult. 29067 func (s SecurityUserConfigurationListResult) MarshalJSON() ([]byte, error) { 29068 objectMap := make(map[string]any) 29069 populate(objectMap, "nextLink", s.NextLink) 29070 populate(objectMap, "value", s.Value) 29071 return json.Marshal(objectMap) 29072 } 29073 29074 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserConfigurationListResult. 29075 func (s *SecurityUserConfigurationListResult) UnmarshalJSON(data []byte) error { 29076 var rawMsg map[string]json.RawMessage 29077 if err := json.Unmarshal(data, &rawMsg); err != nil { 29078 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29079 } 29080 for key, val := range rawMsg { 29081 var err error 29082 switch key { 29083 case "nextLink": 29084 err = unpopulate(val, "NextLink", &s.NextLink) 29085 delete(rawMsg, key) 29086 case "value": 29087 err = unpopulate(val, "Value", &s.Value) 29088 delete(rawMsg, key) 29089 } 29090 if err != nil { 29091 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29092 } 29093 } 29094 return nil 29095 } 29096 29097 // MarshalJSON implements the json.Marshaller interface for type SecurityUserConfigurationPropertiesFormat. 29098 func (s SecurityUserConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 29099 objectMap := make(map[string]any) 29100 populate(objectMap, "description", s.Description) 29101 populate(objectMap, "provisioningState", s.ProvisioningState) 29102 populate(objectMap, "resourceGuid", s.ResourceGUID) 29103 return json.Marshal(objectMap) 29104 } 29105 29106 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserConfigurationPropertiesFormat. 29107 func (s *SecurityUserConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 29108 var rawMsg map[string]json.RawMessage 29109 if err := json.Unmarshal(data, &rawMsg); err != nil { 29110 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29111 } 29112 for key, val := range rawMsg { 29113 var err error 29114 switch key { 29115 case "description": 29116 err = unpopulate(val, "Description", &s.Description) 29117 delete(rawMsg, key) 29118 case "provisioningState": 29119 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29120 delete(rawMsg, key) 29121 case "resourceGuid": 29122 err = unpopulate(val, "ResourceGUID", &s.ResourceGUID) 29123 delete(rawMsg, key) 29124 } 29125 if err != nil { 29126 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29127 } 29128 } 29129 return nil 29130 } 29131 29132 // MarshalJSON implements the json.Marshaller interface for type SecurityUserGroupItem. 29133 func (s SecurityUserGroupItem) MarshalJSON() ([]byte, error) { 29134 objectMap := make(map[string]any) 29135 populate(objectMap, "networkGroupId", s.NetworkGroupID) 29136 return json.Marshal(objectMap) 29137 } 29138 29139 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserGroupItem. 29140 func (s *SecurityUserGroupItem) UnmarshalJSON(data []byte) error { 29141 var rawMsg map[string]json.RawMessage 29142 if err := json.Unmarshal(data, &rawMsg); err != nil { 29143 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29144 } 29145 for key, val := range rawMsg { 29146 var err error 29147 switch key { 29148 case "networkGroupId": 29149 err = unpopulate(val, "NetworkGroupID", &s.NetworkGroupID) 29150 delete(rawMsg, key) 29151 } 29152 if err != nil { 29153 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29154 } 29155 } 29156 return nil 29157 } 29158 29159 // MarshalJSON implements the json.Marshaller interface for type SecurityUserRule. 29160 func (s SecurityUserRule) MarshalJSON() ([]byte, error) { 29161 objectMap := make(map[string]any) 29162 populate(objectMap, "etag", s.Etag) 29163 populate(objectMap, "id", s.ID) 29164 populate(objectMap, "name", s.Name) 29165 populate(objectMap, "properties", s.Properties) 29166 populate(objectMap, "systemData", s.SystemData) 29167 populate(objectMap, "type", s.Type) 29168 return json.Marshal(objectMap) 29169 } 29170 29171 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserRule. 29172 func (s *SecurityUserRule) UnmarshalJSON(data []byte) error { 29173 var rawMsg map[string]json.RawMessage 29174 if err := json.Unmarshal(data, &rawMsg); err != nil { 29175 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29176 } 29177 for key, val := range rawMsg { 29178 var err error 29179 switch key { 29180 case "etag": 29181 err = unpopulate(val, "Etag", &s.Etag) 29182 delete(rawMsg, key) 29183 case "id": 29184 err = unpopulate(val, "ID", &s.ID) 29185 delete(rawMsg, key) 29186 case "name": 29187 err = unpopulate(val, "Name", &s.Name) 29188 delete(rawMsg, key) 29189 case "properties": 29190 err = unpopulate(val, "Properties", &s.Properties) 29191 delete(rawMsg, key) 29192 case "systemData": 29193 err = unpopulate(val, "SystemData", &s.SystemData) 29194 delete(rawMsg, key) 29195 case "type": 29196 err = unpopulate(val, "Type", &s.Type) 29197 delete(rawMsg, key) 29198 } 29199 if err != nil { 29200 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29201 } 29202 } 29203 return nil 29204 } 29205 29206 // MarshalJSON implements the json.Marshaller interface for type SecurityUserRuleCollection. 29207 func (s SecurityUserRuleCollection) MarshalJSON() ([]byte, error) { 29208 objectMap := make(map[string]any) 29209 populate(objectMap, "etag", s.Etag) 29210 populate(objectMap, "id", s.ID) 29211 populate(objectMap, "name", s.Name) 29212 populate(objectMap, "properties", s.Properties) 29213 populate(objectMap, "systemData", s.SystemData) 29214 populate(objectMap, "type", s.Type) 29215 return json.Marshal(objectMap) 29216 } 29217 29218 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserRuleCollection. 29219 func (s *SecurityUserRuleCollection) UnmarshalJSON(data []byte) error { 29220 var rawMsg map[string]json.RawMessage 29221 if err := json.Unmarshal(data, &rawMsg); err != nil { 29222 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29223 } 29224 for key, val := range rawMsg { 29225 var err error 29226 switch key { 29227 case "etag": 29228 err = unpopulate(val, "Etag", &s.Etag) 29229 delete(rawMsg, key) 29230 case "id": 29231 err = unpopulate(val, "ID", &s.ID) 29232 delete(rawMsg, key) 29233 case "name": 29234 err = unpopulate(val, "Name", &s.Name) 29235 delete(rawMsg, key) 29236 case "properties": 29237 err = unpopulate(val, "Properties", &s.Properties) 29238 delete(rawMsg, key) 29239 case "systemData": 29240 err = unpopulate(val, "SystemData", &s.SystemData) 29241 delete(rawMsg, key) 29242 case "type": 29243 err = unpopulate(val, "Type", &s.Type) 29244 delete(rawMsg, key) 29245 } 29246 if err != nil { 29247 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29248 } 29249 } 29250 return nil 29251 } 29252 29253 // MarshalJSON implements the json.Marshaller interface for type SecurityUserRuleCollectionListResult. 29254 func (s SecurityUserRuleCollectionListResult) MarshalJSON() ([]byte, error) { 29255 objectMap := make(map[string]any) 29256 populate(objectMap, "nextLink", s.NextLink) 29257 populate(objectMap, "value", s.Value) 29258 return json.Marshal(objectMap) 29259 } 29260 29261 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserRuleCollectionListResult. 29262 func (s *SecurityUserRuleCollectionListResult) UnmarshalJSON(data []byte) error { 29263 var rawMsg map[string]json.RawMessage 29264 if err := json.Unmarshal(data, &rawMsg); err != nil { 29265 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29266 } 29267 for key, val := range rawMsg { 29268 var err error 29269 switch key { 29270 case "nextLink": 29271 err = unpopulate(val, "NextLink", &s.NextLink) 29272 delete(rawMsg, key) 29273 case "value": 29274 err = unpopulate(val, "Value", &s.Value) 29275 delete(rawMsg, key) 29276 } 29277 if err != nil { 29278 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29279 } 29280 } 29281 return nil 29282 } 29283 29284 // MarshalJSON implements the json.Marshaller interface for type SecurityUserRuleCollectionPropertiesFormat. 29285 func (s SecurityUserRuleCollectionPropertiesFormat) MarshalJSON() ([]byte, error) { 29286 objectMap := make(map[string]any) 29287 populate(objectMap, "appliesToGroups", s.AppliesToGroups) 29288 populate(objectMap, "description", s.Description) 29289 populate(objectMap, "provisioningState", s.ProvisioningState) 29290 populate(objectMap, "resourceGuid", s.ResourceGUID) 29291 return json.Marshal(objectMap) 29292 } 29293 29294 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserRuleCollectionPropertiesFormat. 29295 func (s *SecurityUserRuleCollectionPropertiesFormat) UnmarshalJSON(data []byte) error { 29296 var rawMsg map[string]json.RawMessage 29297 if err := json.Unmarshal(data, &rawMsg); err != nil { 29298 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29299 } 29300 for key, val := range rawMsg { 29301 var err error 29302 switch key { 29303 case "appliesToGroups": 29304 err = unpopulate(val, "AppliesToGroups", &s.AppliesToGroups) 29305 delete(rawMsg, key) 29306 case "description": 29307 err = unpopulate(val, "Description", &s.Description) 29308 delete(rawMsg, key) 29309 case "provisioningState": 29310 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29311 delete(rawMsg, key) 29312 case "resourceGuid": 29313 err = unpopulate(val, "ResourceGUID", &s.ResourceGUID) 29314 delete(rawMsg, key) 29315 } 29316 if err != nil { 29317 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29318 } 29319 } 29320 return nil 29321 } 29322 29323 // MarshalJSON implements the json.Marshaller interface for type SecurityUserRuleListResult. 29324 func (s SecurityUserRuleListResult) MarshalJSON() ([]byte, error) { 29325 objectMap := make(map[string]any) 29326 populate(objectMap, "nextLink", s.NextLink) 29327 populate(objectMap, "value", s.Value) 29328 return json.Marshal(objectMap) 29329 } 29330 29331 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserRuleListResult. 29332 func (s *SecurityUserRuleListResult) UnmarshalJSON(data []byte) error { 29333 var rawMsg map[string]json.RawMessage 29334 if err := json.Unmarshal(data, &rawMsg); err != nil { 29335 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29336 } 29337 for key, val := range rawMsg { 29338 var err error 29339 switch key { 29340 case "nextLink": 29341 err = unpopulate(val, "NextLink", &s.NextLink) 29342 delete(rawMsg, key) 29343 case "value": 29344 err = unpopulate(val, "Value", &s.Value) 29345 delete(rawMsg, key) 29346 } 29347 if err != nil { 29348 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29349 } 29350 } 29351 return nil 29352 } 29353 29354 // MarshalJSON implements the json.Marshaller interface for type SecurityUserRulePropertiesFormat. 29355 func (s SecurityUserRulePropertiesFormat) MarshalJSON() ([]byte, error) { 29356 objectMap := make(map[string]any) 29357 populate(objectMap, "description", s.Description) 29358 populate(objectMap, "destinationPortRanges", s.DestinationPortRanges) 29359 populate(objectMap, "destinations", s.Destinations) 29360 populate(objectMap, "direction", s.Direction) 29361 populate(objectMap, "protocol", s.Protocol) 29362 populate(objectMap, "provisioningState", s.ProvisioningState) 29363 populate(objectMap, "resourceGuid", s.ResourceGUID) 29364 populate(objectMap, "sourcePortRanges", s.SourcePortRanges) 29365 populate(objectMap, "sources", s.Sources) 29366 return json.Marshal(objectMap) 29367 } 29368 29369 // UnmarshalJSON implements the json.Unmarshaller interface for type SecurityUserRulePropertiesFormat. 29370 func (s *SecurityUserRulePropertiesFormat) UnmarshalJSON(data []byte) error { 29371 var rawMsg map[string]json.RawMessage 29372 if err := json.Unmarshal(data, &rawMsg); err != nil { 29373 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29374 } 29375 for key, val := range rawMsg { 29376 var err error 29377 switch key { 29378 case "description": 29379 err = unpopulate(val, "Description", &s.Description) 29380 delete(rawMsg, key) 29381 case "destinationPortRanges": 29382 err = unpopulate(val, "DestinationPortRanges", &s.DestinationPortRanges) 29383 delete(rawMsg, key) 29384 case "destinations": 29385 err = unpopulate(val, "Destinations", &s.Destinations) 29386 delete(rawMsg, key) 29387 case "direction": 29388 err = unpopulate(val, "Direction", &s.Direction) 29389 delete(rawMsg, key) 29390 case "protocol": 29391 err = unpopulate(val, "Protocol", &s.Protocol) 29392 delete(rawMsg, key) 29393 case "provisioningState": 29394 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29395 delete(rawMsg, key) 29396 case "resourceGuid": 29397 err = unpopulate(val, "ResourceGUID", &s.ResourceGUID) 29398 delete(rawMsg, key) 29399 case "sourcePortRanges": 29400 err = unpopulate(val, "SourcePortRanges", &s.SourcePortRanges) 29401 delete(rawMsg, key) 29402 case "sources": 29403 err = unpopulate(val, "Sources", &s.Sources) 29404 delete(rawMsg, key) 29405 } 29406 if err != nil { 29407 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29408 } 29409 } 29410 return nil 29411 } 29412 29413 // MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLink. 29414 func (s ServiceAssociationLink) MarshalJSON() ([]byte, error) { 29415 objectMap := make(map[string]any) 29416 populate(objectMap, "etag", s.Etag) 29417 populate(objectMap, "id", s.ID) 29418 populate(objectMap, "name", s.Name) 29419 populate(objectMap, "properties", s.Properties) 29420 populate(objectMap, "type", s.Type) 29421 return json.Marshal(objectMap) 29422 } 29423 29424 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceAssociationLink. 29425 func (s *ServiceAssociationLink) UnmarshalJSON(data []byte) error { 29426 var rawMsg map[string]json.RawMessage 29427 if err := json.Unmarshal(data, &rawMsg); err != nil { 29428 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29429 } 29430 for key, val := range rawMsg { 29431 var err error 29432 switch key { 29433 case "etag": 29434 err = unpopulate(val, "Etag", &s.Etag) 29435 delete(rawMsg, key) 29436 case "id": 29437 err = unpopulate(val, "ID", &s.ID) 29438 delete(rawMsg, key) 29439 case "name": 29440 err = unpopulate(val, "Name", &s.Name) 29441 delete(rawMsg, key) 29442 case "properties": 29443 err = unpopulate(val, "Properties", &s.Properties) 29444 delete(rawMsg, key) 29445 case "type": 29446 err = unpopulate(val, "Type", &s.Type) 29447 delete(rawMsg, key) 29448 } 29449 if err != nil { 29450 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29451 } 29452 } 29453 return nil 29454 } 29455 29456 // MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLinkPropertiesFormat. 29457 func (s ServiceAssociationLinkPropertiesFormat) MarshalJSON() ([]byte, error) { 29458 objectMap := make(map[string]any) 29459 populate(objectMap, "allowDelete", s.AllowDelete) 29460 populate(objectMap, "link", s.Link) 29461 populate(objectMap, "linkedResourceType", s.LinkedResourceType) 29462 populate(objectMap, "locations", s.Locations) 29463 populate(objectMap, "provisioningState", s.ProvisioningState) 29464 return json.Marshal(objectMap) 29465 } 29466 29467 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceAssociationLinkPropertiesFormat. 29468 func (s *ServiceAssociationLinkPropertiesFormat) UnmarshalJSON(data []byte) error { 29469 var rawMsg map[string]json.RawMessage 29470 if err := json.Unmarshal(data, &rawMsg); err != nil { 29471 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29472 } 29473 for key, val := range rawMsg { 29474 var err error 29475 switch key { 29476 case "allowDelete": 29477 err = unpopulate(val, "AllowDelete", &s.AllowDelete) 29478 delete(rawMsg, key) 29479 case "link": 29480 err = unpopulate(val, "Link", &s.Link) 29481 delete(rawMsg, key) 29482 case "linkedResourceType": 29483 err = unpopulate(val, "LinkedResourceType", &s.LinkedResourceType) 29484 delete(rawMsg, key) 29485 case "locations": 29486 err = unpopulate(val, "Locations", &s.Locations) 29487 delete(rawMsg, key) 29488 case "provisioningState": 29489 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29490 delete(rawMsg, key) 29491 } 29492 if err != nil { 29493 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29494 } 29495 } 29496 return nil 29497 } 29498 29499 // MarshalJSON implements the json.Marshaller interface for type ServiceAssociationLinksListResult. 29500 func (s ServiceAssociationLinksListResult) MarshalJSON() ([]byte, error) { 29501 objectMap := make(map[string]any) 29502 populate(objectMap, "nextLink", s.NextLink) 29503 populate(objectMap, "value", s.Value) 29504 return json.Marshal(objectMap) 29505 } 29506 29507 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceAssociationLinksListResult. 29508 func (s *ServiceAssociationLinksListResult) UnmarshalJSON(data []byte) error { 29509 var rawMsg map[string]json.RawMessage 29510 if err := json.Unmarshal(data, &rawMsg); err != nil { 29511 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29512 } 29513 for key, val := range rawMsg { 29514 var err error 29515 switch key { 29516 case "nextLink": 29517 err = unpopulate(val, "NextLink", &s.NextLink) 29518 delete(rawMsg, key) 29519 case "value": 29520 err = unpopulate(val, "Value", &s.Value) 29521 delete(rawMsg, key) 29522 } 29523 if err != nil { 29524 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29525 } 29526 } 29527 return nil 29528 } 29529 29530 // MarshalJSON implements the json.Marshaller interface for type ServiceDelegationPropertiesFormat. 29531 func (s ServiceDelegationPropertiesFormat) MarshalJSON() ([]byte, error) { 29532 objectMap := make(map[string]any) 29533 populate(objectMap, "actions", s.Actions) 29534 populate(objectMap, "provisioningState", s.ProvisioningState) 29535 populate(objectMap, "serviceName", s.ServiceName) 29536 return json.Marshal(objectMap) 29537 } 29538 29539 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceDelegationPropertiesFormat. 29540 func (s *ServiceDelegationPropertiesFormat) UnmarshalJSON(data []byte) error { 29541 var rawMsg map[string]json.RawMessage 29542 if err := json.Unmarshal(data, &rawMsg); err != nil { 29543 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29544 } 29545 for key, val := range rawMsg { 29546 var err error 29547 switch key { 29548 case "actions": 29549 err = unpopulate(val, "Actions", &s.Actions) 29550 delete(rawMsg, key) 29551 case "provisioningState": 29552 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29553 delete(rawMsg, key) 29554 case "serviceName": 29555 err = unpopulate(val, "ServiceName", &s.ServiceName) 29556 delete(rawMsg, key) 29557 } 29558 if err != nil { 29559 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29560 } 29561 } 29562 return nil 29563 } 29564 29565 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicy. 29566 func (s ServiceEndpointPolicy) MarshalJSON() ([]byte, error) { 29567 objectMap := make(map[string]any) 29568 populate(objectMap, "etag", s.Etag) 29569 populate(objectMap, "id", s.ID) 29570 populate(objectMap, "kind", s.Kind) 29571 populate(objectMap, "location", s.Location) 29572 populate(objectMap, "name", s.Name) 29573 populate(objectMap, "properties", s.Properties) 29574 populate(objectMap, "tags", s.Tags) 29575 populate(objectMap, "type", s.Type) 29576 return json.Marshal(objectMap) 29577 } 29578 29579 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPolicy. 29580 func (s *ServiceEndpointPolicy) UnmarshalJSON(data []byte) error { 29581 var rawMsg map[string]json.RawMessage 29582 if err := json.Unmarshal(data, &rawMsg); err != nil { 29583 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29584 } 29585 for key, val := range rawMsg { 29586 var err error 29587 switch key { 29588 case "etag": 29589 err = unpopulate(val, "Etag", &s.Etag) 29590 delete(rawMsg, key) 29591 case "id": 29592 err = unpopulate(val, "ID", &s.ID) 29593 delete(rawMsg, key) 29594 case "kind": 29595 err = unpopulate(val, "Kind", &s.Kind) 29596 delete(rawMsg, key) 29597 case "location": 29598 err = unpopulate(val, "Location", &s.Location) 29599 delete(rawMsg, key) 29600 case "name": 29601 err = unpopulate(val, "Name", &s.Name) 29602 delete(rawMsg, key) 29603 case "properties": 29604 err = unpopulate(val, "Properties", &s.Properties) 29605 delete(rawMsg, key) 29606 case "tags": 29607 err = unpopulate(val, "Tags", &s.Tags) 29608 delete(rawMsg, key) 29609 case "type": 29610 err = unpopulate(val, "Type", &s.Type) 29611 delete(rawMsg, key) 29612 } 29613 if err != nil { 29614 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29615 } 29616 } 29617 return nil 29618 } 29619 29620 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinition. 29621 func (s ServiceEndpointPolicyDefinition) MarshalJSON() ([]byte, error) { 29622 objectMap := make(map[string]any) 29623 populate(objectMap, "etag", s.Etag) 29624 populate(objectMap, "id", s.ID) 29625 populate(objectMap, "name", s.Name) 29626 populate(objectMap, "properties", s.Properties) 29627 populate(objectMap, "type", s.Type) 29628 return json.Marshal(objectMap) 29629 } 29630 29631 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPolicyDefinition. 29632 func (s *ServiceEndpointPolicyDefinition) UnmarshalJSON(data []byte) error { 29633 var rawMsg map[string]json.RawMessage 29634 if err := json.Unmarshal(data, &rawMsg); err != nil { 29635 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29636 } 29637 for key, val := range rawMsg { 29638 var err error 29639 switch key { 29640 case "etag": 29641 err = unpopulate(val, "Etag", &s.Etag) 29642 delete(rawMsg, key) 29643 case "id": 29644 err = unpopulate(val, "ID", &s.ID) 29645 delete(rawMsg, key) 29646 case "name": 29647 err = unpopulate(val, "Name", &s.Name) 29648 delete(rawMsg, key) 29649 case "properties": 29650 err = unpopulate(val, "Properties", &s.Properties) 29651 delete(rawMsg, key) 29652 case "type": 29653 err = unpopulate(val, "Type", &s.Type) 29654 delete(rawMsg, key) 29655 } 29656 if err != nil { 29657 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29658 } 29659 } 29660 return nil 29661 } 29662 29663 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinitionListResult. 29664 func (s ServiceEndpointPolicyDefinitionListResult) MarshalJSON() ([]byte, error) { 29665 objectMap := make(map[string]any) 29666 populate(objectMap, "nextLink", s.NextLink) 29667 populate(objectMap, "value", s.Value) 29668 return json.Marshal(objectMap) 29669 } 29670 29671 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPolicyDefinitionListResult. 29672 func (s *ServiceEndpointPolicyDefinitionListResult) UnmarshalJSON(data []byte) error { 29673 var rawMsg map[string]json.RawMessage 29674 if err := json.Unmarshal(data, &rawMsg); err != nil { 29675 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29676 } 29677 for key, val := range rawMsg { 29678 var err error 29679 switch key { 29680 case "nextLink": 29681 err = unpopulate(val, "NextLink", &s.NextLink) 29682 delete(rawMsg, key) 29683 case "value": 29684 err = unpopulate(val, "Value", &s.Value) 29685 delete(rawMsg, key) 29686 } 29687 if err != nil { 29688 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29689 } 29690 } 29691 return nil 29692 } 29693 29694 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyDefinitionPropertiesFormat. 29695 func (s ServiceEndpointPolicyDefinitionPropertiesFormat) MarshalJSON() ([]byte, error) { 29696 objectMap := make(map[string]any) 29697 populate(objectMap, "description", s.Description) 29698 populate(objectMap, "provisioningState", s.ProvisioningState) 29699 populate(objectMap, "service", s.Service) 29700 populate(objectMap, "serviceResources", s.ServiceResources) 29701 return json.Marshal(objectMap) 29702 } 29703 29704 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPolicyDefinitionPropertiesFormat. 29705 func (s *ServiceEndpointPolicyDefinitionPropertiesFormat) UnmarshalJSON(data []byte) error { 29706 var rawMsg map[string]json.RawMessage 29707 if err := json.Unmarshal(data, &rawMsg); err != nil { 29708 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29709 } 29710 for key, val := range rawMsg { 29711 var err error 29712 switch key { 29713 case "description": 29714 err = unpopulate(val, "Description", &s.Description) 29715 delete(rawMsg, key) 29716 case "provisioningState": 29717 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29718 delete(rawMsg, key) 29719 case "service": 29720 err = unpopulate(val, "Service", &s.Service) 29721 delete(rawMsg, key) 29722 case "serviceResources": 29723 err = unpopulate(val, "ServiceResources", &s.ServiceResources) 29724 delete(rawMsg, key) 29725 } 29726 if err != nil { 29727 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29728 } 29729 } 29730 return nil 29731 } 29732 29733 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyListResult. 29734 func (s ServiceEndpointPolicyListResult) MarshalJSON() ([]byte, error) { 29735 objectMap := make(map[string]any) 29736 populate(objectMap, "nextLink", s.NextLink) 29737 populate(objectMap, "value", s.Value) 29738 return json.Marshal(objectMap) 29739 } 29740 29741 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPolicyListResult. 29742 func (s *ServiceEndpointPolicyListResult) UnmarshalJSON(data []byte) error { 29743 var rawMsg map[string]json.RawMessage 29744 if err := json.Unmarshal(data, &rawMsg); err != nil { 29745 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29746 } 29747 for key, val := range rawMsg { 29748 var err error 29749 switch key { 29750 case "nextLink": 29751 err = unpopulate(val, "NextLink", &s.NextLink) 29752 delete(rawMsg, key) 29753 case "value": 29754 err = unpopulate(val, "Value", &s.Value) 29755 delete(rawMsg, key) 29756 } 29757 if err != nil { 29758 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29759 } 29760 } 29761 return nil 29762 } 29763 29764 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPolicyPropertiesFormat. 29765 func (s ServiceEndpointPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 29766 objectMap := make(map[string]any) 29767 populate(objectMap, "contextualServiceEndpointPolicies", s.ContextualServiceEndpointPolicies) 29768 populate(objectMap, "provisioningState", s.ProvisioningState) 29769 populate(objectMap, "resourceGuid", s.ResourceGUID) 29770 populate(objectMap, "serviceAlias", s.ServiceAlias) 29771 populate(objectMap, "serviceEndpointPolicyDefinitions", s.ServiceEndpointPolicyDefinitions) 29772 populate(objectMap, "subnets", s.Subnets) 29773 return json.Marshal(objectMap) 29774 } 29775 29776 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPolicyPropertiesFormat. 29777 func (s *ServiceEndpointPolicyPropertiesFormat) UnmarshalJSON(data []byte) error { 29778 var rawMsg map[string]json.RawMessage 29779 if err := json.Unmarshal(data, &rawMsg); err != nil { 29780 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29781 } 29782 for key, val := range rawMsg { 29783 var err error 29784 switch key { 29785 case "contextualServiceEndpointPolicies": 29786 err = unpopulate(val, "ContextualServiceEndpointPolicies", &s.ContextualServiceEndpointPolicies) 29787 delete(rawMsg, key) 29788 case "provisioningState": 29789 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29790 delete(rawMsg, key) 29791 case "resourceGuid": 29792 err = unpopulate(val, "ResourceGUID", &s.ResourceGUID) 29793 delete(rawMsg, key) 29794 case "serviceAlias": 29795 err = unpopulate(val, "ServiceAlias", &s.ServiceAlias) 29796 delete(rawMsg, key) 29797 case "serviceEndpointPolicyDefinitions": 29798 err = unpopulate(val, "ServiceEndpointPolicyDefinitions", &s.ServiceEndpointPolicyDefinitions) 29799 delete(rawMsg, key) 29800 case "subnets": 29801 err = unpopulate(val, "Subnets", &s.Subnets) 29802 delete(rawMsg, key) 29803 } 29804 if err != nil { 29805 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29806 } 29807 } 29808 return nil 29809 } 29810 29811 // MarshalJSON implements the json.Marshaller interface for type ServiceEndpointPropertiesFormat. 29812 func (s ServiceEndpointPropertiesFormat) MarshalJSON() ([]byte, error) { 29813 objectMap := make(map[string]any) 29814 populate(objectMap, "locations", s.Locations) 29815 populate(objectMap, "networkIdentifier", s.NetworkIdentifier) 29816 populate(objectMap, "provisioningState", s.ProvisioningState) 29817 populate(objectMap, "service", s.Service) 29818 return json.Marshal(objectMap) 29819 } 29820 29821 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpointPropertiesFormat. 29822 func (s *ServiceEndpointPropertiesFormat) UnmarshalJSON(data []byte) error { 29823 var rawMsg map[string]json.RawMessage 29824 if err := json.Unmarshal(data, &rawMsg); err != nil { 29825 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29826 } 29827 for key, val := range rawMsg { 29828 var err error 29829 switch key { 29830 case "locations": 29831 err = unpopulate(val, "Locations", &s.Locations) 29832 delete(rawMsg, key) 29833 case "networkIdentifier": 29834 err = unpopulate(val, "NetworkIdentifier", &s.NetworkIdentifier) 29835 delete(rawMsg, key) 29836 case "provisioningState": 29837 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 29838 delete(rawMsg, key) 29839 case "service": 29840 err = unpopulate(val, "Service", &s.Service) 29841 delete(rawMsg, key) 29842 } 29843 if err != nil { 29844 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29845 } 29846 } 29847 return nil 29848 } 29849 29850 // MarshalJSON implements the json.Marshaller interface for type ServiceTagInformation. 29851 func (s ServiceTagInformation) MarshalJSON() ([]byte, error) { 29852 objectMap := make(map[string]any) 29853 populate(objectMap, "id", s.ID) 29854 populate(objectMap, "name", s.Name) 29855 populate(objectMap, "properties", s.Properties) 29856 populate(objectMap, "serviceTagChangeNumber", s.ServiceTagChangeNumber) 29857 return json.Marshal(objectMap) 29858 } 29859 29860 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceTagInformation. 29861 func (s *ServiceTagInformation) UnmarshalJSON(data []byte) error { 29862 var rawMsg map[string]json.RawMessage 29863 if err := json.Unmarshal(data, &rawMsg); err != nil { 29864 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29865 } 29866 for key, val := range rawMsg { 29867 var err error 29868 switch key { 29869 case "id": 29870 err = unpopulate(val, "ID", &s.ID) 29871 delete(rawMsg, key) 29872 case "name": 29873 err = unpopulate(val, "Name", &s.Name) 29874 delete(rawMsg, key) 29875 case "properties": 29876 err = unpopulate(val, "Properties", &s.Properties) 29877 delete(rawMsg, key) 29878 case "serviceTagChangeNumber": 29879 err = unpopulate(val, "ServiceTagChangeNumber", &s.ServiceTagChangeNumber) 29880 delete(rawMsg, key) 29881 } 29882 if err != nil { 29883 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29884 } 29885 } 29886 return nil 29887 } 29888 29889 // MarshalJSON implements the json.Marshaller interface for type ServiceTagInformationListResult. 29890 func (s ServiceTagInformationListResult) MarshalJSON() ([]byte, error) { 29891 objectMap := make(map[string]any) 29892 populate(objectMap, "nextLink", s.NextLink) 29893 populate(objectMap, "value", s.Value) 29894 return json.Marshal(objectMap) 29895 } 29896 29897 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceTagInformationListResult. 29898 func (s *ServiceTagInformationListResult) UnmarshalJSON(data []byte) error { 29899 var rawMsg map[string]json.RawMessage 29900 if err := json.Unmarshal(data, &rawMsg); err != nil { 29901 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29902 } 29903 for key, val := range rawMsg { 29904 var err error 29905 switch key { 29906 case "nextLink": 29907 err = unpopulate(val, "NextLink", &s.NextLink) 29908 delete(rawMsg, key) 29909 case "value": 29910 err = unpopulate(val, "Value", &s.Value) 29911 delete(rawMsg, key) 29912 } 29913 if err != nil { 29914 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29915 } 29916 } 29917 return nil 29918 } 29919 29920 // MarshalJSON implements the json.Marshaller interface for type ServiceTagInformationPropertiesFormat. 29921 func (s ServiceTagInformationPropertiesFormat) MarshalJSON() ([]byte, error) { 29922 objectMap := make(map[string]any) 29923 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 29924 populate(objectMap, "changeNumber", s.ChangeNumber) 29925 populate(objectMap, "region", s.Region) 29926 populate(objectMap, "state", s.State) 29927 populate(objectMap, "systemService", s.SystemService) 29928 return json.Marshal(objectMap) 29929 } 29930 29931 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceTagInformationPropertiesFormat. 29932 func (s *ServiceTagInformationPropertiesFormat) UnmarshalJSON(data []byte) error { 29933 var rawMsg map[string]json.RawMessage 29934 if err := json.Unmarshal(data, &rawMsg); err != nil { 29935 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29936 } 29937 for key, val := range rawMsg { 29938 var err error 29939 switch key { 29940 case "addressPrefixes": 29941 err = unpopulate(val, "AddressPrefixes", &s.AddressPrefixes) 29942 delete(rawMsg, key) 29943 case "changeNumber": 29944 err = unpopulate(val, "ChangeNumber", &s.ChangeNumber) 29945 delete(rawMsg, key) 29946 case "region": 29947 err = unpopulate(val, "Region", &s.Region) 29948 delete(rawMsg, key) 29949 case "state": 29950 err = unpopulate(val, "State", &s.State) 29951 delete(rawMsg, key) 29952 case "systemService": 29953 err = unpopulate(val, "SystemService", &s.SystemService) 29954 delete(rawMsg, key) 29955 } 29956 if err != nil { 29957 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29958 } 29959 } 29960 return nil 29961 } 29962 29963 // MarshalJSON implements the json.Marshaller interface for type ServiceTagsListResult. 29964 func (s ServiceTagsListResult) MarshalJSON() ([]byte, error) { 29965 objectMap := make(map[string]any) 29966 populate(objectMap, "changeNumber", s.ChangeNumber) 29967 populate(objectMap, "cloud", s.Cloud) 29968 populate(objectMap, "id", s.ID) 29969 populate(objectMap, "name", s.Name) 29970 populate(objectMap, "nextLink", s.NextLink) 29971 populate(objectMap, "type", s.Type) 29972 populate(objectMap, "values", s.Values) 29973 return json.Marshal(objectMap) 29974 } 29975 29976 // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceTagsListResult. 29977 func (s *ServiceTagsListResult) UnmarshalJSON(data []byte) error { 29978 var rawMsg map[string]json.RawMessage 29979 if err := json.Unmarshal(data, &rawMsg); err != nil { 29980 return fmt.Errorf("unmarshalling type %T: %v", s, err) 29981 } 29982 for key, val := range rawMsg { 29983 var err error 29984 switch key { 29985 case "changeNumber": 29986 err = unpopulate(val, "ChangeNumber", &s.ChangeNumber) 29987 delete(rawMsg, key) 29988 case "cloud": 29989 err = unpopulate(val, "Cloud", &s.Cloud) 29990 delete(rawMsg, key) 29991 case "id": 29992 err = unpopulate(val, "ID", &s.ID) 29993 delete(rawMsg, key) 29994 case "name": 29995 err = unpopulate(val, "Name", &s.Name) 29996 delete(rawMsg, key) 29997 case "nextLink": 29998 err = unpopulate(val, "NextLink", &s.NextLink) 29999 delete(rawMsg, key) 30000 case "type": 30001 err = unpopulate(val, "Type", &s.Type) 30002 delete(rawMsg, key) 30003 case "values": 30004 err = unpopulate(val, "Values", &s.Values) 30005 delete(rawMsg, key) 30006 } 30007 if err != nil { 30008 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30009 } 30010 } 30011 return nil 30012 } 30013 30014 // MarshalJSON implements the json.Marshaller interface for type SessionIDs. 30015 func (s SessionIDs) MarshalJSON() ([]byte, error) { 30016 objectMap := make(map[string]any) 30017 populate(objectMap, "sessionIds", s.SessionIDs) 30018 return json.Marshal(objectMap) 30019 } 30020 30021 // UnmarshalJSON implements the json.Unmarshaller interface for type SessionIDs. 30022 func (s *SessionIDs) UnmarshalJSON(data []byte) error { 30023 var rawMsg map[string]json.RawMessage 30024 if err := json.Unmarshal(data, &rawMsg); err != nil { 30025 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30026 } 30027 for key, val := range rawMsg { 30028 var err error 30029 switch key { 30030 case "sessionIds": 30031 err = unpopulate(val, "SessionIDs", &s.SessionIDs) 30032 delete(rawMsg, key) 30033 } 30034 if err != nil { 30035 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30036 } 30037 } 30038 return nil 30039 } 30040 30041 // MarshalJSON implements the json.Marshaller interface for type SharedKeyProperties. 30042 func (s SharedKeyProperties) MarshalJSON() ([]byte, error) { 30043 objectMap := make(map[string]any) 30044 populate(objectMap, "provisioningState", s.ProvisioningState) 30045 populate(objectMap, "sharedKey", s.SharedKey) 30046 populate(objectMap, "sharedKeyLength", s.SharedKeyLength) 30047 return json.Marshal(objectMap) 30048 } 30049 30050 // UnmarshalJSON implements the json.Unmarshaller interface for type SharedKeyProperties. 30051 func (s *SharedKeyProperties) UnmarshalJSON(data []byte) error { 30052 var rawMsg map[string]json.RawMessage 30053 if err := json.Unmarshal(data, &rawMsg); err != nil { 30054 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30055 } 30056 for key, val := range rawMsg { 30057 var err error 30058 switch key { 30059 case "provisioningState": 30060 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 30061 delete(rawMsg, key) 30062 case "sharedKey": 30063 err = unpopulate(val, "SharedKey", &s.SharedKey) 30064 delete(rawMsg, key) 30065 case "sharedKeyLength": 30066 err = unpopulate(val, "SharedKeyLength", &s.SharedKeyLength) 30067 delete(rawMsg, key) 30068 } 30069 if err != nil { 30070 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30071 } 30072 } 30073 return nil 30074 } 30075 30076 // MarshalJSON implements the json.Marshaller interface for type SignatureOverridesFilterValuesQuery. 30077 func (s SignatureOverridesFilterValuesQuery) MarshalJSON() ([]byte, error) { 30078 objectMap := make(map[string]any) 30079 populate(objectMap, "filterName", s.FilterName) 30080 return json.Marshal(objectMap) 30081 } 30082 30083 // UnmarshalJSON implements the json.Unmarshaller interface for type SignatureOverridesFilterValuesQuery. 30084 func (s *SignatureOverridesFilterValuesQuery) UnmarshalJSON(data []byte) error { 30085 var rawMsg map[string]json.RawMessage 30086 if err := json.Unmarshal(data, &rawMsg); err != nil { 30087 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30088 } 30089 for key, val := range rawMsg { 30090 var err error 30091 switch key { 30092 case "filterName": 30093 err = unpopulate(val, "FilterName", &s.FilterName) 30094 delete(rawMsg, key) 30095 } 30096 if err != nil { 30097 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30098 } 30099 } 30100 return nil 30101 } 30102 30103 // MarshalJSON implements the json.Marshaller interface for type SignatureOverridesFilterValuesResponse. 30104 func (s SignatureOverridesFilterValuesResponse) MarshalJSON() ([]byte, error) { 30105 objectMap := make(map[string]any) 30106 populate(objectMap, "filterValues", s.FilterValues) 30107 return json.Marshal(objectMap) 30108 } 30109 30110 // UnmarshalJSON implements the json.Unmarshaller interface for type SignatureOverridesFilterValuesResponse. 30111 func (s *SignatureOverridesFilterValuesResponse) UnmarshalJSON(data []byte) error { 30112 var rawMsg map[string]json.RawMessage 30113 if err := json.Unmarshal(data, &rawMsg); err != nil { 30114 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30115 } 30116 for key, val := range rawMsg { 30117 var err error 30118 switch key { 30119 case "filterValues": 30120 err = unpopulate(val, "FilterValues", &s.FilterValues) 30121 delete(rawMsg, key) 30122 } 30123 if err != nil { 30124 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30125 } 30126 } 30127 return nil 30128 } 30129 30130 // MarshalJSON implements the json.Marshaller interface for type SignaturesOverrides. 30131 func (s SignaturesOverrides) MarshalJSON() ([]byte, error) { 30132 objectMap := make(map[string]any) 30133 populate(objectMap, "id", s.ID) 30134 populate(objectMap, "name", s.Name) 30135 populate(objectMap, "properties", s.Properties) 30136 populate(objectMap, "type", s.Type) 30137 return json.Marshal(objectMap) 30138 } 30139 30140 // UnmarshalJSON implements the json.Unmarshaller interface for type SignaturesOverrides. 30141 func (s *SignaturesOverrides) UnmarshalJSON(data []byte) error { 30142 var rawMsg map[string]json.RawMessage 30143 if err := json.Unmarshal(data, &rawMsg); err != nil { 30144 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30145 } 30146 for key, val := range rawMsg { 30147 var err error 30148 switch key { 30149 case "id": 30150 err = unpopulate(val, "ID", &s.ID) 30151 delete(rawMsg, key) 30152 case "name": 30153 err = unpopulate(val, "Name", &s.Name) 30154 delete(rawMsg, key) 30155 case "properties": 30156 err = unpopulate(val, "Properties", &s.Properties) 30157 delete(rawMsg, key) 30158 case "type": 30159 err = unpopulate(val, "Type", &s.Type) 30160 delete(rawMsg, key) 30161 } 30162 if err != nil { 30163 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30164 } 30165 } 30166 return nil 30167 } 30168 30169 // MarshalJSON implements the json.Marshaller interface for type SignaturesOverridesList. 30170 func (s SignaturesOverridesList) MarshalJSON() ([]byte, error) { 30171 objectMap := make(map[string]any) 30172 populate(objectMap, "value", s.Value) 30173 return json.Marshal(objectMap) 30174 } 30175 30176 // UnmarshalJSON implements the json.Unmarshaller interface for type SignaturesOverridesList. 30177 func (s *SignaturesOverridesList) UnmarshalJSON(data []byte) error { 30178 var rawMsg map[string]json.RawMessage 30179 if err := json.Unmarshal(data, &rawMsg); err != nil { 30180 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30181 } 30182 for key, val := range rawMsg { 30183 var err error 30184 switch key { 30185 case "value": 30186 err = unpopulate(val, "Value", &s.Value) 30187 delete(rawMsg, key) 30188 } 30189 if err != nil { 30190 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30191 } 30192 } 30193 return nil 30194 } 30195 30196 // MarshalJSON implements the json.Marshaller interface for type SignaturesOverridesProperties. 30197 func (s SignaturesOverridesProperties) MarshalJSON() ([]byte, error) { 30198 objectMap := make(map[string]any) 30199 populate(objectMap, "signatures", s.Signatures) 30200 return json.Marshal(objectMap) 30201 } 30202 30203 // UnmarshalJSON implements the json.Unmarshaller interface for type SignaturesOverridesProperties. 30204 func (s *SignaturesOverridesProperties) UnmarshalJSON(data []byte) error { 30205 var rawMsg map[string]json.RawMessage 30206 if err := json.Unmarshal(data, &rawMsg); err != nil { 30207 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30208 } 30209 for key, val := range rawMsg { 30210 var err error 30211 switch key { 30212 case "signatures": 30213 err = unpopulate(val, "Signatures", &s.Signatures) 30214 delete(rawMsg, key) 30215 } 30216 if err != nil { 30217 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30218 } 30219 } 30220 return nil 30221 } 30222 30223 // MarshalJSON implements the json.Marshaller interface for type SingleQueryResult. 30224 func (s SingleQueryResult) MarshalJSON() ([]byte, error) { 30225 objectMap := make(map[string]any) 30226 populate(objectMap, "description", s.Description) 30227 populate(objectMap, "destinationPorts", s.DestinationPorts) 30228 populate(objectMap, "direction", s.Direction) 30229 populate(objectMap, "group", s.Group) 30230 populate(objectMap, "inheritedFromParentPolicy", s.InheritedFromParentPolicy) 30231 populate(objectMap, "lastUpdated", s.LastUpdated) 30232 populate(objectMap, "mode", s.Mode) 30233 populate(objectMap, "protocol", s.Protocol) 30234 populate(objectMap, "severity", s.Severity) 30235 populate(objectMap, "signatureId", s.SignatureID) 30236 populate(objectMap, "sourcePorts", s.SourcePorts) 30237 return json.Marshal(objectMap) 30238 } 30239 30240 // UnmarshalJSON implements the json.Unmarshaller interface for type SingleQueryResult. 30241 func (s *SingleQueryResult) UnmarshalJSON(data []byte) error { 30242 var rawMsg map[string]json.RawMessage 30243 if err := json.Unmarshal(data, &rawMsg); err != nil { 30244 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30245 } 30246 for key, val := range rawMsg { 30247 var err error 30248 switch key { 30249 case "description": 30250 err = unpopulate(val, "Description", &s.Description) 30251 delete(rawMsg, key) 30252 case "destinationPorts": 30253 err = unpopulate(val, "DestinationPorts", &s.DestinationPorts) 30254 delete(rawMsg, key) 30255 case "direction": 30256 err = unpopulate(val, "Direction", &s.Direction) 30257 delete(rawMsg, key) 30258 case "group": 30259 err = unpopulate(val, "Group", &s.Group) 30260 delete(rawMsg, key) 30261 case "inheritedFromParentPolicy": 30262 err = unpopulate(val, "InheritedFromParentPolicy", &s.InheritedFromParentPolicy) 30263 delete(rawMsg, key) 30264 case "lastUpdated": 30265 err = unpopulate(val, "LastUpdated", &s.LastUpdated) 30266 delete(rawMsg, key) 30267 case "mode": 30268 err = unpopulate(val, "Mode", &s.Mode) 30269 delete(rawMsg, key) 30270 case "protocol": 30271 err = unpopulate(val, "Protocol", &s.Protocol) 30272 delete(rawMsg, key) 30273 case "severity": 30274 err = unpopulate(val, "Severity", &s.Severity) 30275 delete(rawMsg, key) 30276 case "signatureId": 30277 err = unpopulate(val, "SignatureID", &s.SignatureID) 30278 delete(rawMsg, key) 30279 case "sourcePorts": 30280 err = unpopulate(val, "SourcePorts", &s.SourcePorts) 30281 delete(rawMsg, key) 30282 } 30283 if err != nil { 30284 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30285 } 30286 } 30287 return nil 30288 } 30289 30290 // MarshalJSON implements the json.Marshaller interface for type StaticCidr. 30291 func (s StaticCidr) MarshalJSON() ([]byte, error) { 30292 objectMap := make(map[string]any) 30293 populate(objectMap, "id", s.ID) 30294 populate(objectMap, "name", s.Name) 30295 populate(objectMap, "properties", s.Properties) 30296 populate(objectMap, "systemData", s.SystemData) 30297 populate(objectMap, "type", s.Type) 30298 return json.Marshal(objectMap) 30299 } 30300 30301 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticCidr. 30302 func (s *StaticCidr) UnmarshalJSON(data []byte) error { 30303 var rawMsg map[string]json.RawMessage 30304 if err := json.Unmarshal(data, &rawMsg); err != nil { 30305 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30306 } 30307 for key, val := range rawMsg { 30308 var err error 30309 switch key { 30310 case "id": 30311 err = unpopulate(val, "ID", &s.ID) 30312 delete(rawMsg, key) 30313 case "name": 30314 err = unpopulate(val, "Name", &s.Name) 30315 delete(rawMsg, key) 30316 case "properties": 30317 err = unpopulate(val, "Properties", &s.Properties) 30318 delete(rawMsg, key) 30319 case "systemData": 30320 err = unpopulate(val, "SystemData", &s.SystemData) 30321 delete(rawMsg, key) 30322 case "type": 30323 err = unpopulate(val, "Type", &s.Type) 30324 delete(rawMsg, key) 30325 } 30326 if err != nil { 30327 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30328 } 30329 } 30330 return nil 30331 } 30332 30333 // MarshalJSON implements the json.Marshaller interface for type StaticCidrList. 30334 func (s StaticCidrList) MarshalJSON() ([]byte, error) { 30335 objectMap := make(map[string]any) 30336 populate(objectMap, "nextLink", s.NextLink) 30337 populate(objectMap, "value", s.Value) 30338 return json.Marshal(objectMap) 30339 } 30340 30341 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticCidrList. 30342 func (s *StaticCidrList) UnmarshalJSON(data []byte) error { 30343 var rawMsg map[string]json.RawMessage 30344 if err := json.Unmarshal(data, &rawMsg); err != nil { 30345 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30346 } 30347 for key, val := range rawMsg { 30348 var err error 30349 switch key { 30350 case "nextLink": 30351 err = unpopulate(val, "NextLink", &s.NextLink) 30352 delete(rawMsg, key) 30353 case "value": 30354 err = unpopulate(val, "Value", &s.Value) 30355 delete(rawMsg, key) 30356 } 30357 if err != nil { 30358 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30359 } 30360 } 30361 return nil 30362 } 30363 30364 // MarshalJSON implements the json.Marshaller interface for type StaticCidrProperties. 30365 func (s StaticCidrProperties) MarshalJSON() ([]byte, error) { 30366 objectMap := make(map[string]any) 30367 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 30368 populate(objectMap, "description", s.Description) 30369 populate(objectMap, "numberOfIPAddressesToAllocate", s.NumberOfIPAddressesToAllocate) 30370 populate(objectMap, "provisioningState", s.ProvisioningState) 30371 populate(objectMap, "totalNumberOfIPAddresses", s.TotalNumberOfIPAddresses) 30372 return json.Marshal(objectMap) 30373 } 30374 30375 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticCidrProperties. 30376 func (s *StaticCidrProperties) UnmarshalJSON(data []byte) error { 30377 var rawMsg map[string]json.RawMessage 30378 if err := json.Unmarshal(data, &rawMsg); err != nil { 30379 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30380 } 30381 for key, val := range rawMsg { 30382 var err error 30383 switch key { 30384 case "addressPrefixes": 30385 err = unpopulate(val, "AddressPrefixes", &s.AddressPrefixes) 30386 delete(rawMsg, key) 30387 case "description": 30388 err = unpopulate(val, "Description", &s.Description) 30389 delete(rawMsg, key) 30390 case "numberOfIPAddressesToAllocate": 30391 err = unpopulate(val, "NumberOfIPAddressesToAllocate", &s.NumberOfIPAddressesToAllocate) 30392 delete(rawMsg, key) 30393 case "provisioningState": 30394 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 30395 delete(rawMsg, key) 30396 case "totalNumberOfIPAddresses": 30397 err = unpopulate(val, "TotalNumberOfIPAddresses", &s.TotalNumberOfIPAddresses) 30398 delete(rawMsg, key) 30399 } 30400 if err != nil { 30401 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30402 } 30403 } 30404 return nil 30405 } 30406 30407 // MarshalJSON implements the json.Marshaller interface for type StaticMember. 30408 func (s StaticMember) MarshalJSON() ([]byte, error) { 30409 objectMap := make(map[string]any) 30410 populate(objectMap, "etag", s.Etag) 30411 populate(objectMap, "id", s.ID) 30412 populate(objectMap, "name", s.Name) 30413 populate(objectMap, "properties", s.Properties) 30414 populate(objectMap, "systemData", s.SystemData) 30415 populate(objectMap, "type", s.Type) 30416 return json.Marshal(objectMap) 30417 } 30418 30419 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticMember. 30420 func (s *StaticMember) UnmarshalJSON(data []byte) error { 30421 var rawMsg map[string]json.RawMessage 30422 if err := json.Unmarshal(data, &rawMsg); err != nil { 30423 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30424 } 30425 for key, val := range rawMsg { 30426 var err error 30427 switch key { 30428 case "etag": 30429 err = unpopulate(val, "Etag", &s.Etag) 30430 delete(rawMsg, key) 30431 case "id": 30432 err = unpopulate(val, "ID", &s.ID) 30433 delete(rawMsg, key) 30434 case "name": 30435 err = unpopulate(val, "Name", &s.Name) 30436 delete(rawMsg, key) 30437 case "properties": 30438 err = unpopulate(val, "Properties", &s.Properties) 30439 delete(rawMsg, key) 30440 case "systemData": 30441 err = unpopulate(val, "SystemData", &s.SystemData) 30442 delete(rawMsg, key) 30443 case "type": 30444 err = unpopulate(val, "Type", &s.Type) 30445 delete(rawMsg, key) 30446 } 30447 if err != nil { 30448 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30449 } 30450 } 30451 return nil 30452 } 30453 30454 // MarshalJSON implements the json.Marshaller interface for type StaticMemberListResult. 30455 func (s StaticMemberListResult) MarshalJSON() ([]byte, error) { 30456 objectMap := make(map[string]any) 30457 populate(objectMap, "nextLink", s.NextLink) 30458 populate(objectMap, "value", s.Value) 30459 return json.Marshal(objectMap) 30460 } 30461 30462 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticMemberListResult. 30463 func (s *StaticMemberListResult) UnmarshalJSON(data []byte) error { 30464 var rawMsg map[string]json.RawMessage 30465 if err := json.Unmarshal(data, &rawMsg); err != nil { 30466 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30467 } 30468 for key, val := range rawMsg { 30469 var err error 30470 switch key { 30471 case "nextLink": 30472 err = unpopulate(val, "NextLink", &s.NextLink) 30473 delete(rawMsg, key) 30474 case "value": 30475 err = unpopulate(val, "Value", &s.Value) 30476 delete(rawMsg, key) 30477 } 30478 if err != nil { 30479 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30480 } 30481 } 30482 return nil 30483 } 30484 30485 // MarshalJSON implements the json.Marshaller interface for type StaticMemberProperties. 30486 func (s StaticMemberProperties) MarshalJSON() ([]byte, error) { 30487 objectMap := make(map[string]any) 30488 populate(objectMap, "provisioningState", s.ProvisioningState) 30489 populate(objectMap, "region", s.Region) 30490 populate(objectMap, "resourceId", s.ResourceID) 30491 return json.Marshal(objectMap) 30492 } 30493 30494 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticMemberProperties. 30495 func (s *StaticMemberProperties) UnmarshalJSON(data []byte) error { 30496 var rawMsg map[string]json.RawMessage 30497 if err := json.Unmarshal(data, &rawMsg); err != nil { 30498 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30499 } 30500 for key, val := range rawMsg { 30501 var err error 30502 switch key { 30503 case "provisioningState": 30504 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 30505 delete(rawMsg, key) 30506 case "region": 30507 err = unpopulate(val, "Region", &s.Region) 30508 delete(rawMsg, key) 30509 case "resourceId": 30510 err = unpopulate(val, "ResourceID", &s.ResourceID) 30511 delete(rawMsg, key) 30512 } 30513 if err != nil { 30514 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30515 } 30516 } 30517 return nil 30518 } 30519 30520 // MarshalJSON implements the json.Marshaller interface for type StaticRoute. 30521 func (s StaticRoute) MarshalJSON() ([]byte, error) { 30522 objectMap := make(map[string]any) 30523 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 30524 populate(objectMap, "name", s.Name) 30525 populate(objectMap, "nextHopIpAddress", s.NextHopIPAddress) 30526 return json.Marshal(objectMap) 30527 } 30528 30529 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticRoute. 30530 func (s *StaticRoute) UnmarshalJSON(data []byte) error { 30531 var rawMsg map[string]json.RawMessage 30532 if err := json.Unmarshal(data, &rawMsg); err != nil { 30533 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30534 } 30535 for key, val := range rawMsg { 30536 var err error 30537 switch key { 30538 case "addressPrefixes": 30539 err = unpopulate(val, "AddressPrefixes", &s.AddressPrefixes) 30540 delete(rawMsg, key) 30541 case "name": 30542 err = unpopulate(val, "Name", &s.Name) 30543 delete(rawMsg, key) 30544 case "nextHopIpAddress": 30545 err = unpopulate(val, "NextHopIPAddress", &s.NextHopIPAddress) 30546 delete(rawMsg, key) 30547 } 30548 if err != nil { 30549 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30550 } 30551 } 30552 return nil 30553 } 30554 30555 // MarshalJSON implements the json.Marshaller interface for type StaticRoutesConfig. 30556 func (s StaticRoutesConfig) MarshalJSON() ([]byte, error) { 30557 objectMap := make(map[string]any) 30558 populate(objectMap, "propagateStaticRoutes", s.PropagateStaticRoutes) 30559 populate(objectMap, "vnetLocalRouteOverrideCriteria", s.VnetLocalRouteOverrideCriteria) 30560 return json.Marshal(objectMap) 30561 } 30562 30563 // UnmarshalJSON implements the json.Unmarshaller interface for type StaticRoutesConfig. 30564 func (s *StaticRoutesConfig) UnmarshalJSON(data []byte) error { 30565 var rawMsg map[string]json.RawMessage 30566 if err := json.Unmarshal(data, &rawMsg); err != nil { 30567 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30568 } 30569 for key, val := range rawMsg { 30570 var err error 30571 switch key { 30572 case "propagateStaticRoutes": 30573 err = unpopulate(val, "PropagateStaticRoutes", &s.PropagateStaticRoutes) 30574 delete(rawMsg, key) 30575 case "vnetLocalRouteOverrideCriteria": 30576 err = unpopulate(val, "VnetLocalRouteOverrideCriteria", &s.VnetLocalRouteOverrideCriteria) 30577 delete(rawMsg, key) 30578 } 30579 if err != nil { 30580 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30581 } 30582 } 30583 return nil 30584 } 30585 30586 // MarshalJSON implements the json.Marshaller interface for type SubResource. 30587 func (s SubResource) MarshalJSON() ([]byte, error) { 30588 objectMap := make(map[string]any) 30589 populate(objectMap, "id", s.ID) 30590 return json.Marshal(objectMap) 30591 } 30592 30593 // UnmarshalJSON implements the json.Unmarshaller interface for type SubResource. 30594 func (s *SubResource) UnmarshalJSON(data []byte) error { 30595 var rawMsg map[string]json.RawMessage 30596 if err := json.Unmarshal(data, &rawMsg); err != nil { 30597 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30598 } 30599 for key, val := range rawMsg { 30600 var err error 30601 switch key { 30602 case "id": 30603 err = unpopulate(val, "ID", &s.ID) 30604 delete(rawMsg, key) 30605 } 30606 if err != nil { 30607 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30608 } 30609 } 30610 return nil 30611 } 30612 30613 // MarshalJSON implements the json.Marshaller interface for type Subnet. 30614 func (s Subnet) MarshalJSON() ([]byte, error) { 30615 objectMap := make(map[string]any) 30616 populate(objectMap, "etag", s.Etag) 30617 populate(objectMap, "id", s.ID) 30618 populate(objectMap, "name", s.Name) 30619 populate(objectMap, "properties", s.Properties) 30620 populate(objectMap, "type", s.Type) 30621 return json.Marshal(objectMap) 30622 } 30623 30624 // UnmarshalJSON implements the json.Unmarshaller interface for type Subnet. 30625 func (s *Subnet) UnmarshalJSON(data []byte) error { 30626 var rawMsg map[string]json.RawMessage 30627 if err := json.Unmarshal(data, &rawMsg); err != nil { 30628 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30629 } 30630 for key, val := range rawMsg { 30631 var err error 30632 switch key { 30633 case "etag": 30634 err = unpopulate(val, "Etag", &s.Etag) 30635 delete(rawMsg, key) 30636 case "id": 30637 err = unpopulate(val, "ID", &s.ID) 30638 delete(rawMsg, key) 30639 case "name": 30640 err = unpopulate(val, "Name", &s.Name) 30641 delete(rawMsg, key) 30642 case "properties": 30643 err = unpopulate(val, "Properties", &s.Properties) 30644 delete(rawMsg, key) 30645 case "type": 30646 err = unpopulate(val, "Type", &s.Type) 30647 delete(rawMsg, key) 30648 } 30649 if err != nil { 30650 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30651 } 30652 } 30653 return nil 30654 } 30655 30656 // MarshalJSON implements the json.Marshaller interface for type SubnetAssociation. 30657 func (s SubnetAssociation) MarshalJSON() ([]byte, error) { 30658 objectMap := make(map[string]any) 30659 populate(objectMap, "id", s.ID) 30660 populate(objectMap, "securityRules", s.SecurityRules) 30661 return json.Marshal(objectMap) 30662 } 30663 30664 // UnmarshalJSON implements the json.Unmarshaller interface for type SubnetAssociation. 30665 func (s *SubnetAssociation) UnmarshalJSON(data []byte) error { 30666 var rawMsg map[string]json.RawMessage 30667 if err := json.Unmarshal(data, &rawMsg); err != nil { 30668 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30669 } 30670 for key, val := range rawMsg { 30671 var err error 30672 switch key { 30673 case "id": 30674 err = unpopulate(val, "ID", &s.ID) 30675 delete(rawMsg, key) 30676 case "securityRules": 30677 err = unpopulate(val, "SecurityRules", &s.SecurityRules) 30678 delete(rawMsg, key) 30679 } 30680 if err != nil { 30681 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30682 } 30683 } 30684 return nil 30685 } 30686 30687 // MarshalJSON implements the json.Marshaller interface for type SubnetListResult. 30688 func (s SubnetListResult) MarshalJSON() ([]byte, error) { 30689 objectMap := make(map[string]any) 30690 populate(objectMap, "nextLink", s.NextLink) 30691 populate(objectMap, "value", s.Value) 30692 return json.Marshal(objectMap) 30693 } 30694 30695 // UnmarshalJSON implements the json.Unmarshaller interface for type SubnetListResult. 30696 func (s *SubnetListResult) UnmarshalJSON(data []byte) error { 30697 var rawMsg map[string]json.RawMessage 30698 if err := json.Unmarshal(data, &rawMsg); err != nil { 30699 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30700 } 30701 for key, val := range rawMsg { 30702 var err error 30703 switch key { 30704 case "nextLink": 30705 err = unpopulate(val, "NextLink", &s.NextLink) 30706 delete(rawMsg, key) 30707 case "value": 30708 err = unpopulate(val, "Value", &s.Value) 30709 delete(rawMsg, key) 30710 } 30711 if err != nil { 30712 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30713 } 30714 } 30715 return nil 30716 } 30717 30718 // MarshalJSON implements the json.Marshaller interface for type SubnetPropertiesFormat. 30719 func (s SubnetPropertiesFormat) MarshalJSON() ([]byte, error) { 30720 objectMap := make(map[string]any) 30721 populate(objectMap, "addressPrefix", s.AddressPrefix) 30722 populate(objectMap, "addressPrefixes", s.AddressPrefixes) 30723 populate(objectMap, "applicationGatewayIPConfigurations", s.ApplicationGatewayIPConfigurations) 30724 populate(objectMap, "defaultOutboundAccess", s.DefaultOutboundAccess) 30725 populate(objectMap, "delegations", s.Delegations) 30726 populate(objectMap, "ipAllocations", s.IPAllocations) 30727 populate(objectMap, "ipConfigurationProfiles", s.IPConfigurationProfiles) 30728 populate(objectMap, "ipConfigurations", s.IPConfigurations) 30729 populate(objectMap, "ipamPoolPrefixAllocations", s.IpamPoolPrefixAllocations) 30730 populate(objectMap, "natGateway", s.NatGateway) 30731 populate(objectMap, "networkSecurityGroup", s.NetworkSecurityGroup) 30732 populate(objectMap, "privateEndpointNetworkPolicies", s.PrivateEndpointNetworkPolicies) 30733 populate(objectMap, "privateEndpoints", s.PrivateEndpoints) 30734 populate(objectMap, "privateLinkServiceNetworkPolicies", s.PrivateLinkServiceNetworkPolicies) 30735 populate(objectMap, "provisioningState", s.ProvisioningState) 30736 populate(objectMap, "purpose", s.Purpose) 30737 populate(objectMap, "resourceNavigationLinks", s.ResourceNavigationLinks) 30738 populate(objectMap, "routeTable", s.RouteTable) 30739 populate(objectMap, "serviceAssociationLinks", s.ServiceAssociationLinks) 30740 populate(objectMap, "serviceEndpointPolicies", s.ServiceEndpointPolicies) 30741 populate(objectMap, "serviceEndpoints", s.ServiceEndpoints) 30742 populate(objectMap, "sharingScope", s.SharingScope) 30743 return json.Marshal(objectMap) 30744 } 30745 30746 // UnmarshalJSON implements the json.Unmarshaller interface for type SubnetPropertiesFormat. 30747 func (s *SubnetPropertiesFormat) UnmarshalJSON(data []byte) error { 30748 var rawMsg map[string]json.RawMessage 30749 if err := json.Unmarshal(data, &rawMsg); err != nil { 30750 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30751 } 30752 for key, val := range rawMsg { 30753 var err error 30754 switch key { 30755 case "addressPrefix": 30756 err = unpopulate(val, "AddressPrefix", &s.AddressPrefix) 30757 delete(rawMsg, key) 30758 case "addressPrefixes": 30759 err = unpopulate(val, "AddressPrefixes", &s.AddressPrefixes) 30760 delete(rawMsg, key) 30761 case "applicationGatewayIPConfigurations": 30762 err = unpopulate(val, "ApplicationGatewayIPConfigurations", &s.ApplicationGatewayIPConfigurations) 30763 delete(rawMsg, key) 30764 case "defaultOutboundAccess": 30765 err = unpopulate(val, "DefaultOutboundAccess", &s.DefaultOutboundAccess) 30766 delete(rawMsg, key) 30767 case "delegations": 30768 err = unpopulate(val, "Delegations", &s.Delegations) 30769 delete(rawMsg, key) 30770 case "ipAllocations": 30771 err = unpopulate(val, "IPAllocations", &s.IPAllocations) 30772 delete(rawMsg, key) 30773 case "ipConfigurationProfiles": 30774 err = unpopulate(val, "IPConfigurationProfiles", &s.IPConfigurationProfiles) 30775 delete(rawMsg, key) 30776 case "ipConfigurations": 30777 err = unpopulate(val, "IPConfigurations", &s.IPConfigurations) 30778 delete(rawMsg, key) 30779 case "ipamPoolPrefixAllocations": 30780 err = unpopulate(val, "IpamPoolPrefixAllocations", &s.IpamPoolPrefixAllocations) 30781 delete(rawMsg, key) 30782 case "natGateway": 30783 err = unpopulate(val, "NatGateway", &s.NatGateway) 30784 delete(rawMsg, key) 30785 case "networkSecurityGroup": 30786 err = unpopulate(val, "NetworkSecurityGroup", &s.NetworkSecurityGroup) 30787 delete(rawMsg, key) 30788 case "privateEndpointNetworkPolicies": 30789 err = unpopulate(val, "PrivateEndpointNetworkPolicies", &s.PrivateEndpointNetworkPolicies) 30790 delete(rawMsg, key) 30791 case "privateEndpoints": 30792 err = unpopulate(val, "PrivateEndpoints", &s.PrivateEndpoints) 30793 delete(rawMsg, key) 30794 case "privateLinkServiceNetworkPolicies": 30795 err = unpopulate(val, "PrivateLinkServiceNetworkPolicies", &s.PrivateLinkServiceNetworkPolicies) 30796 delete(rawMsg, key) 30797 case "provisioningState": 30798 err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) 30799 delete(rawMsg, key) 30800 case "purpose": 30801 err = unpopulate(val, "Purpose", &s.Purpose) 30802 delete(rawMsg, key) 30803 case "resourceNavigationLinks": 30804 err = unpopulate(val, "ResourceNavigationLinks", &s.ResourceNavigationLinks) 30805 delete(rawMsg, key) 30806 case "routeTable": 30807 err = unpopulate(val, "RouteTable", &s.RouteTable) 30808 delete(rawMsg, key) 30809 case "serviceAssociationLinks": 30810 err = unpopulate(val, "ServiceAssociationLinks", &s.ServiceAssociationLinks) 30811 delete(rawMsg, key) 30812 case "serviceEndpointPolicies": 30813 err = unpopulate(val, "ServiceEndpointPolicies", &s.ServiceEndpointPolicies) 30814 delete(rawMsg, key) 30815 case "serviceEndpoints": 30816 err = unpopulate(val, "ServiceEndpoints", &s.ServiceEndpoints) 30817 delete(rawMsg, key) 30818 case "sharingScope": 30819 err = unpopulate(val, "SharingScope", &s.SharingScope) 30820 delete(rawMsg, key) 30821 } 30822 if err != nil { 30823 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30824 } 30825 } 30826 return nil 30827 } 30828 30829 // MarshalJSON implements the json.Marshaller interface for type SwapResource. 30830 func (s SwapResource) MarshalJSON() ([]byte, error) { 30831 objectMap := make(map[string]any) 30832 populate(objectMap, "id", s.ID) 30833 populate(objectMap, "name", s.Name) 30834 populate(objectMap, "properties", s.Properties) 30835 populate(objectMap, "type", s.Type) 30836 return json.Marshal(objectMap) 30837 } 30838 30839 // UnmarshalJSON implements the json.Unmarshaller interface for type SwapResource. 30840 func (s *SwapResource) UnmarshalJSON(data []byte) error { 30841 var rawMsg map[string]json.RawMessage 30842 if err := json.Unmarshal(data, &rawMsg); err != nil { 30843 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30844 } 30845 for key, val := range rawMsg { 30846 var err error 30847 switch key { 30848 case "id": 30849 err = unpopulate(val, "ID", &s.ID) 30850 delete(rawMsg, key) 30851 case "name": 30852 err = unpopulate(val, "Name", &s.Name) 30853 delete(rawMsg, key) 30854 case "properties": 30855 err = unpopulate(val, "Properties", &s.Properties) 30856 delete(rawMsg, key) 30857 case "type": 30858 err = unpopulate(val, "Type", &s.Type) 30859 delete(rawMsg, key) 30860 } 30861 if err != nil { 30862 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30863 } 30864 } 30865 return nil 30866 } 30867 30868 // MarshalJSON implements the json.Marshaller interface for type SwapResourceListResult. 30869 func (s SwapResourceListResult) MarshalJSON() ([]byte, error) { 30870 objectMap := make(map[string]any) 30871 populate(objectMap, "value", s.Value) 30872 return json.Marshal(objectMap) 30873 } 30874 30875 // UnmarshalJSON implements the json.Unmarshaller interface for type SwapResourceListResult. 30876 func (s *SwapResourceListResult) UnmarshalJSON(data []byte) error { 30877 var rawMsg map[string]json.RawMessage 30878 if err := json.Unmarshal(data, &rawMsg); err != nil { 30879 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30880 } 30881 for key, val := range rawMsg { 30882 var err error 30883 switch key { 30884 case "value": 30885 err = unpopulate(val, "Value", &s.Value) 30886 delete(rawMsg, key) 30887 } 30888 if err != nil { 30889 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30890 } 30891 } 30892 return nil 30893 } 30894 30895 // MarshalJSON implements the json.Marshaller interface for type SwapResourceProperties. 30896 func (s SwapResourceProperties) MarshalJSON() ([]byte, error) { 30897 objectMap := make(map[string]any) 30898 populate(objectMap, "slotType", s.SlotType) 30899 return json.Marshal(objectMap) 30900 } 30901 30902 // UnmarshalJSON implements the json.Unmarshaller interface for type SwapResourceProperties. 30903 func (s *SwapResourceProperties) UnmarshalJSON(data []byte) error { 30904 var rawMsg map[string]json.RawMessage 30905 if err := json.Unmarshal(data, &rawMsg); err != nil { 30906 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30907 } 30908 for key, val := range rawMsg { 30909 var err error 30910 switch key { 30911 case "slotType": 30912 err = unpopulate(val, "SlotType", &s.SlotType) 30913 delete(rawMsg, key) 30914 } 30915 if err != nil { 30916 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30917 } 30918 } 30919 return nil 30920 } 30921 30922 // MarshalJSON implements the json.Marshaller interface for type SystemData. 30923 func (s SystemData) MarshalJSON() ([]byte, error) { 30924 objectMap := make(map[string]any) 30925 populateDateTimeRFC3339(objectMap, "createdAt", s.CreatedAt) 30926 populate(objectMap, "createdBy", s.CreatedBy) 30927 populate(objectMap, "createdByType", s.CreatedByType) 30928 populateDateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt) 30929 populate(objectMap, "lastModifiedBy", s.LastModifiedBy) 30930 populate(objectMap, "lastModifiedByType", s.LastModifiedByType) 30931 return json.Marshal(objectMap) 30932 } 30933 30934 // UnmarshalJSON implements the json.Unmarshaller interface for type SystemData. 30935 func (s *SystemData) UnmarshalJSON(data []byte) error { 30936 var rawMsg map[string]json.RawMessage 30937 if err := json.Unmarshal(data, &rawMsg); err != nil { 30938 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30939 } 30940 for key, val := range rawMsg { 30941 var err error 30942 switch key { 30943 case "createdAt": 30944 err = unpopulateDateTimeRFC3339(val, "CreatedAt", &s.CreatedAt) 30945 delete(rawMsg, key) 30946 case "createdBy": 30947 err = unpopulate(val, "CreatedBy", &s.CreatedBy) 30948 delete(rawMsg, key) 30949 case "createdByType": 30950 err = unpopulate(val, "CreatedByType", &s.CreatedByType) 30951 delete(rawMsg, key) 30952 case "lastModifiedAt": 30953 err = unpopulateDateTimeRFC3339(val, "LastModifiedAt", &s.LastModifiedAt) 30954 delete(rawMsg, key) 30955 case "lastModifiedBy": 30956 err = unpopulate(val, "LastModifiedBy", &s.LastModifiedBy) 30957 delete(rawMsg, key) 30958 case "lastModifiedByType": 30959 err = unpopulate(val, "LastModifiedByType", &s.LastModifiedByType) 30960 delete(rawMsg, key) 30961 } 30962 if err != nil { 30963 return fmt.Errorf("unmarshalling type %T: %v", s, err) 30964 } 30965 } 30966 return nil 30967 } 30968 30969 // MarshalJSON implements the json.Marshaller interface for type TagsObject. 30970 func (t TagsObject) MarshalJSON() ([]byte, error) { 30971 objectMap := make(map[string]any) 30972 populate(objectMap, "tags", t.Tags) 30973 return json.Marshal(objectMap) 30974 } 30975 30976 // UnmarshalJSON implements the json.Unmarshaller interface for type TagsObject. 30977 func (t *TagsObject) UnmarshalJSON(data []byte) error { 30978 var rawMsg map[string]json.RawMessage 30979 if err := json.Unmarshal(data, &rawMsg); err != nil { 30980 return fmt.Errorf("unmarshalling type %T: %v", t, err) 30981 } 30982 for key, val := range rawMsg { 30983 var err error 30984 switch key { 30985 case "tags": 30986 err = unpopulate(val, "Tags", &t.Tags) 30987 delete(rawMsg, key) 30988 } 30989 if err != nil { 30990 return fmt.Errorf("unmarshalling type %T: %v", t, err) 30991 } 30992 } 30993 return nil 30994 } 30995 30996 // MarshalJSON implements the json.Marshaller interface for type Topology. 30997 func (t Topology) MarshalJSON() ([]byte, error) { 30998 objectMap := make(map[string]any) 30999 populateDateTimeRFC3339(objectMap, "createdDateTime", t.CreatedDateTime) 31000 populate(objectMap, "id", t.ID) 31001 populateDateTimeRFC3339(objectMap, "lastModified", t.LastModified) 31002 populate(objectMap, "resources", t.Resources) 31003 return json.Marshal(objectMap) 31004 } 31005 31006 // UnmarshalJSON implements the json.Unmarshaller interface for type Topology. 31007 func (t *Topology) UnmarshalJSON(data []byte) error { 31008 var rawMsg map[string]json.RawMessage 31009 if err := json.Unmarshal(data, &rawMsg); err != nil { 31010 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31011 } 31012 for key, val := range rawMsg { 31013 var err error 31014 switch key { 31015 case "createdDateTime": 31016 err = unpopulateDateTimeRFC3339(val, "CreatedDateTime", &t.CreatedDateTime) 31017 delete(rawMsg, key) 31018 case "id": 31019 err = unpopulate(val, "ID", &t.ID) 31020 delete(rawMsg, key) 31021 case "lastModified": 31022 err = unpopulateDateTimeRFC3339(val, "LastModified", &t.LastModified) 31023 delete(rawMsg, key) 31024 case "resources": 31025 err = unpopulate(val, "Resources", &t.Resources) 31026 delete(rawMsg, key) 31027 } 31028 if err != nil { 31029 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31030 } 31031 } 31032 return nil 31033 } 31034 31035 // MarshalJSON implements the json.Marshaller interface for type TopologyAssociation. 31036 func (t TopologyAssociation) MarshalJSON() ([]byte, error) { 31037 objectMap := make(map[string]any) 31038 populate(objectMap, "associationType", t.AssociationType) 31039 populate(objectMap, "name", t.Name) 31040 populate(objectMap, "resourceId", t.ResourceID) 31041 return json.Marshal(objectMap) 31042 } 31043 31044 // UnmarshalJSON implements the json.Unmarshaller interface for type TopologyAssociation. 31045 func (t *TopologyAssociation) UnmarshalJSON(data []byte) error { 31046 var rawMsg map[string]json.RawMessage 31047 if err := json.Unmarshal(data, &rawMsg); err != nil { 31048 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31049 } 31050 for key, val := range rawMsg { 31051 var err error 31052 switch key { 31053 case "associationType": 31054 err = unpopulate(val, "AssociationType", &t.AssociationType) 31055 delete(rawMsg, key) 31056 case "name": 31057 err = unpopulate(val, "Name", &t.Name) 31058 delete(rawMsg, key) 31059 case "resourceId": 31060 err = unpopulate(val, "ResourceID", &t.ResourceID) 31061 delete(rawMsg, key) 31062 } 31063 if err != nil { 31064 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31065 } 31066 } 31067 return nil 31068 } 31069 31070 // MarshalJSON implements the json.Marshaller interface for type TopologyParameters. 31071 func (t TopologyParameters) MarshalJSON() ([]byte, error) { 31072 objectMap := make(map[string]any) 31073 populate(objectMap, "targetResourceGroupName", t.TargetResourceGroupName) 31074 populate(objectMap, "targetSubnet", t.TargetSubnet) 31075 populate(objectMap, "targetVirtualNetwork", t.TargetVirtualNetwork) 31076 return json.Marshal(objectMap) 31077 } 31078 31079 // UnmarshalJSON implements the json.Unmarshaller interface for type TopologyParameters. 31080 func (t *TopologyParameters) UnmarshalJSON(data []byte) error { 31081 var rawMsg map[string]json.RawMessage 31082 if err := json.Unmarshal(data, &rawMsg); err != nil { 31083 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31084 } 31085 for key, val := range rawMsg { 31086 var err error 31087 switch key { 31088 case "targetResourceGroupName": 31089 err = unpopulate(val, "TargetResourceGroupName", &t.TargetResourceGroupName) 31090 delete(rawMsg, key) 31091 case "targetSubnet": 31092 err = unpopulate(val, "TargetSubnet", &t.TargetSubnet) 31093 delete(rawMsg, key) 31094 case "targetVirtualNetwork": 31095 err = unpopulate(val, "TargetVirtualNetwork", &t.TargetVirtualNetwork) 31096 delete(rawMsg, key) 31097 } 31098 if err != nil { 31099 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31100 } 31101 } 31102 return nil 31103 } 31104 31105 // MarshalJSON implements the json.Marshaller interface for type TopologyResource. 31106 func (t TopologyResource) MarshalJSON() ([]byte, error) { 31107 objectMap := make(map[string]any) 31108 populate(objectMap, "associations", t.Associations) 31109 populate(objectMap, "id", t.ID) 31110 populate(objectMap, "location", t.Location) 31111 populate(objectMap, "name", t.Name) 31112 return json.Marshal(objectMap) 31113 } 31114 31115 // UnmarshalJSON implements the json.Unmarshaller interface for type TopologyResource. 31116 func (t *TopologyResource) UnmarshalJSON(data []byte) error { 31117 var rawMsg map[string]json.RawMessage 31118 if err := json.Unmarshal(data, &rawMsg); err != nil { 31119 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31120 } 31121 for key, val := range rawMsg { 31122 var err error 31123 switch key { 31124 case "associations": 31125 err = unpopulate(val, "Associations", &t.Associations) 31126 delete(rawMsg, key) 31127 case "id": 31128 err = unpopulate(val, "ID", &t.ID) 31129 delete(rawMsg, key) 31130 case "location": 31131 err = unpopulate(val, "Location", &t.Location) 31132 delete(rawMsg, key) 31133 case "name": 31134 err = unpopulate(val, "Name", &t.Name) 31135 delete(rawMsg, key) 31136 } 31137 if err != nil { 31138 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31139 } 31140 } 31141 return nil 31142 } 31143 31144 // MarshalJSON implements the json.Marshaller interface for type TrafficAnalyticsConfigurationProperties. 31145 func (t TrafficAnalyticsConfigurationProperties) MarshalJSON() ([]byte, error) { 31146 objectMap := make(map[string]any) 31147 populate(objectMap, "enabled", t.Enabled) 31148 populate(objectMap, "trafficAnalyticsInterval", t.TrafficAnalyticsInterval) 31149 populate(objectMap, "workspaceId", t.WorkspaceID) 31150 populate(objectMap, "workspaceRegion", t.WorkspaceRegion) 31151 populate(objectMap, "workspaceResourceId", t.WorkspaceResourceID) 31152 return json.Marshal(objectMap) 31153 } 31154 31155 // UnmarshalJSON implements the json.Unmarshaller interface for type TrafficAnalyticsConfigurationProperties. 31156 func (t *TrafficAnalyticsConfigurationProperties) UnmarshalJSON(data []byte) error { 31157 var rawMsg map[string]json.RawMessage 31158 if err := json.Unmarshal(data, &rawMsg); err != nil { 31159 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31160 } 31161 for key, val := range rawMsg { 31162 var err error 31163 switch key { 31164 case "enabled": 31165 err = unpopulate(val, "Enabled", &t.Enabled) 31166 delete(rawMsg, key) 31167 case "trafficAnalyticsInterval": 31168 err = unpopulate(val, "TrafficAnalyticsInterval", &t.TrafficAnalyticsInterval) 31169 delete(rawMsg, key) 31170 case "workspaceId": 31171 err = unpopulate(val, "WorkspaceID", &t.WorkspaceID) 31172 delete(rawMsg, key) 31173 case "workspaceRegion": 31174 err = unpopulate(val, "WorkspaceRegion", &t.WorkspaceRegion) 31175 delete(rawMsg, key) 31176 case "workspaceResourceId": 31177 err = unpopulate(val, "WorkspaceResourceID", &t.WorkspaceResourceID) 31178 delete(rawMsg, key) 31179 } 31180 if err != nil { 31181 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31182 } 31183 } 31184 return nil 31185 } 31186 31187 // MarshalJSON implements the json.Marshaller interface for type TrafficAnalyticsProperties. 31188 func (t TrafficAnalyticsProperties) MarshalJSON() ([]byte, error) { 31189 objectMap := make(map[string]any) 31190 populate(objectMap, "networkWatcherFlowAnalyticsConfiguration", t.NetworkWatcherFlowAnalyticsConfiguration) 31191 return json.Marshal(objectMap) 31192 } 31193 31194 // UnmarshalJSON implements the json.Unmarshaller interface for type TrafficAnalyticsProperties. 31195 func (t *TrafficAnalyticsProperties) UnmarshalJSON(data []byte) error { 31196 var rawMsg map[string]json.RawMessage 31197 if err := json.Unmarshal(data, &rawMsg); err != nil { 31198 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31199 } 31200 for key, val := range rawMsg { 31201 var err error 31202 switch key { 31203 case "networkWatcherFlowAnalyticsConfiguration": 31204 err = unpopulate(val, "NetworkWatcherFlowAnalyticsConfiguration", &t.NetworkWatcherFlowAnalyticsConfiguration) 31205 delete(rawMsg, key) 31206 } 31207 if err != nil { 31208 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31209 } 31210 } 31211 return nil 31212 } 31213 31214 // MarshalJSON implements the json.Marshaller interface for type TrafficSelectorPolicy. 31215 func (t TrafficSelectorPolicy) MarshalJSON() ([]byte, error) { 31216 objectMap := make(map[string]any) 31217 populate(objectMap, "localAddressRanges", t.LocalAddressRanges) 31218 populate(objectMap, "remoteAddressRanges", t.RemoteAddressRanges) 31219 return json.Marshal(objectMap) 31220 } 31221 31222 // UnmarshalJSON implements the json.Unmarshaller interface for type TrafficSelectorPolicy. 31223 func (t *TrafficSelectorPolicy) UnmarshalJSON(data []byte) error { 31224 var rawMsg map[string]json.RawMessage 31225 if err := json.Unmarshal(data, &rawMsg); err != nil { 31226 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31227 } 31228 for key, val := range rawMsg { 31229 var err error 31230 switch key { 31231 case "localAddressRanges": 31232 err = unpopulate(val, "LocalAddressRanges", &t.LocalAddressRanges) 31233 delete(rawMsg, key) 31234 case "remoteAddressRanges": 31235 err = unpopulate(val, "RemoteAddressRanges", &t.RemoteAddressRanges) 31236 delete(rawMsg, key) 31237 } 31238 if err != nil { 31239 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31240 } 31241 } 31242 return nil 31243 } 31244 31245 // MarshalJSON implements the json.Marshaller interface for type TroubleshootingDetails. 31246 func (t TroubleshootingDetails) MarshalJSON() ([]byte, error) { 31247 objectMap := make(map[string]any) 31248 populate(objectMap, "detail", t.Detail) 31249 populate(objectMap, "id", t.ID) 31250 populate(objectMap, "reasonType", t.ReasonType) 31251 populate(objectMap, "recommendedActions", t.RecommendedActions) 31252 populate(objectMap, "summary", t.Summary) 31253 return json.Marshal(objectMap) 31254 } 31255 31256 // UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingDetails. 31257 func (t *TroubleshootingDetails) UnmarshalJSON(data []byte) error { 31258 var rawMsg map[string]json.RawMessage 31259 if err := json.Unmarshal(data, &rawMsg); err != nil { 31260 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31261 } 31262 for key, val := range rawMsg { 31263 var err error 31264 switch key { 31265 case "detail": 31266 err = unpopulate(val, "Detail", &t.Detail) 31267 delete(rawMsg, key) 31268 case "id": 31269 err = unpopulate(val, "ID", &t.ID) 31270 delete(rawMsg, key) 31271 case "reasonType": 31272 err = unpopulate(val, "ReasonType", &t.ReasonType) 31273 delete(rawMsg, key) 31274 case "recommendedActions": 31275 err = unpopulate(val, "RecommendedActions", &t.RecommendedActions) 31276 delete(rawMsg, key) 31277 case "summary": 31278 err = unpopulate(val, "Summary", &t.Summary) 31279 delete(rawMsg, key) 31280 } 31281 if err != nil { 31282 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31283 } 31284 } 31285 return nil 31286 } 31287 31288 // MarshalJSON implements the json.Marshaller interface for type TroubleshootingParameters. 31289 func (t TroubleshootingParameters) MarshalJSON() ([]byte, error) { 31290 objectMap := make(map[string]any) 31291 populate(objectMap, "properties", t.Properties) 31292 populate(objectMap, "targetResourceId", t.TargetResourceID) 31293 return json.Marshal(objectMap) 31294 } 31295 31296 // UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingParameters. 31297 func (t *TroubleshootingParameters) UnmarshalJSON(data []byte) error { 31298 var rawMsg map[string]json.RawMessage 31299 if err := json.Unmarshal(data, &rawMsg); err != nil { 31300 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31301 } 31302 for key, val := range rawMsg { 31303 var err error 31304 switch key { 31305 case "properties": 31306 err = unpopulate(val, "Properties", &t.Properties) 31307 delete(rawMsg, key) 31308 case "targetResourceId": 31309 err = unpopulate(val, "TargetResourceID", &t.TargetResourceID) 31310 delete(rawMsg, key) 31311 } 31312 if err != nil { 31313 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31314 } 31315 } 31316 return nil 31317 } 31318 31319 // MarshalJSON implements the json.Marshaller interface for type TroubleshootingProperties. 31320 func (t TroubleshootingProperties) MarshalJSON() ([]byte, error) { 31321 objectMap := make(map[string]any) 31322 populate(objectMap, "storageId", t.StorageID) 31323 populate(objectMap, "storagePath", t.StoragePath) 31324 return json.Marshal(objectMap) 31325 } 31326 31327 // UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingProperties. 31328 func (t *TroubleshootingProperties) UnmarshalJSON(data []byte) error { 31329 var rawMsg map[string]json.RawMessage 31330 if err := json.Unmarshal(data, &rawMsg); err != nil { 31331 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31332 } 31333 for key, val := range rawMsg { 31334 var err error 31335 switch key { 31336 case "storageId": 31337 err = unpopulate(val, "StorageID", &t.StorageID) 31338 delete(rawMsg, key) 31339 case "storagePath": 31340 err = unpopulate(val, "StoragePath", &t.StoragePath) 31341 delete(rawMsg, key) 31342 } 31343 if err != nil { 31344 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31345 } 31346 } 31347 return nil 31348 } 31349 31350 // MarshalJSON implements the json.Marshaller interface for type TroubleshootingRecommendedActions. 31351 func (t TroubleshootingRecommendedActions) MarshalJSON() ([]byte, error) { 31352 objectMap := make(map[string]any) 31353 populate(objectMap, "actionId", t.ActionID) 31354 populate(objectMap, "actionText", t.ActionText) 31355 populate(objectMap, "actionUri", t.ActionURI) 31356 populate(objectMap, "actionUriText", t.ActionURIText) 31357 return json.Marshal(objectMap) 31358 } 31359 31360 // UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingRecommendedActions. 31361 func (t *TroubleshootingRecommendedActions) UnmarshalJSON(data []byte) error { 31362 var rawMsg map[string]json.RawMessage 31363 if err := json.Unmarshal(data, &rawMsg); err != nil { 31364 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31365 } 31366 for key, val := range rawMsg { 31367 var err error 31368 switch key { 31369 case "actionId": 31370 err = unpopulate(val, "ActionID", &t.ActionID) 31371 delete(rawMsg, key) 31372 case "actionText": 31373 err = unpopulate(val, "ActionText", &t.ActionText) 31374 delete(rawMsg, key) 31375 case "actionUri": 31376 err = unpopulate(val, "ActionURI", &t.ActionURI) 31377 delete(rawMsg, key) 31378 case "actionUriText": 31379 err = unpopulate(val, "ActionURIText", &t.ActionURIText) 31380 delete(rawMsg, key) 31381 } 31382 if err != nil { 31383 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31384 } 31385 } 31386 return nil 31387 } 31388 31389 // MarshalJSON implements the json.Marshaller interface for type TroubleshootingResult. 31390 func (t TroubleshootingResult) MarshalJSON() ([]byte, error) { 31391 objectMap := make(map[string]any) 31392 populate(objectMap, "code", t.Code) 31393 populateDateTimeRFC3339(objectMap, "endTime", t.EndTime) 31394 populate(objectMap, "results", t.Results) 31395 populateDateTimeRFC3339(objectMap, "startTime", t.StartTime) 31396 return json.Marshal(objectMap) 31397 } 31398 31399 // UnmarshalJSON implements the json.Unmarshaller interface for type TroubleshootingResult. 31400 func (t *TroubleshootingResult) UnmarshalJSON(data []byte) error { 31401 var rawMsg map[string]json.RawMessage 31402 if err := json.Unmarshal(data, &rawMsg); err != nil { 31403 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31404 } 31405 for key, val := range rawMsg { 31406 var err error 31407 switch key { 31408 case "code": 31409 err = unpopulate(val, "Code", &t.Code) 31410 delete(rawMsg, key) 31411 case "endTime": 31412 err = unpopulateDateTimeRFC3339(val, "EndTime", &t.EndTime) 31413 delete(rawMsg, key) 31414 case "results": 31415 err = unpopulate(val, "Results", &t.Results) 31416 delete(rawMsg, key) 31417 case "startTime": 31418 err = unpopulateDateTimeRFC3339(val, "StartTime", &t.StartTime) 31419 delete(rawMsg, key) 31420 } 31421 if err != nil { 31422 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31423 } 31424 } 31425 return nil 31426 } 31427 31428 // MarshalJSON implements the json.Marshaller interface for type TunnelConnectionHealth. 31429 func (t TunnelConnectionHealth) MarshalJSON() ([]byte, error) { 31430 objectMap := make(map[string]any) 31431 populate(objectMap, "connectionStatus", t.ConnectionStatus) 31432 populate(objectMap, "egressBytesTransferred", t.EgressBytesTransferred) 31433 populate(objectMap, "ingressBytesTransferred", t.IngressBytesTransferred) 31434 populate(objectMap, "lastConnectionEstablishedUtcTime", t.LastConnectionEstablishedUTCTime) 31435 populate(objectMap, "tunnel", t.Tunnel) 31436 return json.Marshal(objectMap) 31437 } 31438 31439 // UnmarshalJSON implements the json.Unmarshaller interface for type TunnelConnectionHealth. 31440 func (t *TunnelConnectionHealth) UnmarshalJSON(data []byte) error { 31441 var rawMsg map[string]json.RawMessage 31442 if err := json.Unmarshal(data, &rawMsg); err != nil { 31443 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31444 } 31445 for key, val := range rawMsg { 31446 var err error 31447 switch key { 31448 case "connectionStatus": 31449 err = unpopulate(val, "ConnectionStatus", &t.ConnectionStatus) 31450 delete(rawMsg, key) 31451 case "egressBytesTransferred": 31452 err = unpopulate(val, "EgressBytesTransferred", &t.EgressBytesTransferred) 31453 delete(rawMsg, key) 31454 case "ingressBytesTransferred": 31455 err = unpopulate(val, "IngressBytesTransferred", &t.IngressBytesTransferred) 31456 delete(rawMsg, key) 31457 case "lastConnectionEstablishedUtcTime": 31458 err = unpopulate(val, "LastConnectionEstablishedUTCTime", &t.LastConnectionEstablishedUTCTime) 31459 delete(rawMsg, key) 31460 case "tunnel": 31461 err = unpopulate(val, "Tunnel", &t.Tunnel) 31462 delete(rawMsg, key) 31463 } 31464 if err != nil { 31465 return fmt.Errorf("unmarshalling type %T: %v", t, err) 31466 } 31467 } 31468 return nil 31469 } 31470 31471 // MarshalJSON implements the json.Marshaller interface for type UnprepareNetworkPoliciesRequest. 31472 func (u UnprepareNetworkPoliciesRequest) MarshalJSON() ([]byte, error) { 31473 objectMap := make(map[string]any) 31474 populate(objectMap, "serviceName", u.ServiceName) 31475 return json.Marshal(objectMap) 31476 } 31477 31478 // UnmarshalJSON implements the json.Unmarshaller interface for type UnprepareNetworkPoliciesRequest. 31479 func (u *UnprepareNetworkPoliciesRequest) UnmarshalJSON(data []byte) error { 31480 var rawMsg map[string]json.RawMessage 31481 if err := json.Unmarshal(data, &rawMsg); err != nil { 31482 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31483 } 31484 for key, val := range rawMsg { 31485 var err error 31486 switch key { 31487 case "serviceName": 31488 err = unpopulate(val, "ServiceName", &u.ServiceName) 31489 delete(rawMsg, key) 31490 } 31491 if err != nil { 31492 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31493 } 31494 } 31495 return nil 31496 } 31497 31498 // MarshalJSON implements the json.Marshaller interface for type Usage. 31499 func (u Usage) MarshalJSON() ([]byte, error) { 31500 objectMap := make(map[string]any) 31501 populate(objectMap, "currentValue", u.CurrentValue) 31502 populate(objectMap, "id", u.ID) 31503 populate(objectMap, "limit", u.Limit) 31504 populate(objectMap, "name", u.Name) 31505 populate(objectMap, "unit", u.Unit) 31506 return json.Marshal(objectMap) 31507 } 31508 31509 // UnmarshalJSON implements the json.Unmarshaller interface for type Usage. 31510 func (u *Usage) UnmarshalJSON(data []byte) error { 31511 var rawMsg map[string]json.RawMessage 31512 if err := json.Unmarshal(data, &rawMsg); err != nil { 31513 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31514 } 31515 for key, val := range rawMsg { 31516 var err error 31517 switch key { 31518 case "currentValue": 31519 err = unpopulate(val, "CurrentValue", &u.CurrentValue) 31520 delete(rawMsg, key) 31521 case "id": 31522 err = unpopulate(val, "ID", &u.ID) 31523 delete(rawMsg, key) 31524 case "limit": 31525 err = unpopulate(val, "Limit", &u.Limit) 31526 delete(rawMsg, key) 31527 case "name": 31528 err = unpopulate(val, "Name", &u.Name) 31529 delete(rawMsg, key) 31530 case "unit": 31531 err = unpopulate(val, "Unit", &u.Unit) 31532 delete(rawMsg, key) 31533 } 31534 if err != nil { 31535 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31536 } 31537 } 31538 return nil 31539 } 31540 31541 // MarshalJSON implements the json.Marshaller interface for type UsageName. 31542 func (u UsageName) MarshalJSON() ([]byte, error) { 31543 objectMap := make(map[string]any) 31544 populate(objectMap, "localizedValue", u.LocalizedValue) 31545 populate(objectMap, "value", u.Value) 31546 return json.Marshal(objectMap) 31547 } 31548 31549 // UnmarshalJSON implements the json.Unmarshaller interface for type UsageName. 31550 func (u *UsageName) UnmarshalJSON(data []byte) error { 31551 var rawMsg map[string]json.RawMessage 31552 if err := json.Unmarshal(data, &rawMsg); err != nil { 31553 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31554 } 31555 for key, val := range rawMsg { 31556 var err error 31557 switch key { 31558 case "localizedValue": 31559 err = unpopulate(val, "LocalizedValue", &u.LocalizedValue) 31560 delete(rawMsg, key) 31561 case "value": 31562 err = unpopulate(val, "Value", &u.Value) 31563 delete(rawMsg, key) 31564 } 31565 if err != nil { 31566 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31567 } 31568 } 31569 return nil 31570 } 31571 31572 // MarshalJSON implements the json.Marshaller interface for type UsagesListResult. 31573 func (u UsagesListResult) MarshalJSON() ([]byte, error) { 31574 objectMap := make(map[string]any) 31575 populate(objectMap, "nextLink", u.NextLink) 31576 populate(objectMap, "value", u.Value) 31577 return json.Marshal(objectMap) 31578 } 31579 31580 // UnmarshalJSON implements the json.Unmarshaller interface for type UsagesListResult. 31581 func (u *UsagesListResult) UnmarshalJSON(data []byte) error { 31582 var rawMsg map[string]json.RawMessage 31583 if err := json.Unmarshal(data, &rawMsg); err != nil { 31584 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31585 } 31586 for key, val := range rawMsg { 31587 var err error 31588 switch key { 31589 case "nextLink": 31590 err = unpopulate(val, "NextLink", &u.NextLink) 31591 delete(rawMsg, key) 31592 case "value": 31593 err = unpopulate(val, "Value", &u.Value) 31594 delete(rawMsg, key) 31595 } 31596 if err != nil { 31597 return fmt.Errorf("unmarshalling type %T: %v", u, err) 31598 } 31599 } 31600 return nil 31601 } 31602 31603 // MarshalJSON implements the json.Marshaller interface for type VM. 31604 func (v VM) MarshalJSON() ([]byte, error) { 31605 objectMap := make(map[string]any) 31606 populate(objectMap, "id", v.ID) 31607 populate(objectMap, "location", v.Location) 31608 populate(objectMap, "name", v.Name) 31609 populate(objectMap, "tags", v.Tags) 31610 populate(objectMap, "type", v.Type) 31611 return json.Marshal(objectMap) 31612 } 31613 31614 // UnmarshalJSON implements the json.Unmarshaller interface for type VM. 31615 func (v *VM) UnmarshalJSON(data []byte) error { 31616 var rawMsg map[string]json.RawMessage 31617 if err := json.Unmarshal(data, &rawMsg); err != nil { 31618 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31619 } 31620 for key, val := range rawMsg { 31621 var err error 31622 switch key { 31623 case "id": 31624 err = unpopulate(val, "ID", &v.ID) 31625 delete(rawMsg, key) 31626 case "location": 31627 err = unpopulate(val, "Location", &v.Location) 31628 delete(rawMsg, key) 31629 case "name": 31630 err = unpopulate(val, "Name", &v.Name) 31631 delete(rawMsg, key) 31632 case "tags": 31633 err = unpopulate(val, "Tags", &v.Tags) 31634 delete(rawMsg, key) 31635 case "type": 31636 err = unpopulate(val, "Type", &v.Type) 31637 delete(rawMsg, key) 31638 } 31639 if err != nil { 31640 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31641 } 31642 } 31643 return nil 31644 } 31645 31646 // MarshalJSON implements the json.Marshaller interface for type VPNClientConfiguration. 31647 func (v VPNClientConfiguration) MarshalJSON() ([]byte, error) { 31648 objectMap := make(map[string]any) 31649 populate(objectMap, "aadAudience", v.AADAudience) 31650 populate(objectMap, "aadIssuer", v.AADIssuer) 31651 populate(objectMap, "aadTenant", v.AADTenant) 31652 populate(objectMap, "radiusServerAddress", v.RadiusServerAddress) 31653 populate(objectMap, "radiusServerSecret", v.RadiusServerSecret) 31654 populate(objectMap, "radiusServers", v.RadiusServers) 31655 populate(objectMap, "vpnAuthenticationTypes", v.VPNAuthenticationTypes) 31656 populate(objectMap, "vpnClientAddressPool", v.VPNClientAddressPool) 31657 populate(objectMap, "vpnClientIpsecPolicies", v.VPNClientIPSecPolicies) 31658 populate(objectMap, "vpnClientProtocols", v.VPNClientProtocols) 31659 populate(objectMap, "vpnClientRevokedCertificates", v.VPNClientRevokedCertificates) 31660 populate(objectMap, "vpnClientRootCertificates", v.VPNClientRootCertificates) 31661 populate(objectMap, "vngClientConnectionConfigurations", v.VngClientConnectionConfigurations) 31662 return json.Marshal(objectMap) 31663 } 31664 31665 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientConfiguration. 31666 func (v *VPNClientConfiguration) UnmarshalJSON(data []byte) error { 31667 var rawMsg map[string]json.RawMessage 31668 if err := json.Unmarshal(data, &rawMsg); err != nil { 31669 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31670 } 31671 for key, val := range rawMsg { 31672 var err error 31673 switch key { 31674 case "aadAudience": 31675 err = unpopulate(val, "AADAudience", &v.AADAudience) 31676 delete(rawMsg, key) 31677 case "aadIssuer": 31678 err = unpopulate(val, "AADIssuer", &v.AADIssuer) 31679 delete(rawMsg, key) 31680 case "aadTenant": 31681 err = unpopulate(val, "AADTenant", &v.AADTenant) 31682 delete(rawMsg, key) 31683 case "radiusServerAddress": 31684 err = unpopulate(val, "RadiusServerAddress", &v.RadiusServerAddress) 31685 delete(rawMsg, key) 31686 case "radiusServerSecret": 31687 err = unpopulate(val, "RadiusServerSecret", &v.RadiusServerSecret) 31688 delete(rawMsg, key) 31689 case "radiusServers": 31690 err = unpopulate(val, "RadiusServers", &v.RadiusServers) 31691 delete(rawMsg, key) 31692 case "vpnAuthenticationTypes": 31693 err = unpopulate(val, "VPNAuthenticationTypes", &v.VPNAuthenticationTypes) 31694 delete(rawMsg, key) 31695 case "vpnClientAddressPool": 31696 err = unpopulate(val, "VPNClientAddressPool", &v.VPNClientAddressPool) 31697 delete(rawMsg, key) 31698 case "vpnClientIpsecPolicies": 31699 err = unpopulate(val, "VPNClientIPSecPolicies", &v.VPNClientIPSecPolicies) 31700 delete(rawMsg, key) 31701 case "vpnClientProtocols": 31702 err = unpopulate(val, "VPNClientProtocols", &v.VPNClientProtocols) 31703 delete(rawMsg, key) 31704 case "vpnClientRevokedCertificates": 31705 err = unpopulate(val, "VPNClientRevokedCertificates", &v.VPNClientRevokedCertificates) 31706 delete(rawMsg, key) 31707 case "vpnClientRootCertificates": 31708 err = unpopulate(val, "VPNClientRootCertificates", &v.VPNClientRootCertificates) 31709 delete(rawMsg, key) 31710 case "vngClientConnectionConfigurations": 31711 err = unpopulate(val, "VngClientConnectionConfigurations", &v.VngClientConnectionConfigurations) 31712 delete(rawMsg, key) 31713 } 31714 if err != nil { 31715 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31716 } 31717 } 31718 return nil 31719 } 31720 31721 // MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealth. 31722 func (v VPNClientConnectionHealth) MarshalJSON() ([]byte, error) { 31723 objectMap := make(map[string]any) 31724 populate(objectMap, "allocatedIpAddresses", v.AllocatedIPAddresses) 31725 populate(objectMap, "totalEgressBytesTransferred", v.TotalEgressBytesTransferred) 31726 populate(objectMap, "totalIngressBytesTransferred", v.TotalIngressBytesTransferred) 31727 populate(objectMap, "vpnClientConnectionsCount", v.VPNClientConnectionsCount) 31728 return json.Marshal(objectMap) 31729 } 31730 31731 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientConnectionHealth. 31732 func (v *VPNClientConnectionHealth) UnmarshalJSON(data []byte) error { 31733 var rawMsg map[string]json.RawMessage 31734 if err := json.Unmarshal(data, &rawMsg); err != nil { 31735 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31736 } 31737 for key, val := range rawMsg { 31738 var err error 31739 switch key { 31740 case "allocatedIpAddresses": 31741 err = unpopulate(val, "AllocatedIPAddresses", &v.AllocatedIPAddresses) 31742 delete(rawMsg, key) 31743 case "totalEgressBytesTransferred": 31744 err = unpopulate(val, "TotalEgressBytesTransferred", &v.TotalEgressBytesTransferred) 31745 delete(rawMsg, key) 31746 case "totalIngressBytesTransferred": 31747 err = unpopulate(val, "TotalIngressBytesTransferred", &v.TotalIngressBytesTransferred) 31748 delete(rawMsg, key) 31749 case "vpnClientConnectionsCount": 31750 err = unpopulate(val, "VPNClientConnectionsCount", &v.VPNClientConnectionsCount) 31751 delete(rawMsg, key) 31752 } 31753 if err != nil { 31754 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31755 } 31756 } 31757 return nil 31758 } 31759 31760 // MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealthDetail. 31761 func (v VPNClientConnectionHealthDetail) MarshalJSON() ([]byte, error) { 31762 objectMap := make(map[string]any) 31763 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 31764 populate(objectMap, "egressPacketsTransferred", v.EgressPacketsTransferred) 31765 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 31766 populate(objectMap, "ingressPacketsTransferred", v.IngressPacketsTransferred) 31767 populate(objectMap, "maxBandwidth", v.MaxBandwidth) 31768 populate(objectMap, "maxPacketsPerSecond", v.MaxPacketsPerSecond) 31769 populate(objectMap, "privateIpAddress", v.PrivateIPAddress) 31770 populate(objectMap, "publicIpAddress", v.PublicIPAddress) 31771 populate(objectMap, "vpnConnectionDuration", v.VPNConnectionDuration) 31772 populate(objectMap, "vpnConnectionId", v.VPNConnectionID) 31773 populate(objectMap, "vpnConnectionTime", v.VPNConnectionTime) 31774 populate(objectMap, "vpnUserName", v.VPNUserName) 31775 return json.Marshal(objectMap) 31776 } 31777 31778 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientConnectionHealthDetail. 31779 func (v *VPNClientConnectionHealthDetail) UnmarshalJSON(data []byte) error { 31780 var rawMsg map[string]json.RawMessage 31781 if err := json.Unmarshal(data, &rawMsg); err != nil { 31782 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31783 } 31784 for key, val := range rawMsg { 31785 var err error 31786 switch key { 31787 case "egressBytesTransferred": 31788 err = unpopulate(val, "EgressBytesTransferred", &v.EgressBytesTransferred) 31789 delete(rawMsg, key) 31790 case "egressPacketsTransferred": 31791 err = unpopulate(val, "EgressPacketsTransferred", &v.EgressPacketsTransferred) 31792 delete(rawMsg, key) 31793 case "ingressBytesTransferred": 31794 err = unpopulate(val, "IngressBytesTransferred", &v.IngressBytesTransferred) 31795 delete(rawMsg, key) 31796 case "ingressPacketsTransferred": 31797 err = unpopulate(val, "IngressPacketsTransferred", &v.IngressPacketsTransferred) 31798 delete(rawMsg, key) 31799 case "maxBandwidth": 31800 err = unpopulate(val, "MaxBandwidth", &v.MaxBandwidth) 31801 delete(rawMsg, key) 31802 case "maxPacketsPerSecond": 31803 err = unpopulate(val, "MaxPacketsPerSecond", &v.MaxPacketsPerSecond) 31804 delete(rawMsg, key) 31805 case "privateIpAddress": 31806 err = unpopulate(val, "PrivateIPAddress", &v.PrivateIPAddress) 31807 delete(rawMsg, key) 31808 case "publicIpAddress": 31809 err = unpopulate(val, "PublicIPAddress", &v.PublicIPAddress) 31810 delete(rawMsg, key) 31811 case "vpnConnectionDuration": 31812 err = unpopulate(val, "VPNConnectionDuration", &v.VPNConnectionDuration) 31813 delete(rawMsg, key) 31814 case "vpnConnectionId": 31815 err = unpopulate(val, "VPNConnectionID", &v.VPNConnectionID) 31816 delete(rawMsg, key) 31817 case "vpnConnectionTime": 31818 err = unpopulate(val, "VPNConnectionTime", &v.VPNConnectionTime) 31819 delete(rawMsg, key) 31820 case "vpnUserName": 31821 err = unpopulate(val, "VPNUserName", &v.VPNUserName) 31822 delete(rawMsg, key) 31823 } 31824 if err != nil { 31825 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31826 } 31827 } 31828 return nil 31829 } 31830 31831 // MarshalJSON implements the json.Marshaller interface for type VPNClientConnectionHealthDetailListResult. 31832 func (v VPNClientConnectionHealthDetailListResult) MarshalJSON() ([]byte, error) { 31833 objectMap := make(map[string]any) 31834 populate(objectMap, "value", v.Value) 31835 return json.Marshal(objectMap) 31836 } 31837 31838 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientConnectionHealthDetailListResult. 31839 func (v *VPNClientConnectionHealthDetailListResult) UnmarshalJSON(data []byte) error { 31840 var rawMsg map[string]json.RawMessage 31841 if err := json.Unmarshal(data, &rawMsg); err != nil { 31842 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31843 } 31844 for key, val := range rawMsg { 31845 var err error 31846 switch key { 31847 case "value": 31848 err = unpopulate(val, "Value", &v.Value) 31849 delete(rawMsg, key) 31850 } 31851 if err != nil { 31852 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31853 } 31854 } 31855 return nil 31856 } 31857 31858 // MarshalJSON implements the json.Marshaller interface for type VPNClientIPsecParameters. 31859 func (v VPNClientIPsecParameters) MarshalJSON() ([]byte, error) { 31860 objectMap := make(map[string]any) 31861 populate(objectMap, "dhGroup", v.DhGroup) 31862 populate(objectMap, "ipsecEncryption", v.IPSecEncryption) 31863 populate(objectMap, "ipsecIntegrity", v.IPSecIntegrity) 31864 populate(objectMap, "ikeEncryption", v.IkeEncryption) 31865 populate(objectMap, "ikeIntegrity", v.IkeIntegrity) 31866 populate(objectMap, "pfsGroup", v.PfsGroup) 31867 populate(objectMap, "saDataSizeKilobytes", v.SaDataSizeKilobytes) 31868 populate(objectMap, "saLifeTimeSeconds", v.SaLifeTimeSeconds) 31869 return json.Marshal(objectMap) 31870 } 31871 31872 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientIPsecParameters. 31873 func (v *VPNClientIPsecParameters) UnmarshalJSON(data []byte) error { 31874 var rawMsg map[string]json.RawMessage 31875 if err := json.Unmarshal(data, &rawMsg); err != nil { 31876 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31877 } 31878 for key, val := range rawMsg { 31879 var err error 31880 switch key { 31881 case "dhGroup": 31882 err = unpopulate(val, "DhGroup", &v.DhGroup) 31883 delete(rawMsg, key) 31884 case "ipsecEncryption": 31885 err = unpopulate(val, "IPSecEncryption", &v.IPSecEncryption) 31886 delete(rawMsg, key) 31887 case "ipsecIntegrity": 31888 err = unpopulate(val, "IPSecIntegrity", &v.IPSecIntegrity) 31889 delete(rawMsg, key) 31890 case "ikeEncryption": 31891 err = unpopulate(val, "IkeEncryption", &v.IkeEncryption) 31892 delete(rawMsg, key) 31893 case "ikeIntegrity": 31894 err = unpopulate(val, "IkeIntegrity", &v.IkeIntegrity) 31895 delete(rawMsg, key) 31896 case "pfsGroup": 31897 err = unpopulate(val, "PfsGroup", &v.PfsGroup) 31898 delete(rawMsg, key) 31899 case "saDataSizeKilobytes": 31900 err = unpopulate(val, "SaDataSizeKilobytes", &v.SaDataSizeKilobytes) 31901 delete(rawMsg, key) 31902 case "saLifeTimeSeconds": 31903 err = unpopulate(val, "SaLifeTimeSeconds", &v.SaLifeTimeSeconds) 31904 delete(rawMsg, key) 31905 } 31906 if err != nil { 31907 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31908 } 31909 } 31910 return nil 31911 } 31912 31913 // MarshalJSON implements the json.Marshaller interface for type VPNClientParameters. 31914 func (v VPNClientParameters) MarshalJSON() ([]byte, error) { 31915 objectMap := make(map[string]any) 31916 populate(objectMap, "authenticationMethod", v.AuthenticationMethod) 31917 populate(objectMap, "clientRootCertificates", v.ClientRootCertificates) 31918 populate(objectMap, "processorArchitecture", v.ProcessorArchitecture) 31919 populate(objectMap, "radiusServerAuthCertificate", v.RadiusServerAuthCertificate) 31920 return json.Marshal(objectMap) 31921 } 31922 31923 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientParameters. 31924 func (v *VPNClientParameters) UnmarshalJSON(data []byte) error { 31925 var rawMsg map[string]json.RawMessage 31926 if err := json.Unmarshal(data, &rawMsg); err != nil { 31927 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31928 } 31929 for key, val := range rawMsg { 31930 var err error 31931 switch key { 31932 case "authenticationMethod": 31933 err = unpopulate(val, "AuthenticationMethod", &v.AuthenticationMethod) 31934 delete(rawMsg, key) 31935 case "clientRootCertificates": 31936 err = unpopulate(val, "ClientRootCertificates", &v.ClientRootCertificates) 31937 delete(rawMsg, key) 31938 case "processorArchitecture": 31939 err = unpopulate(val, "ProcessorArchitecture", &v.ProcessorArchitecture) 31940 delete(rawMsg, key) 31941 case "radiusServerAuthCertificate": 31942 err = unpopulate(val, "RadiusServerAuthCertificate", &v.RadiusServerAuthCertificate) 31943 delete(rawMsg, key) 31944 } 31945 if err != nil { 31946 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31947 } 31948 } 31949 return nil 31950 } 31951 31952 // MarshalJSON implements the json.Marshaller interface for type VPNClientRevokedCertificate. 31953 func (v VPNClientRevokedCertificate) MarshalJSON() ([]byte, error) { 31954 objectMap := make(map[string]any) 31955 populate(objectMap, "etag", v.Etag) 31956 populate(objectMap, "id", v.ID) 31957 populate(objectMap, "name", v.Name) 31958 populate(objectMap, "properties", v.Properties) 31959 return json.Marshal(objectMap) 31960 } 31961 31962 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientRevokedCertificate. 31963 func (v *VPNClientRevokedCertificate) UnmarshalJSON(data []byte) error { 31964 var rawMsg map[string]json.RawMessage 31965 if err := json.Unmarshal(data, &rawMsg); err != nil { 31966 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31967 } 31968 for key, val := range rawMsg { 31969 var err error 31970 switch key { 31971 case "etag": 31972 err = unpopulate(val, "Etag", &v.Etag) 31973 delete(rawMsg, key) 31974 case "id": 31975 err = unpopulate(val, "ID", &v.ID) 31976 delete(rawMsg, key) 31977 case "name": 31978 err = unpopulate(val, "Name", &v.Name) 31979 delete(rawMsg, key) 31980 case "properties": 31981 err = unpopulate(val, "Properties", &v.Properties) 31982 delete(rawMsg, key) 31983 } 31984 if err != nil { 31985 return fmt.Errorf("unmarshalling type %T: %v", v, err) 31986 } 31987 } 31988 return nil 31989 } 31990 31991 // MarshalJSON implements the json.Marshaller interface for type VPNClientRevokedCertificatePropertiesFormat. 31992 func (v VPNClientRevokedCertificatePropertiesFormat) MarshalJSON() ([]byte, error) { 31993 objectMap := make(map[string]any) 31994 populate(objectMap, "provisioningState", v.ProvisioningState) 31995 populate(objectMap, "thumbprint", v.Thumbprint) 31996 return json.Marshal(objectMap) 31997 } 31998 31999 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientRevokedCertificatePropertiesFormat. 32000 func (v *VPNClientRevokedCertificatePropertiesFormat) UnmarshalJSON(data []byte) error { 32001 var rawMsg map[string]json.RawMessage 32002 if err := json.Unmarshal(data, &rawMsg); err != nil { 32003 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32004 } 32005 for key, val := range rawMsg { 32006 var err error 32007 switch key { 32008 case "provisioningState": 32009 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 32010 delete(rawMsg, key) 32011 case "thumbprint": 32012 err = unpopulate(val, "Thumbprint", &v.Thumbprint) 32013 delete(rawMsg, key) 32014 } 32015 if err != nil { 32016 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32017 } 32018 } 32019 return nil 32020 } 32021 32022 // MarshalJSON implements the json.Marshaller interface for type VPNClientRootCertificate. 32023 func (v VPNClientRootCertificate) MarshalJSON() ([]byte, error) { 32024 objectMap := make(map[string]any) 32025 populate(objectMap, "etag", v.Etag) 32026 populate(objectMap, "id", v.ID) 32027 populate(objectMap, "name", v.Name) 32028 populate(objectMap, "properties", v.Properties) 32029 return json.Marshal(objectMap) 32030 } 32031 32032 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientRootCertificate. 32033 func (v *VPNClientRootCertificate) UnmarshalJSON(data []byte) error { 32034 var rawMsg map[string]json.RawMessage 32035 if err := json.Unmarshal(data, &rawMsg); err != nil { 32036 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32037 } 32038 for key, val := range rawMsg { 32039 var err error 32040 switch key { 32041 case "etag": 32042 err = unpopulate(val, "Etag", &v.Etag) 32043 delete(rawMsg, key) 32044 case "id": 32045 err = unpopulate(val, "ID", &v.ID) 32046 delete(rawMsg, key) 32047 case "name": 32048 err = unpopulate(val, "Name", &v.Name) 32049 delete(rawMsg, key) 32050 case "properties": 32051 err = unpopulate(val, "Properties", &v.Properties) 32052 delete(rawMsg, key) 32053 } 32054 if err != nil { 32055 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32056 } 32057 } 32058 return nil 32059 } 32060 32061 // MarshalJSON implements the json.Marshaller interface for type VPNClientRootCertificatePropertiesFormat. 32062 func (v VPNClientRootCertificatePropertiesFormat) MarshalJSON() ([]byte, error) { 32063 objectMap := make(map[string]any) 32064 populate(objectMap, "provisioningState", v.ProvisioningState) 32065 populate(objectMap, "publicCertData", v.PublicCertData) 32066 return json.Marshal(objectMap) 32067 } 32068 32069 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNClientRootCertificatePropertiesFormat. 32070 func (v *VPNClientRootCertificatePropertiesFormat) UnmarshalJSON(data []byte) error { 32071 var rawMsg map[string]json.RawMessage 32072 if err := json.Unmarshal(data, &rawMsg); err != nil { 32073 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32074 } 32075 for key, val := range rawMsg { 32076 var err error 32077 switch key { 32078 case "provisioningState": 32079 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 32080 delete(rawMsg, key) 32081 case "publicCertData": 32082 err = unpopulate(val, "PublicCertData", &v.PublicCertData) 32083 delete(rawMsg, key) 32084 } 32085 if err != nil { 32086 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32087 } 32088 } 32089 return nil 32090 } 32091 32092 // MarshalJSON implements the json.Marshaller interface for type VPNConnection. 32093 func (v VPNConnection) MarshalJSON() ([]byte, error) { 32094 objectMap := make(map[string]any) 32095 populate(objectMap, "etag", v.Etag) 32096 populate(objectMap, "id", v.ID) 32097 populate(objectMap, "name", v.Name) 32098 populate(objectMap, "properties", v.Properties) 32099 return json.Marshal(objectMap) 32100 } 32101 32102 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNConnection. 32103 func (v *VPNConnection) UnmarshalJSON(data []byte) error { 32104 var rawMsg map[string]json.RawMessage 32105 if err := json.Unmarshal(data, &rawMsg); err != nil { 32106 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32107 } 32108 for key, val := range rawMsg { 32109 var err error 32110 switch key { 32111 case "etag": 32112 err = unpopulate(val, "Etag", &v.Etag) 32113 delete(rawMsg, key) 32114 case "id": 32115 err = unpopulate(val, "ID", &v.ID) 32116 delete(rawMsg, key) 32117 case "name": 32118 err = unpopulate(val, "Name", &v.Name) 32119 delete(rawMsg, key) 32120 case "properties": 32121 err = unpopulate(val, "Properties", &v.Properties) 32122 delete(rawMsg, key) 32123 } 32124 if err != nil { 32125 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32126 } 32127 } 32128 return nil 32129 } 32130 32131 // MarshalJSON implements the json.Marshaller interface for type VPNConnectionPacketCaptureStartParameters. 32132 func (v VPNConnectionPacketCaptureStartParameters) MarshalJSON() ([]byte, error) { 32133 objectMap := make(map[string]any) 32134 populate(objectMap, "filterData", v.FilterData) 32135 populate(objectMap, "linkConnectionNames", v.LinkConnectionNames) 32136 return json.Marshal(objectMap) 32137 } 32138 32139 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNConnectionPacketCaptureStartParameters. 32140 func (v *VPNConnectionPacketCaptureStartParameters) UnmarshalJSON(data []byte) error { 32141 var rawMsg map[string]json.RawMessage 32142 if err := json.Unmarshal(data, &rawMsg); err != nil { 32143 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32144 } 32145 for key, val := range rawMsg { 32146 var err error 32147 switch key { 32148 case "filterData": 32149 err = unpopulate(val, "FilterData", &v.FilterData) 32150 delete(rawMsg, key) 32151 case "linkConnectionNames": 32152 err = unpopulate(val, "LinkConnectionNames", &v.LinkConnectionNames) 32153 delete(rawMsg, key) 32154 } 32155 if err != nil { 32156 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32157 } 32158 } 32159 return nil 32160 } 32161 32162 // MarshalJSON implements the json.Marshaller interface for type VPNConnectionPacketCaptureStopParameters. 32163 func (v VPNConnectionPacketCaptureStopParameters) MarshalJSON() ([]byte, error) { 32164 objectMap := make(map[string]any) 32165 populate(objectMap, "linkConnectionNames", v.LinkConnectionNames) 32166 populate(objectMap, "sasUrl", v.SasURL) 32167 return json.Marshal(objectMap) 32168 } 32169 32170 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNConnectionPacketCaptureStopParameters. 32171 func (v *VPNConnectionPacketCaptureStopParameters) UnmarshalJSON(data []byte) error { 32172 var rawMsg map[string]json.RawMessage 32173 if err := json.Unmarshal(data, &rawMsg); err != nil { 32174 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32175 } 32176 for key, val := range rawMsg { 32177 var err error 32178 switch key { 32179 case "linkConnectionNames": 32180 err = unpopulate(val, "LinkConnectionNames", &v.LinkConnectionNames) 32181 delete(rawMsg, key) 32182 case "sasUrl": 32183 err = unpopulate(val, "SasURL", &v.SasURL) 32184 delete(rawMsg, key) 32185 } 32186 if err != nil { 32187 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32188 } 32189 } 32190 return nil 32191 } 32192 32193 // MarshalJSON implements the json.Marshaller interface for type VPNConnectionProperties. 32194 func (v VPNConnectionProperties) MarshalJSON() ([]byte, error) { 32195 objectMap := make(map[string]any) 32196 populate(objectMap, "connectionBandwidth", v.ConnectionBandwidth) 32197 populate(objectMap, "connectionStatus", v.ConnectionStatus) 32198 populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) 32199 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 32200 populate(objectMap, "enableBgp", v.EnableBgp) 32201 populate(objectMap, "enableInternetSecurity", v.EnableInternetSecurity) 32202 populate(objectMap, "enableRateLimiting", v.EnableRateLimiting) 32203 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 32204 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 32205 populate(objectMap, "provisioningState", v.ProvisioningState) 32206 populate(objectMap, "remoteVpnSite", v.RemoteVPNSite) 32207 populate(objectMap, "routingConfiguration", v.RoutingConfiguration) 32208 populate(objectMap, "routingWeight", v.RoutingWeight) 32209 populate(objectMap, "sharedKey", v.SharedKey) 32210 populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) 32211 populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) 32212 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 32213 populate(objectMap, "vpnConnectionProtocolType", v.VPNConnectionProtocolType) 32214 populate(objectMap, "vpnLinkConnections", v.VPNLinkConnections) 32215 return json.Marshal(objectMap) 32216 } 32217 32218 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNConnectionProperties. 32219 func (v *VPNConnectionProperties) UnmarshalJSON(data []byte) error { 32220 var rawMsg map[string]json.RawMessage 32221 if err := json.Unmarshal(data, &rawMsg); err != nil { 32222 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32223 } 32224 for key, val := range rawMsg { 32225 var err error 32226 switch key { 32227 case "connectionBandwidth": 32228 err = unpopulate(val, "ConnectionBandwidth", &v.ConnectionBandwidth) 32229 delete(rawMsg, key) 32230 case "connectionStatus": 32231 err = unpopulate(val, "ConnectionStatus", &v.ConnectionStatus) 32232 delete(rawMsg, key) 32233 case "dpdTimeoutSeconds": 32234 err = unpopulate(val, "DpdTimeoutSeconds", &v.DpdTimeoutSeconds) 32235 delete(rawMsg, key) 32236 case "egressBytesTransferred": 32237 err = unpopulate(val, "EgressBytesTransferred", &v.EgressBytesTransferred) 32238 delete(rawMsg, key) 32239 case "enableBgp": 32240 err = unpopulate(val, "EnableBgp", &v.EnableBgp) 32241 delete(rawMsg, key) 32242 case "enableInternetSecurity": 32243 err = unpopulate(val, "EnableInternetSecurity", &v.EnableInternetSecurity) 32244 delete(rawMsg, key) 32245 case "enableRateLimiting": 32246 err = unpopulate(val, "EnableRateLimiting", &v.EnableRateLimiting) 32247 delete(rawMsg, key) 32248 case "ipsecPolicies": 32249 err = unpopulate(val, "IPSecPolicies", &v.IPSecPolicies) 32250 delete(rawMsg, key) 32251 case "ingressBytesTransferred": 32252 err = unpopulate(val, "IngressBytesTransferred", &v.IngressBytesTransferred) 32253 delete(rawMsg, key) 32254 case "provisioningState": 32255 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 32256 delete(rawMsg, key) 32257 case "remoteVpnSite": 32258 err = unpopulate(val, "RemoteVPNSite", &v.RemoteVPNSite) 32259 delete(rawMsg, key) 32260 case "routingConfiguration": 32261 err = unpopulate(val, "RoutingConfiguration", &v.RoutingConfiguration) 32262 delete(rawMsg, key) 32263 case "routingWeight": 32264 err = unpopulate(val, "RoutingWeight", &v.RoutingWeight) 32265 delete(rawMsg, key) 32266 case "sharedKey": 32267 err = unpopulate(val, "SharedKey", &v.SharedKey) 32268 delete(rawMsg, key) 32269 case "trafficSelectorPolicies": 32270 err = unpopulate(val, "TrafficSelectorPolicies", &v.TrafficSelectorPolicies) 32271 delete(rawMsg, key) 32272 case "useLocalAzureIpAddress": 32273 err = unpopulate(val, "UseLocalAzureIPAddress", &v.UseLocalAzureIPAddress) 32274 delete(rawMsg, key) 32275 case "usePolicyBasedTrafficSelectors": 32276 err = unpopulate(val, "UsePolicyBasedTrafficSelectors", &v.UsePolicyBasedTrafficSelectors) 32277 delete(rawMsg, key) 32278 case "vpnConnectionProtocolType": 32279 err = unpopulate(val, "VPNConnectionProtocolType", &v.VPNConnectionProtocolType) 32280 delete(rawMsg, key) 32281 case "vpnLinkConnections": 32282 err = unpopulate(val, "VPNLinkConnections", &v.VPNLinkConnections) 32283 delete(rawMsg, key) 32284 } 32285 if err != nil { 32286 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32287 } 32288 } 32289 return nil 32290 } 32291 32292 // MarshalJSON implements the json.Marshaller interface for type VPNDeviceScriptParameters. 32293 func (v VPNDeviceScriptParameters) MarshalJSON() ([]byte, error) { 32294 objectMap := make(map[string]any) 32295 populate(objectMap, "deviceFamily", v.DeviceFamily) 32296 populate(objectMap, "firmwareVersion", v.FirmwareVersion) 32297 populate(objectMap, "vendor", v.Vendor) 32298 return json.Marshal(objectMap) 32299 } 32300 32301 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNDeviceScriptParameters. 32302 func (v *VPNDeviceScriptParameters) UnmarshalJSON(data []byte) error { 32303 var rawMsg map[string]json.RawMessage 32304 if err := json.Unmarshal(data, &rawMsg); err != nil { 32305 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32306 } 32307 for key, val := range rawMsg { 32308 var err error 32309 switch key { 32310 case "deviceFamily": 32311 err = unpopulate(val, "DeviceFamily", &v.DeviceFamily) 32312 delete(rawMsg, key) 32313 case "firmwareVersion": 32314 err = unpopulate(val, "FirmwareVersion", &v.FirmwareVersion) 32315 delete(rawMsg, key) 32316 case "vendor": 32317 err = unpopulate(val, "Vendor", &v.Vendor) 32318 delete(rawMsg, key) 32319 } 32320 if err != nil { 32321 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32322 } 32323 } 32324 return nil 32325 } 32326 32327 // MarshalJSON implements the json.Marshaller interface for type VPNGateway. 32328 func (v VPNGateway) MarshalJSON() ([]byte, error) { 32329 objectMap := make(map[string]any) 32330 populate(objectMap, "etag", v.Etag) 32331 populate(objectMap, "id", v.ID) 32332 populate(objectMap, "location", v.Location) 32333 populate(objectMap, "name", v.Name) 32334 populate(objectMap, "properties", v.Properties) 32335 populate(objectMap, "tags", v.Tags) 32336 populate(objectMap, "type", v.Type) 32337 return json.Marshal(objectMap) 32338 } 32339 32340 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGateway. 32341 func (v *VPNGateway) UnmarshalJSON(data []byte) error { 32342 var rawMsg map[string]json.RawMessage 32343 if err := json.Unmarshal(data, &rawMsg); err != nil { 32344 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32345 } 32346 for key, val := range rawMsg { 32347 var err error 32348 switch key { 32349 case "etag": 32350 err = unpopulate(val, "Etag", &v.Etag) 32351 delete(rawMsg, key) 32352 case "id": 32353 err = unpopulate(val, "ID", &v.ID) 32354 delete(rawMsg, key) 32355 case "location": 32356 err = unpopulate(val, "Location", &v.Location) 32357 delete(rawMsg, key) 32358 case "name": 32359 err = unpopulate(val, "Name", &v.Name) 32360 delete(rawMsg, key) 32361 case "properties": 32362 err = unpopulate(val, "Properties", &v.Properties) 32363 delete(rawMsg, key) 32364 case "tags": 32365 err = unpopulate(val, "Tags", &v.Tags) 32366 delete(rawMsg, key) 32367 case "type": 32368 err = unpopulate(val, "Type", &v.Type) 32369 delete(rawMsg, key) 32370 } 32371 if err != nil { 32372 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32373 } 32374 } 32375 return nil 32376 } 32377 32378 // MarshalJSON implements the json.Marshaller interface for type VPNGatewayIPConfiguration. 32379 func (v VPNGatewayIPConfiguration) MarshalJSON() ([]byte, error) { 32380 objectMap := make(map[string]any) 32381 populate(objectMap, "id", v.ID) 32382 populate(objectMap, "privateIpAddress", v.PrivateIPAddress) 32383 populate(objectMap, "publicIpAddress", v.PublicIPAddress) 32384 return json.Marshal(objectMap) 32385 } 32386 32387 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGatewayIPConfiguration. 32388 func (v *VPNGatewayIPConfiguration) UnmarshalJSON(data []byte) error { 32389 var rawMsg map[string]json.RawMessage 32390 if err := json.Unmarshal(data, &rawMsg); err != nil { 32391 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32392 } 32393 for key, val := range rawMsg { 32394 var err error 32395 switch key { 32396 case "id": 32397 err = unpopulate(val, "ID", &v.ID) 32398 delete(rawMsg, key) 32399 case "privateIpAddress": 32400 err = unpopulate(val, "PrivateIPAddress", &v.PrivateIPAddress) 32401 delete(rawMsg, key) 32402 case "publicIpAddress": 32403 err = unpopulate(val, "PublicIPAddress", &v.PublicIPAddress) 32404 delete(rawMsg, key) 32405 } 32406 if err != nil { 32407 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32408 } 32409 } 32410 return nil 32411 } 32412 32413 // MarshalJSON implements the json.Marshaller interface for type VPNGatewayNatRule. 32414 func (v VPNGatewayNatRule) MarshalJSON() ([]byte, error) { 32415 objectMap := make(map[string]any) 32416 populate(objectMap, "etag", v.Etag) 32417 populate(objectMap, "id", v.ID) 32418 populate(objectMap, "name", v.Name) 32419 populate(objectMap, "properties", v.Properties) 32420 populate(objectMap, "type", v.Type) 32421 return json.Marshal(objectMap) 32422 } 32423 32424 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGatewayNatRule. 32425 func (v *VPNGatewayNatRule) UnmarshalJSON(data []byte) error { 32426 var rawMsg map[string]json.RawMessage 32427 if err := json.Unmarshal(data, &rawMsg); err != nil { 32428 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32429 } 32430 for key, val := range rawMsg { 32431 var err error 32432 switch key { 32433 case "etag": 32434 err = unpopulate(val, "Etag", &v.Etag) 32435 delete(rawMsg, key) 32436 case "id": 32437 err = unpopulate(val, "ID", &v.ID) 32438 delete(rawMsg, key) 32439 case "name": 32440 err = unpopulate(val, "Name", &v.Name) 32441 delete(rawMsg, key) 32442 case "properties": 32443 err = unpopulate(val, "Properties", &v.Properties) 32444 delete(rawMsg, key) 32445 case "type": 32446 err = unpopulate(val, "Type", &v.Type) 32447 delete(rawMsg, key) 32448 } 32449 if err != nil { 32450 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32451 } 32452 } 32453 return nil 32454 } 32455 32456 // MarshalJSON implements the json.Marshaller interface for type VPNGatewayNatRuleProperties. 32457 func (v VPNGatewayNatRuleProperties) MarshalJSON() ([]byte, error) { 32458 objectMap := make(map[string]any) 32459 populate(objectMap, "egressVpnSiteLinkConnections", v.EgressVPNSiteLinkConnections) 32460 populate(objectMap, "externalMappings", v.ExternalMappings) 32461 populate(objectMap, "ipConfigurationId", v.IPConfigurationID) 32462 populate(objectMap, "ingressVpnSiteLinkConnections", v.IngressVPNSiteLinkConnections) 32463 populate(objectMap, "internalMappings", v.InternalMappings) 32464 populate(objectMap, "mode", v.Mode) 32465 populate(objectMap, "provisioningState", v.ProvisioningState) 32466 populate(objectMap, "type", v.Type) 32467 return json.Marshal(objectMap) 32468 } 32469 32470 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGatewayNatRuleProperties. 32471 func (v *VPNGatewayNatRuleProperties) UnmarshalJSON(data []byte) error { 32472 var rawMsg map[string]json.RawMessage 32473 if err := json.Unmarshal(data, &rawMsg); err != nil { 32474 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32475 } 32476 for key, val := range rawMsg { 32477 var err error 32478 switch key { 32479 case "egressVpnSiteLinkConnections": 32480 err = unpopulate(val, "EgressVPNSiteLinkConnections", &v.EgressVPNSiteLinkConnections) 32481 delete(rawMsg, key) 32482 case "externalMappings": 32483 err = unpopulate(val, "ExternalMappings", &v.ExternalMappings) 32484 delete(rawMsg, key) 32485 case "ipConfigurationId": 32486 err = unpopulate(val, "IPConfigurationID", &v.IPConfigurationID) 32487 delete(rawMsg, key) 32488 case "ingressVpnSiteLinkConnections": 32489 err = unpopulate(val, "IngressVPNSiteLinkConnections", &v.IngressVPNSiteLinkConnections) 32490 delete(rawMsg, key) 32491 case "internalMappings": 32492 err = unpopulate(val, "InternalMappings", &v.InternalMappings) 32493 delete(rawMsg, key) 32494 case "mode": 32495 err = unpopulate(val, "Mode", &v.Mode) 32496 delete(rawMsg, key) 32497 case "provisioningState": 32498 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 32499 delete(rawMsg, key) 32500 case "type": 32501 err = unpopulate(val, "Type", &v.Type) 32502 delete(rawMsg, key) 32503 } 32504 if err != nil { 32505 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32506 } 32507 } 32508 return nil 32509 } 32510 32511 // MarshalJSON implements the json.Marshaller interface for type VPNGatewayPacketCaptureStartParameters. 32512 func (v VPNGatewayPacketCaptureStartParameters) MarshalJSON() ([]byte, error) { 32513 objectMap := make(map[string]any) 32514 populate(objectMap, "filterData", v.FilterData) 32515 return json.Marshal(objectMap) 32516 } 32517 32518 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGatewayPacketCaptureStartParameters. 32519 func (v *VPNGatewayPacketCaptureStartParameters) UnmarshalJSON(data []byte) error { 32520 var rawMsg map[string]json.RawMessage 32521 if err := json.Unmarshal(data, &rawMsg); err != nil { 32522 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32523 } 32524 for key, val := range rawMsg { 32525 var err error 32526 switch key { 32527 case "filterData": 32528 err = unpopulate(val, "FilterData", &v.FilterData) 32529 delete(rawMsg, key) 32530 } 32531 if err != nil { 32532 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32533 } 32534 } 32535 return nil 32536 } 32537 32538 // MarshalJSON implements the json.Marshaller interface for type VPNGatewayPacketCaptureStopParameters. 32539 func (v VPNGatewayPacketCaptureStopParameters) MarshalJSON() ([]byte, error) { 32540 objectMap := make(map[string]any) 32541 populate(objectMap, "sasUrl", v.SasURL) 32542 return json.Marshal(objectMap) 32543 } 32544 32545 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGatewayPacketCaptureStopParameters. 32546 func (v *VPNGatewayPacketCaptureStopParameters) UnmarshalJSON(data []byte) error { 32547 var rawMsg map[string]json.RawMessage 32548 if err := json.Unmarshal(data, &rawMsg); err != nil { 32549 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32550 } 32551 for key, val := range rawMsg { 32552 var err error 32553 switch key { 32554 case "sasUrl": 32555 err = unpopulate(val, "SasURL", &v.SasURL) 32556 delete(rawMsg, key) 32557 } 32558 if err != nil { 32559 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32560 } 32561 } 32562 return nil 32563 } 32564 32565 // MarshalJSON implements the json.Marshaller interface for type VPNGatewayProperties. 32566 func (v VPNGatewayProperties) MarshalJSON() ([]byte, error) { 32567 objectMap := make(map[string]any) 32568 populate(objectMap, "bgpSettings", v.BgpSettings) 32569 populate(objectMap, "connections", v.Connections) 32570 populate(objectMap, "enableBgpRouteTranslationForNat", v.EnableBgpRouteTranslationForNat) 32571 populate(objectMap, "ipConfigurations", v.IPConfigurations) 32572 populate(objectMap, "isRoutingPreferenceInternet", v.IsRoutingPreferenceInternet) 32573 populate(objectMap, "natRules", v.NatRules) 32574 populate(objectMap, "provisioningState", v.ProvisioningState) 32575 populate(objectMap, "vpnGatewayScaleUnit", v.VPNGatewayScaleUnit) 32576 populate(objectMap, "virtualHub", v.VirtualHub) 32577 return json.Marshal(objectMap) 32578 } 32579 32580 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNGatewayProperties. 32581 func (v *VPNGatewayProperties) UnmarshalJSON(data []byte) error { 32582 var rawMsg map[string]json.RawMessage 32583 if err := json.Unmarshal(data, &rawMsg); err != nil { 32584 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32585 } 32586 for key, val := range rawMsg { 32587 var err error 32588 switch key { 32589 case "bgpSettings": 32590 err = unpopulate(val, "BgpSettings", &v.BgpSettings) 32591 delete(rawMsg, key) 32592 case "connections": 32593 err = unpopulate(val, "Connections", &v.Connections) 32594 delete(rawMsg, key) 32595 case "enableBgpRouteTranslationForNat": 32596 err = unpopulate(val, "EnableBgpRouteTranslationForNat", &v.EnableBgpRouteTranslationForNat) 32597 delete(rawMsg, key) 32598 case "ipConfigurations": 32599 err = unpopulate(val, "IPConfigurations", &v.IPConfigurations) 32600 delete(rawMsg, key) 32601 case "isRoutingPreferenceInternet": 32602 err = unpopulate(val, "IsRoutingPreferenceInternet", &v.IsRoutingPreferenceInternet) 32603 delete(rawMsg, key) 32604 case "natRules": 32605 err = unpopulate(val, "NatRules", &v.NatRules) 32606 delete(rawMsg, key) 32607 case "provisioningState": 32608 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 32609 delete(rawMsg, key) 32610 case "vpnGatewayScaleUnit": 32611 err = unpopulate(val, "VPNGatewayScaleUnit", &v.VPNGatewayScaleUnit) 32612 delete(rawMsg, key) 32613 case "virtualHub": 32614 err = unpopulate(val, "VirtualHub", &v.VirtualHub) 32615 delete(rawMsg, key) 32616 } 32617 if err != nil { 32618 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32619 } 32620 } 32621 return nil 32622 } 32623 32624 // MarshalJSON implements the json.Marshaller interface for type VPNLinkBgpSettings. 32625 func (v VPNLinkBgpSettings) MarshalJSON() ([]byte, error) { 32626 objectMap := make(map[string]any) 32627 populate(objectMap, "asn", v.Asn) 32628 populate(objectMap, "bgpPeeringAddress", v.BgpPeeringAddress) 32629 return json.Marshal(objectMap) 32630 } 32631 32632 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNLinkBgpSettings. 32633 func (v *VPNLinkBgpSettings) UnmarshalJSON(data []byte) error { 32634 var rawMsg map[string]json.RawMessage 32635 if err := json.Unmarshal(data, &rawMsg); err != nil { 32636 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32637 } 32638 for key, val := range rawMsg { 32639 var err error 32640 switch key { 32641 case "asn": 32642 err = unpopulate(val, "Asn", &v.Asn) 32643 delete(rawMsg, key) 32644 case "bgpPeeringAddress": 32645 err = unpopulate(val, "BgpPeeringAddress", &v.BgpPeeringAddress) 32646 delete(rawMsg, key) 32647 } 32648 if err != nil { 32649 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32650 } 32651 } 32652 return nil 32653 } 32654 32655 // MarshalJSON implements the json.Marshaller interface for type VPNLinkProviderProperties. 32656 func (v VPNLinkProviderProperties) MarshalJSON() ([]byte, error) { 32657 objectMap := make(map[string]any) 32658 populate(objectMap, "linkProviderName", v.LinkProviderName) 32659 populate(objectMap, "linkSpeedInMbps", v.LinkSpeedInMbps) 32660 return json.Marshal(objectMap) 32661 } 32662 32663 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNLinkProviderProperties. 32664 func (v *VPNLinkProviderProperties) UnmarshalJSON(data []byte) error { 32665 var rawMsg map[string]json.RawMessage 32666 if err := json.Unmarshal(data, &rawMsg); err != nil { 32667 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32668 } 32669 for key, val := range rawMsg { 32670 var err error 32671 switch key { 32672 case "linkProviderName": 32673 err = unpopulate(val, "LinkProviderName", &v.LinkProviderName) 32674 delete(rawMsg, key) 32675 case "linkSpeedInMbps": 32676 err = unpopulate(val, "LinkSpeedInMbps", &v.LinkSpeedInMbps) 32677 delete(rawMsg, key) 32678 } 32679 if err != nil { 32680 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32681 } 32682 } 32683 return nil 32684 } 32685 32686 // MarshalJSON implements the json.Marshaller interface for type VPNNatRuleMapping. 32687 func (v VPNNatRuleMapping) MarshalJSON() ([]byte, error) { 32688 objectMap := make(map[string]any) 32689 populate(objectMap, "addressSpace", v.AddressSpace) 32690 populate(objectMap, "portRange", v.PortRange) 32691 return json.Marshal(objectMap) 32692 } 32693 32694 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNNatRuleMapping. 32695 func (v *VPNNatRuleMapping) UnmarshalJSON(data []byte) error { 32696 var rawMsg map[string]json.RawMessage 32697 if err := json.Unmarshal(data, &rawMsg); err != nil { 32698 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32699 } 32700 for key, val := range rawMsg { 32701 var err error 32702 switch key { 32703 case "addressSpace": 32704 err = unpopulate(val, "AddressSpace", &v.AddressSpace) 32705 delete(rawMsg, key) 32706 case "portRange": 32707 err = unpopulate(val, "PortRange", &v.PortRange) 32708 delete(rawMsg, key) 32709 } 32710 if err != nil { 32711 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32712 } 32713 } 32714 return nil 32715 } 32716 32717 // MarshalJSON implements the json.Marshaller interface for type VPNPacketCaptureStartParameters. 32718 func (v VPNPacketCaptureStartParameters) MarshalJSON() ([]byte, error) { 32719 objectMap := make(map[string]any) 32720 populate(objectMap, "filterData", v.FilterData) 32721 return json.Marshal(objectMap) 32722 } 32723 32724 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNPacketCaptureStartParameters. 32725 func (v *VPNPacketCaptureStartParameters) UnmarshalJSON(data []byte) error { 32726 var rawMsg map[string]json.RawMessage 32727 if err := json.Unmarshal(data, &rawMsg); err != nil { 32728 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32729 } 32730 for key, val := range rawMsg { 32731 var err error 32732 switch key { 32733 case "filterData": 32734 err = unpopulate(val, "FilterData", &v.FilterData) 32735 delete(rawMsg, key) 32736 } 32737 if err != nil { 32738 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32739 } 32740 } 32741 return nil 32742 } 32743 32744 // MarshalJSON implements the json.Marshaller interface for type VPNPacketCaptureStopParameters. 32745 func (v VPNPacketCaptureStopParameters) MarshalJSON() ([]byte, error) { 32746 objectMap := make(map[string]any) 32747 populate(objectMap, "sasUrl", v.SasURL) 32748 return json.Marshal(objectMap) 32749 } 32750 32751 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNPacketCaptureStopParameters. 32752 func (v *VPNPacketCaptureStopParameters) UnmarshalJSON(data []byte) error { 32753 var rawMsg map[string]json.RawMessage 32754 if err := json.Unmarshal(data, &rawMsg); err != nil { 32755 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32756 } 32757 for key, val := range rawMsg { 32758 var err error 32759 switch key { 32760 case "sasUrl": 32761 err = unpopulate(val, "SasURL", &v.SasURL) 32762 delete(rawMsg, key) 32763 } 32764 if err != nil { 32765 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32766 } 32767 } 32768 return nil 32769 } 32770 32771 // MarshalJSON implements the json.Marshaller interface for type VPNProfileResponse. 32772 func (v VPNProfileResponse) MarshalJSON() ([]byte, error) { 32773 objectMap := make(map[string]any) 32774 populate(objectMap, "profileUrl", v.ProfileURL) 32775 return json.Marshal(objectMap) 32776 } 32777 32778 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNProfileResponse. 32779 func (v *VPNProfileResponse) UnmarshalJSON(data []byte) error { 32780 var rawMsg map[string]json.RawMessage 32781 if err := json.Unmarshal(data, &rawMsg); err != nil { 32782 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32783 } 32784 for key, val := range rawMsg { 32785 var err error 32786 switch key { 32787 case "profileUrl": 32788 err = unpopulate(val, "ProfileURL", &v.ProfileURL) 32789 delete(rawMsg, key) 32790 } 32791 if err != nil { 32792 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32793 } 32794 } 32795 return nil 32796 } 32797 32798 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigRadiusClientRootCertificate. 32799 func (v VPNServerConfigRadiusClientRootCertificate) MarshalJSON() ([]byte, error) { 32800 objectMap := make(map[string]any) 32801 populate(objectMap, "name", v.Name) 32802 populate(objectMap, "thumbprint", v.Thumbprint) 32803 return json.Marshal(objectMap) 32804 } 32805 32806 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigRadiusClientRootCertificate. 32807 func (v *VPNServerConfigRadiusClientRootCertificate) UnmarshalJSON(data []byte) error { 32808 var rawMsg map[string]json.RawMessage 32809 if err := json.Unmarshal(data, &rawMsg); err != nil { 32810 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32811 } 32812 for key, val := range rawMsg { 32813 var err error 32814 switch key { 32815 case "name": 32816 err = unpopulate(val, "Name", &v.Name) 32817 delete(rawMsg, key) 32818 case "thumbprint": 32819 err = unpopulate(val, "Thumbprint", &v.Thumbprint) 32820 delete(rawMsg, key) 32821 } 32822 if err != nil { 32823 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32824 } 32825 } 32826 return nil 32827 } 32828 32829 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigRadiusServerRootCertificate. 32830 func (v VPNServerConfigRadiusServerRootCertificate) MarshalJSON() ([]byte, error) { 32831 objectMap := make(map[string]any) 32832 populate(objectMap, "name", v.Name) 32833 populate(objectMap, "publicCertData", v.PublicCertData) 32834 return json.Marshal(objectMap) 32835 } 32836 32837 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigRadiusServerRootCertificate. 32838 func (v *VPNServerConfigRadiusServerRootCertificate) UnmarshalJSON(data []byte) error { 32839 var rawMsg map[string]json.RawMessage 32840 if err := json.Unmarshal(data, &rawMsg); err != nil { 32841 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32842 } 32843 for key, val := range rawMsg { 32844 var err error 32845 switch key { 32846 case "name": 32847 err = unpopulate(val, "Name", &v.Name) 32848 delete(rawMsg, key) 32849 case "publicCertData": 32850 err = unpopulate(val, "PublicCertData", &v.PublicCertData) 32851 delete(rawMsg, key) 32852 } 32853 if err != nil { 32854 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32855 } 32856 } 32857 return nil 32858 } 32859 32860 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigVPNClientRevokedCertificate. 32861 func (v VPNServerConfigVPNClientRevokedCertificate) MarshalJSON() ([]byte, error) { 32862 objectMap := make(map[string]any) 32863 populate(objectMap, "name", v.Name) 32864 populate(objectMap, "thumbprint", v.Thumbprint) 32865 return json.Marshal(objectMap) 32866 } 32867 32868 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigVPNClientRevokedCertificate. 32869 func (v *VPNServerConfigVPNClientRevokedCertificate) UnmarshalJSON(data []byte) error { 32870 var rawMsg map[string]json.RawMessage 32871 if err := json.Unmarshal(data, &rawMsg); err != nil { 32872 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32873 } 32874 for key, val := range rawMsg { 32875 var err error 32876 switch key { 32877 case "name": 32878 err = unpopulate(val, "Name", &v.Name) 32879 delete(rawMsg, key) 32880 case "thumbprint": 32881 err = unpopulate(val, "Thumbprint", &v.Thumbprint) 32882 delete(rawMsg, key) 32883 } 32884 if err != nil { 32885 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32886 } 32887 } 32888 return nil 32889 } 32890 32891 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigVPNClientRootCertificate. 32892 func (v VPNServerConfigVPNClientRootCertificate) MarshalJSON() ([]byte, error) { 32893 objectMap := make(map[string]any) 32894 populate(objectMap, "name", v.Name) 32895 populate(objectMap, "publicCertData", v.PublicCertData) 32896 return json.Marshal(objectMap) 32897 } 32898 32899 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigVPNClientRootCertificate. 32900 func (v *VPNServerConfigVPNClientRootCertificate) UnmarshalJSON(data []byte) error { 32901 var rawMsg map[string]json.RawMessage 32902 if err := json.Unmarshal(data, &rawMsg); err != nil { 32903 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32904 } 32905 for key, val := range rawMsg { 32906 var err error 32907 switch key { 32908 case "name": 32909 err = unpopulate(val, "Name", &v.Name) 32910 delete(rawMsg, key) 32911 case "publicCertData": 32912 err = unpopulate(val, "PublicCertData", &v.PublicCertData) 32913 delete(rawMsg, key) 32914 } 32915 if err != nil { 32916 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32917 } 32918 } 32919 return nil 32920 } 32921 32922 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfiguration. 32923 func (v VPNServerConfiguration) MarshalJSON() ([]byte, error) { 32924 objectMap := make(map[string]any) 32925 populate(objectMap, "etag", v.Etag) 32926 populate(objectMap, "id", v.ID) 32927 populate(objectMap, "location", v.Location) 32928 populate(objectMap, "name", v.Name) 32929 populate(objectMap, "properties", v.Properties) 32930 populate(objectMap, "tags", v.Tags) 32931 populate(objectMap, "type", v.Type) 32932 return json.Marshal(objectMap) 32933 } 32934 32935 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfiguration. 32936 func (v *VPNServerConfiguration) UnmarshalJSON(data []byte) error { 32937 var rawMsg map[string]json.RawMessage 32938 if err := json.Unmarshal(data, &rawMsg); err != nil { 32939 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32940 } 32941 for key, val := range rawMsg { 32942 var err error 32943 switch key { 32944 case "etag": 32945 err = unpopulate(val, "Etag", &v.Etag) 32946 delete(rawMsg, key) 32947 case "id": 32948 err = unpopulate(val, "ID", &v.ID) 32949 delete(rawMsg, key) 32950 case "location": 32951 err = unpopulate(val, "Location", &v.Location) 32952 delete(rawMsg, key) 32953 case "name": 32954 err = unpopulate(val, "Name", &v.Name) 32955 delete(rawMsg, key) 32956 case "properties": 32957 err = unpopulate(val, "Properties", &v.Properties) 32958 delete(rawMsg, key) 32959 case "tags": 32960 err = unpopulate(val, "Tags", &v.Tags) 32961 delete(rawMsg, key) 32962 case "type": 32963 err = unpopulate(val, "Type", &v.Type) 32964 delete(rawMsg, key) 32965 } 32966 if err != nil { 32967 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32968 } 32969 } 32970 return nil 32971 } 32972 32973 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationPolicyGroup. 32974 func (v VPNServerConfigurationPolicyGroup) MarshalJSON() ([]byte, error) { 32975 objectMap := make(map[string]any) 32976 populate(objectMap, "etag", v.Etag) 32977 populate(objectMap, "id", v.ID) 32978 populate(objectMap, "name", v.Name) 32979 populate(objectMap, "properties", v.Properties) 32980 populate(objectMap, "type", v.Type) 32981 return json.Marshal(objectMap) 32982 } 32983 32984 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigurationPolicyGroup. 32985 func (v *VPNServerConfigurationPolicyGroup) UnmarshalJSON(data []byte) error { 32986 var rawMsg map[string]json.RawMessage 32987 if err := json.Unmarshal(data, &rawMsg); err != nil { 32988 return fmt.Errorf("unmarshalling type %T: %v", v, err) 32989 } 32990 for key, val := range rawMsg { 32991 var err error 32992 switch key { 32993 case "etag": 32994 err = unpopulate(val, "Etag", &v.Etag) 32995 delete(rawMsg, key) 32996 case "id": 32997 err = unpopulate(val, "ID", &v.ID) 32998 delete(rawMsg, key) 32999 case "name": 33000 err = unpopulate(val, "Name", &v.Name) 33001 delete(rawMsg, key) 33002 case "properties": 33003 err = unpopulate(val, "Properties", &v.Properties) 33004 delete(rawMsg, key) 33005 case "type": 33006 err = unpopulate(val, "Type", &v.Type) 33007 delete(rawMsg, key) 33008 } 33009 if err != nil { 33010 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33011 } 33012 } 33013 return nil 33014 } 33015 33016 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationPolicyGroupMember. 33017 func (v VPNServerConfigurationPolicyGroupMember) MarshalJSON() ([]byte, error) { 33018 objectMap := make(map[string]any) 33019 populate(objectMap, "attributeType", v.AttributeType) 33020 populate(objectMap, "attributeValue", v.AttributeValue) 33021 populate(objectMap, "name", v.Name) 33022 return json.Marshal(objectMap) 33023 } 33024 33025 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigurationPolicyGroupMember. 33026 func (v *VPNServerConfigurationPolicyGroupMember) UnmarshalJSON(data []byte) error { 33027 var rawMsg map[string]json.RawMessage 33028 if err := json.Unmarshal(data, &rawMsg); err != nil { 33029 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33030 } 33031 for key, val := range rawMsg { 33032 var err error 33033 switch key { 33034 case "attributeType": 33035 err = unpopulate(val, "AttributeType", &v.AttributeType) 33036 delete(rawMsg, key) 33037 case "attributeValue": 33038 err = unpopulate(val, "AttributeValue", &v.AttributeValue) 33039 delete(rawMsg, key) 33040 case "name": 33041 err = unpopulate(val, "Name", &v.Name) 33042 delete(rawMsg, key) 33043 } 33044 if err != nil { 33045 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33046 } 33047 } 33048 return nil 33049 } 33050 33051 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationPolicyGroupProperties. 33052 func (v VPNServerConfigurationPolicyGroupProperties) MarshalJSON() ([]byte, error) { 33053 objectMap := make(map[string]any) 33054 populate(objectMap, "isDefault", v.IsDefault) 33055 populate(objectMap, "p2SConnectionConfigurations", v.P2SConnectionConfigurations) 33056 populate(objectMap, "policyMembers", v.PolicyMembers) 33057 populate(objectMap, "priority", v.Priority) 33058 populate(objectMap, "provisioningState", v.ProvisioningState) 33059 return json.Marshal(objectMap) 33060 } 33061 33062 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigurationPolicyGroupProperties. 33063 func (v *VPNServerConfigurationPolicyGroupProperties) UnmarshalJSON(data []byte) error { 33064 var rawMsg map[string]json.RawMessage 33065 if err := json.Unmarshal(data, &rawMsg); err != nil { 33066 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33067 } 33068 for key, val := range rawMsg { 33069 var err error 33070 switch key { 33071 case "isDefault": 33072 err = unpopulate(val, "IsDefault", &v.IsDefault) 33073 delete(rawMsg, key) 33074 case "p2SConnectionConfigurations": 33075 err = unpopulate(val, "P2SConnectionConfigurations", &v.P2SConnectionConfigurations) 33076 delete(rawMsg, key) 33077 case "policyMembers": 33078 err = unpopulate(val, "PolicyMembers", &v.PolicyMembers) 33079 delete(rawMsg, key) 33080 case "priority": 33081 err = unpopulate(val, "Priority", &v.Priority) 33082 delete(rawMsg, key) 33083 case "provisioningState": 33084 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 33085 delete(rawMsg, key) 33086 } 33087 if err != nil { 33088 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33089 } 33090 } 33091 return nil 33092 } 33093 33094 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationProperties. 33095 func (v VPNServerConfigurationProperties) MarshalJSON() ([]byte, error) { 33096 objectMap := make(map[string]any) 33097 populate(objectMap, "aadAuthenticationParameters", v.AADAuthenticationParameters) 33098 populate(objectMap, "configurationPolicyGroups", v.ConfigurationPolicyGroups) 33099 populate(objectMap, "etag", v.Etag) 33100 populate(objectMap, "name", v.Name) 33101 populate(objectMap, "p2SVpnGateways", v.P2SVPNGateways) 33102 populate(objectMap, "provisioningState", v.ProvisioningState) 33103 populate(objectMap, "radiusClientRootCertificates", v.RadiusClientRootCertificates) 33104 populate(objectMap, "radiusServerAddress", v.RadiusServerAddress) 33105 populate(objectMap, "radiusServerRootCertificates", v.RadiusServerRootCertificates) 33106 populate(objectMap, "radiusServerSecret", v.RadiusServerSecret) 33107 populate(objectMap, "radiusServers", v.RadiusServers) 33108 populate(objectMap, "vpnAuthenticationTypes", v.VPNAuthenticationTypes) 33109 populate(objectMap, "vpnClientIpsecPolicies", v.VPNClientIPSecPolicies) 33110 populate(objectMap, "vpnClientRevokedCertificates", v.VPNClientRevokedCertificates) 33111 populate(objectMap, "vpnClientRootCertificates", v.VPNClientRootCertificates) 33112 populate(objectMap, "vpnProtocols", v.VPNProtocols) 33113 return json.Marshal(objectMap) 33114 } 33115 33116 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigurationProperties. 33117 func (v *VPNServerConfigurationProperties) UnmarshalJSON(data []byte) error { 33118 var rawMsg map[string]json.RawMessage 33119 if err := json.Unmarshal(data, &rawMsg); err != nil { 33120 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33121 } 33122 for key, val := range rawMsg { 33123 var err error 33124 switch key { 33125 case "aadAuthenticationParameters": 33126 err = unpopulate(val, "AADAuthenticationParameters", &v.AADAuthenticationParameters) 33127 delete(rawMsg, key) 33128 case "configurationPolicyGroups": 33129 err = unpopulate(val, "ConfigurationPolicyGroups", &v.ConfigurationPolicyGroups) 33130 delete(rawMsg, key) 33131 case "etag": 33132 err = unpopulate(val, "Etag", &v.Etag) 33133 delete(rawMsg, key) 33134 case "name": 33135 err = unpopulate(val, "Name", &v.Name) 33136 delete(rawMsg, key) 33137 case "p2SVpnGateways": 33138 err = unpopulate(val, "P2SVPNGateways", &v.P2SVPNGateways) 33139 delete(rawMsg, key) 33140 case "provisioningState": 33141 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 33142 delete(rawMsg, key) 33143 case "radiusClientRootCertificates": 33144 err = unpopulate(val, "RadiusClientRootCertificates", &v.RadiusClientRootCertificates) 33145 delete(rawMsg, key) 33146 case "radiusServerAddress": 33147 err = unpopulate(val, "RadiusServerAddress", &v.RadiusServerAddress) 33148 delete(rawMsg, key) 33149 case "radiusServerRootCertificates": 33150 err = unpopulate(val, "RadiusServerRootCertificates", &v.RadiusServerRootCertificates) 33151 delete(rawMsg, key) 33152 case "radiusServerSecret": 33153 err = unpopulate(val, "RadiusServerSecret", &v.RadiusServerSecret) 33154 delete(rawMsg, key) 33155 case "radiusServers": 33156 err = unpopulate(val, "RadiusServers", &v.RadiusServers) 33157 delete(rawMsg, key) 33158 case "vpnAuthenticationTypes": 33159 err = unpopulate(val, "VPNAuthenticationTypes", &v.VPNAuthenticationTypes) 33160 delete(rawMsg, key) 33161 case "vpnClientIpsecPolicies": 33162 err = unpopulate(val, "VPNClientIPSecPolicies", &v.VPNClientIPSecPolicies) 33163 delete(rawMsg, key) 33164 case "vpnClientRevokedCertificates": 33165 err = unpopulate(val, "VPNClientRevokedCertificates", &v.VPNClientRevokedCertificates) 33166 delete(rawMsg, key) 33167 case "vpnClientRootCertificates": 33168 err = unpopulate(val, "VPNClientRootCertificates", &v.VPNClientRootCertificates) 33169 delete(rawMsg, key) 33170 case "vpnProtocols": 33171 err = unpopulate(val, "VPNProtocols", &v.VPNProtocols) 33172 delete(rawMsg, key) 33173 } 33174 if err != nil { 33175 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33176 } 33177 } 33178 return nil 33179 } 33180 33181 // MarshalJSON implements the json.Marshaller interface for type VPNServerConfigurationsResponse. 33182 func (v VPNServerConfigurationsResponse) MarshalJSON() ([]byte, error) { 33183 objectMap := make(map[string]any) 33184 populate(objectMap, "vpnServerConfigurationResourceIds", v.VPNServerConfigurationResourceIDs) 33185 return json.Marshal(objectMap) 33186 } 33187 33188 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNServerConfigurationsResponse. 33189 func (v *VPNServerConfigurationsResponse) UnmarshalJSON(data []byte) error { 33190 var rawMsg map[string]json.RawMessage 33191 if err := json.Unmarshal(data, &rawMsg); err != nil { 33192 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33193 } 33194 for key, val := range rawMsg { 33195 var err error 33196 switch key { 33197 case "vpnServerConfigurationResourceIds": 33198 err = unpopulate(val, "VPNServerConfigurationResourceIDs", &v.VPNServerConfigurationResourceIDs) 33199 delete(rawMsg, key) 33200 } 33201 if err != nil { 33202 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33203 } 33204 } 33205 return nil 33206 } 33207 33208 // MarshalJSON implements the json.Marshaller interface for type VPNSite. 33209 func (v VPNSite) MarshalJSON() ([]byte, error) { 33210 objectMap := make(map[string]any) 33211 populate(objectMap, "etag", v.Etag) 33212 populate(objectMap, "id", v.ID) 33213 populate(objectMap, "location", v.Location) 33214 populate(objectMap, "name", v.Name) 33215 populate(objectMap, "properties", v.Properties) 33216 populate(objectMap, "tags", v.Tags) 33217 populate(objectMap, "type", v.Type) 33218 return json.Marshal(objectMap) 33219 } 33220 33221 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSite. 33222 func (v *VPNSite) UnmarshalJSON(data []byte) error { 33223 var rawMsg map[string]json.RawMessage 33224 if err := json.Unmarshal(data, &rawMsg); err != nil { 33225 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33226 } 33227 for key, val := range rawMsg { 33228 var err error 33229 switch key { 33230 case "etag": 33231 err = unpopulate(val, "Etag", &v.Etag) 33232 delete(rawMsg, key) 33233 case "id": 33234 err = unpopulate(val, "ID", &v.ID) 33235 delete(rawMsg, key) 33236 case "location": 33237 err = unpopulate(val, "Location", &v.Location) 33238 delete(rawMsg, key) 33239 case "name": 33240 err = unpopulate(val, "Name", &v.Name) 33241 delete(rawMsg, key) 33242 case "properties": 33243 err = unpopulate(val, "Properties", &v.Properties) 33244 delete(rawMsg, key) 33245 case "tags": 33246 err = unpopulate(val, "Tags", &v.Tags) 33247 delete(rawMsg, key) 33248 case "type": 33249 err = unpopulate(val, "Type", &v.Type) 33250 delete(rawMsg, key) 33251 } 33252 if err != nil { 33253 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33254 } 33255 } 33256 return nil 33257 } 33258 33259 // MarshalJSON implements the json.Marshaller interface for type VPNSiteID. 33260 func (v VPNSiteID) MarshalJSON() ([]byte, error) { 33261 objectMap := make(map[string]any) 33262 populate(objectMap, "vpnSite", v.VPNSite) 33263 return json.Marshal(objectMap) 33264 } 33265 33266 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSiteID. 33267 func (v *VPNSiteID) UnmarshalJSON(data []byte) error { 33268 var rawMsg map[string]json.RawMessage 33269 if err := json.Unmarshal(data, &rawMsg); err != nil { 33270 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33271 } 33272 for key, val := range rawMsg { 33273 var err error 33274 switch key { 33275 case "vpnSite": 33276 err = unpopulate(val, "VPNSite", &v.VPNSite) 33277 delete(rawMsg, key) 33278 } 33279 if err != nil { 33280 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33281 } 33282 } 33283 return nil 33284 } 33285 33286 // MarshalJSON implements the json.Marshaller interface for type VPNSiteLink. 33287 func (v VPNSiteLink) MarshalJSON() ([]byte, error) { 33288 objectMap := make(map[string]any) 33289 populate(objectMap, "etag", v.Etag) 33290 populate(objectMap, "id", v.ID) 33291 populate(objectMap, "name", v.Name) 33292 populate(objectMap, "properties", v.Properties) 33293 populate(objectMap, "type", v.Type) 33294 return json.Marshal(objectMap) 33295 } 33296 33297 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSiteLink. 33298 func (v *VPNSiteLink) UnmarshalJSON(data []byte) error { 33299 var rawMsg map[string]json.RawMessage 33300 if err := json.Unmarshal(data, &rawMsg); err != nil { 33301 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33302 } 33303 for key, val := range rawMsg { 33304 var err error 33305 switch key { 33306 case "etag": 33307 err = unpopulate(val, "Etag", &v.Etag) 33308 delete(rawMsg, key) 33309 case "id": 33310 err = unpopulate(val, "ID", &v.ID) 33311 delete(rawMsg, key) 33312 case "name": 33313 err = unpopulate(val, "Name", &v.Name) 33314 delete(rawMsg, key) 33315 case "properties": 33316 err = unpopulate(val, "Properties", &v.Properties) 33317 delete(rawMsg, key) 33318 case "type": 33319 err = unpopulate(val, "Type", &v.Type) 33320 delete(rawMsg, key) 33321 } 33322 if err != nil { 33323 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33324 } 33325 } 33326 return nil 33327 } 33328 33329 // MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkConnection. 33330 func (v VPNSiteLinkConnection) MarshalJSON() ([]byte, error) { 33331 objectMap := make(map[string]any) 33332 populate(objectMap, "etag", v.Etag) 33333 populate(objectMap, "id", v.ID) 33334 populate(objectMap, "name", v.Name) 33335 populate(objectMap, "properties", v.Properties) 33336 populate(objectMap, "type", v.Type) 33337 return json.Marshal(objectMap) 33338 } 33339 33340 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSiteLinkConnection. 33341 func (v *VPNSiteLinkConnection) UnmarshalJSON(data []byte) error { 33342 var rawMsg map[string]json.RawMessage 33343 if err := json.Unmarshal(data, &rawMsg); err != nil { 33344 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33345 } 33346 for key, val := range rawMsg { 33347 var err error 33348 switch key { 33349 case "etag": 33350 err = unpopulate(val, "Etag", &v.Etag) 33351 delete(rawMsg, key) 33352 case "id": 33353 err = unpopulate(val, "ID", &v.ID) 33354 delete(rawMsg, key) 33355 case "name": 33356 err = unpopulate(val, "Name", &v.Name) 33357 delete(rawMsg, key) 33358 case "properties": 33359 err = unpopulate(val, "Properties", &v.Properties) 33360 delete(rawMsg, key) 33361 case "type": 33362 err = unpopulate(val, "Type", &v.Type) 33363 delete(rawMsg, key) 33364 } 33365 if err != nil { 33366 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33367 } 33368 } 33369 return nil 33370 } 33371 33372 // MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkConnectionProperties. 33373 func (v VPNSiteLinkConnectionProperties) MarshalJSON() ([]byte, error) { 33374 objectMap := make(map[string]any) 33375 populate(objectMap, "connectionBandwidth", v.ConnectionBandwidth) 33376 populate(objectMap, "connectionStatus", v.ConnectionStatus) 33377 populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) 33378 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 33379 populate(objectMap, "egressNatRules", v.EgressNatRules) 33380 populate(objectMap, "enableBgp", v.EnableBgp) 33381 populate(objectMap, "enableRateLimiting", v.EnableRateLimiting) 33382 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 33383 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 33384 populate(objectMap, "ingressNatRules", v.IngressNatRules) 33385 populate(objectMap, "provisioningState", v.ProvisioningState) 33386 populate(objectMap, "routingWeight", v.RoutingWeight) 33387 populate(objectMap, "sharedKey", v.SharedKey) 33388 populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) 33389 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 33390 populate(objectMap, "vpnConnectionProtocolType", v.VPNConnectionProtocolType) 33391 populate(objectMap, "vpnGatewayCustomBgpAddresses", v.VPNGatewayCustomBgpAddresses) 33392 populate(objectMap, "vpnLinkConnectionMode", v.VPNLinkConnectionMode) 33393 populate(objectMap, "vpnSiteLink", v.VPNSiteLink) 33394 return json.Marshal(objectMap) 33395 } 33396 33397 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSiteLinkConnectionProperties. 33398 func (v *VPNSiteLinkConnectionProperties) UnmarshalJSON(data []byte) error { 33399 var rawMsg map[string]json.RawMessage 33400 if err := json.Unmarshal(data, &rawMsg); err != nil { 33401 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33402 } 33403 for key, val := range rawMsg { 33404 var err error 33405 switch key { 33406 case "connectionBandwidth": 33407 err = unpopulate(val, "ConnectionBandwidth", &v.ConnectionBandwidth) 33408 delete(rawMsg, key) 33409 case "connectionStatus": 33410 err = unpopulate(val, "ConnectionStatus", &v.ConnectionStatus) 33411 delete(rawMsg, key) 33412 case "dpdTimeoutSeconds": 33413 err = unpopulate(val, "DpdTimeoutSeconds", &v.DpdTimeoutSeconds) 33414 delete(rawMsg, key) 33415 case "egressBytesTransferred": 33416 err = unpopulate(val, "EgressBytesTransferred", &v.EgressBytesTransferred) 33417 delete(rawMsg, key) 33418 case "egressNatRules": 33419 err = unpopulate(val, "EgressNatRules", &v.EgressNatRules) 33420 delete(rawMsg, key) 33421 case "enableBgp": 33422 err = unpopulate(val, "EnableBgp", &v.EnableBgp) 33423 delete(rawMsg, key) 33424 case "enableRateLimiting": 33425 err = unpopulate(val, "EnableRateLimiting", &v.EnableRateLimiting) 33426 delete(rawMsg, key) 33427 case "ipsecPolicies": 33428 err = unpopulate(val, "IPSecPolicies", &v.IPSecPolicies) 33429 delete(rawMsg, key) 33430 case "ingressBytesTransferred": 33431 err = unpopulate(val, "IngressBytesTransferred", &v.IngressBytesTransferred) 33432 delete(rawMsg, key) 33433 case "ingressNatRules": 33434 err = unpopulate(val, "IngressNatRules", &v.IngressNatRules) 33435 delete(rawMsg, key) 33436 case "provisioningState": 33437 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 33438 delete(rawMsg, key) 33439 case "routingWeight": 33440 err = unpopulate(val, "RoutingWeight", &v.RoutingWeight) 33441 delete(rawMsg, key) 33442 case "sharedKey": 33443 err = unpopulate(val, "SharedKey", &v.SharedKey) 33444 delete(rawMsg, key) 33445 case "useLocalAzureIpAddress": 33446 err = unpopulate(val, "UseLocalAzureIPAddress", &v.UseLocalAzureIPAddress) 33447 delete(rawMsg, key) 33448 case "usePolicyBasedTrafficSelectors": 33449 err = unpopulate(val, "UsePolicyBasedTrafficSelectors", &v.UsePolicyBasedTrafficSelectors) 33450 delete(rawMsg, key) 33451 case "vpnConnectionProtocolType": 33452 err = unpopulate(val, "VPNConnectionProtocolType", &v.VPNConnectionProtocolType) 33453 delete(rawMsg, key) 33454 case "vpnGatewayCustomBgpAddresses": 33455 err = unpopulate(val, "VPNGatewayCustomBgpAddresses", &v.VPNGatewayCustomBgpAddresses) 33456 delete(rawMsg, key) 33457 case "vpnLinkConnectionMode": 33458 err = unpopulate(val, "VPNLinkConnectionMode", &v.VPNLinkConnectionMode) 33459 delete(rawMsg, key) 33460 case "vpnSiteLink": 33461 err = unpopulate(val, "VPNSiteLink", &v.VPNSiteLink) 33462 delete(rawMsg, key) 33463 } 33464 if err != nil { 33465 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33466 } 33467 } 33468 return nil 33469 } 33470 33471 // MarshalJSON implements the json.Marshaller interface for type VPNSiteLinkProperties. 33472 func (v VPNSiteLinkProperties) MarshalJSON() ([]byte, error) { 33473 objectMap := make(map[string]any) 33474 populate(objectMap, "bgpProperties", v.BgpProperties) 33475 populate(objectMap, "fqdn", v.Fqdn) 33476 populate(objectMap, "ipAddress", v.IPAddress) 33477 populate(objectMap, "linkProperties", v.LinkProperties) 33478 populate(objectMap, "provisioningState", v.ProvisioningState) 33479 return json.Marshal(objectMap) 33480 } 33481 33482 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSiteLinkProperties. 33483 func (v *VPNSiteLinkProperties) UnmarshalJSON(data []byte) error { 33484 var rawMsg map[string]json.RawMessage 33485 if err := json.Unmarshal(data, &rawMsg); err != nil { 33486 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33487 } 33488 for key, val := range rawMsg { 33489 var err error 33490 switch key { 33491 case "bgpProperties": 33492 err = unpopulate(val, "BgpProperties", &v.BgpProperties) 33493 delete(rawMsg, key) 33494 case "fqdn": 33495 err = unpopulate(val, "Fqdn", &v.Fqdn) 33496 delete(rawMsg, key) 33497 case "ipAddress": 33498 err = unpopulate(val, "IPAddress", &v.IPAddress) 33499 delete(rawMsg, key) 33500 case "linkProperties": 33501 err = unpopulate(val, "LinkProperties", &v.LinkProperties) 33502 delete(rawMsg, key) 33503 case "provisioningState": 33504 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 33505 delete(rawMsg, key) 33506 } 33507 if err != nil { 33508 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33509 } 33510 } 33511 return nil 33512 } 33513 33514 // MarshalJSON implements the json.Marshaller interface for type VPNSiteProperties. 33515 func (v VPNSiteProperties) MarshalJSON() ([]byte, error) { 33516 objectMap := make(map[string]any) 33517 populate(objectMap, "addressSpace", v.AddressSpace) 33518 populate(objectMap, "bgpProperties", v.BgpProperties) 33519 populate(objectMap, "deviceProperties", v.DeviceProperties) 33520 populate(objectMap, "ipAddress", v.IPAddress) 33521 populate(objectMap, "isSecuritySite", v.IsSecuritySite) 33522 populate(objectMap, "o365Policy", v.O365Policy) 33523 populate(objectMap, "provisioningState", v.ProvisioningState) 33524 populate(objectMap, "siteKey", v.SiteKey) 33525 populate(objectMap, "vpnSiteLinks", v.VPNSiteLinks) 33526 populate(objectMap, "virtualWan", v.VirtualWan) 33527 return json.Marshal(objectMap) 33528 } 33529 33530 // UnmarshalJSON implements the json.Unmarshaller interface for type VPNSiteProperties. 33531 func (v *VPNSiteProperties) UnmarshalJSON(data []byte) error { 33532 var rawMsg map[string]json.RawMessage 33533 if err := json.Unmarshal(data, &rawMsg); err != nil { 33534 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33535 } 33536 for key, val := range rawMsg { 33537 var err error 33538 switch key { 33539 case "addressSpace": 33540 err = unpopulate(val, "AddressSpace", &v.AddressSpace) 33541 delete(rawMsg, key) 33542 case "bgpProperties": 33543 err = unpopulate(val, "BgpProperties", &v.BgpProperties) 33544 delete(rawMsg, key) 33545 case "deviceProperties": 33546 err = unpopulate(val, "DeviceProperties", &v.DeviceProperties) 33547 delete(rawMsg, key) 33548 case "ipAddress": 33549 err = unpopulate(val, "IPAddress", &v.IPAddress) 33550 delete(rawMsg, key) 33551 case "isSecuritySite": 33552 err = unpopulate(val, "IsSecuritySite", &v.IsSecuritySite) 33553 delete(rawMsg, key) 33554 case "o365Policy": 33555 err = unpopulate(val, "O365Policy", &v.O365Policy) 33556 delete(rawMsg, key) 33557 case "provisioningState": 33558 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 33559 delete(rawMsg, key) 33560 case "siteKey": 33561 err = unpopulate(val, "SiteKey", &v.SiteKey) 33562 delete(rawMsg, key) 33563 case "vpnSiteLinks": 33564 err = unpopulate(val, "VPNSiteLinks", &v.VPNSiteLinks) 33565 delete(rawMsg, key) 33566 case "virtualWan": 33567 err = unpopulate(val, "VirtualWan", &v.VirtualWan) 33568 delete(rawMsg, key) 33569 } 33570 if err != nil { 33571 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33572 } 33573 } 33574 return nil 33575 } 33576 33577 // MarshalJSON implements the json.Marshaller interface for type VerificationIPFlowParameters. 33578 func (v VerificationIPFlowParameters) MarshalJSON() ([]byte, error) { 33579 objectMap := make(map[string]any) 33580 populate(objectMap, "direction", v.Direction) 33581 populate(objectMap, "localIPAddress", v.LocalIPAddress) 33582 populate(objectMap, "localPort", v.LocalPort) 33583 populate(objectMap, "protocol", v.Protocol) 33584 populate(objectMap, "remoteIPAddress", v.RemoteIPAddress) 33585 populate(objectMap, "remotePort", v.RemotePort) 33586 populate(objectMap, "targetNicResourceId", v.TargetNicResourceID) 33587 populate(objectMap, "targetResourceId", v.TargetResourceID) 33588 return json.Marshal(objectMap) 33589 } 33590 33591 // UnmarshalJSON implements the json.Unmarshaller interface for type VerificationIPFlowParameters. 33592 func (v *VerificationIPFlowParameters) UnmarshalJSON(data []byte) error { 33593 var rawMsg map[string]json.RawMessage 33594 if err := json.Unmarshal(data, &rawMsg); err != nil { 33595 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33596 } 33597 for key, val := range rawMsg { 33598 var err error 33599 switch key { 33600 case "direction": 33601 err = unpopulate(val, "Direction", &v.Direction) 33602 delete(rawMsg, key) 33603 case "localIPAddress": 33604 err = unpopulate(val, "LocalIPAddress", &v.LocalIPAddress) 33605 delete(rawMsg, key) 33606 case "localPort": 33607 err = unpopulate(val, "LocalPort", &v.LocalPort) 33608 delete(rawMsg, key) 33609 case "protocol": 33610 err = unpopulate(val, "Protocol", &v.Protocol) 33611 delete(rawMsg, key) 33612 case "remoteIPAddress": 33613 err = unpopulate(val, "RemoteIPAddress", &v.RemoteIPAddress) 33614 delete(rawMsg, key) 33615 case "remotePort": 33616 err = unpopulate(val, "RemotePort", &v.RemotePort) 33617 delete(rawMsg, key) 33618 case "targetNicResourceId": 33619 err = unpopulate(val, "TargetNicResourceID", &v.TargetNicResourceID) 33620 delete(rawMsg, key) 33621 case "targetResourceId": 33622 err = unpopulate(val, "TargetResourceID", &v.TargetResourceID) 33623 delete(rawMsg, key) 33624 } 33625 if err != nil { 33626 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33627 } 33628 } 33629 return nil 33630 } 33631 33632 // MarshalJSON implements the json.Marshaller interface for type VerificationIPFlowResult. 33633 func (v VerificationIPFlowResult) MarshalJSON() ([]byte, error) { 33634 objectMap := make(map[string]any) 33635 populate(objectMap, "access", v.Access) 33636 populate(objectMap, "ruleName", v.RuleName) 33637 return json.Marshal(objectMap) 33638 } 33639 33640 // UnmarshalJSON implements the json.Unmarshaller interface for type VerificationIPFlowResult. 33641 func (v *VerificationIPFlowResult) UnmarshalJSON(data []byte) error { 33642 var rawMsg map[string]json.RawMessage 33643 if err := json.Unmarshal(data, &rawMsg); err != nil { 33644 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33645 } 33646 for key, val := range rawMsg { 33647 var err error 33648 switch key { 33649 case "access": 33650 err = unpopulate(val, "Access", &v.Access) 33651 delete(rawMsg, key) 33652 case "ruleName": 33653 err = unpopulate(val, "RuleName", &v.RuleName) 33654 delete(rawMsg, key) 33655 } 33656 if err != nil { 33657 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33658 } 33659 } 33660 return nil 33661 } 33662 33663 // MarshalJSON implements the json.Marshaller interface for type VerifierWorkspace. 33664 func (v VerifierWorkspace) MarshalJSON() ([]byte, error) { 33665 objectMap := make(map[string]any) 33666 populate(objectMap, "id", v.ID) 33667 populate(objectMap, "location", v.Location) 33668 populate(objectMap, "name", v.Name) 33669 populate(objectMap, "properties", v.Properties) 33670 populate(objectMap, "systemData", v.SystemData) 33671 populate(objectMap, "tags", v.Tags) 33672 populate(objectMap, "type", v.Type) 33673 return json.Marshal(objectMap) 33674 } 33675 33676 // UnmarshalJSON implements the json.Unmarshaller interface for type VerifierWorkspace. 33677 func (v *VerifierWorkspace) UnmarshalJSON(data []byte) error { 33678 var rawMsg map[string]json.RawMessage 33679 if err := json.Unmarshal(data, &rawMsg); err != nil { 33680 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33681 } 33682 for key, val := range rawMsg { 33683 var err error 33684 switch key { 33685 case "id": 33686 err = unpopulate(val, "ID", &v.ID) 33687 delete(rawMsg, key) 33688 case "location": 33689 err = unpopulate(val, "Location", &v.Location) 33690 delete(rawMsg, key) 33691 case "name": 33692 err = unpopulate(val, "Name", &v.Name) 33693 delete(rawMsg, key) 33694 case "properties": 33695 err = unpopulate(val, "Properties", &v.Properties) 33696 delete(rawMsg, key) 33697 case "systemData": 33698 err = unpopulate(val, "SystemData", &v.SystemData) 33699 delete(rawMsg, key) 33700 case "tags": 33701 err = unpopulate(val, "Tags", &v.Tags) 33702 delete(rawMsg, key) 33703 case "type": 33704 err = unpopulate(val, "Type", &v.Type) 33705 delete(rawMsg, key) 33706 } 33707 if err != nil { 33708 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33709 } 33710 } 33711 return nil 33712 } 33713 33714 // MarshalJSON implements the json.Marshaller interface for type VerifierWorkspaceListResult. 33715 func (v VerifierWorkspaceListResult) MarshalJSON() ([]byte, error) { 33716 objectMap := make(map[string]any) 33717 populate(objectMap, "nextLink", v.NextLink) 33718 populate(objectMap, "value", v.Value) 33719 return json.Marshal(objectMap) 33720 } 33721 33722 // UnmarshalJSON implements the json.Unmarshaller interface for type VerifierWorkspaceListResult. 33723 func (v *VerifierWorkspaceListResult) UnmarshalJSON(data []byte) error { 33724 var rawMsg map[string]json.RawMessage 33725 if err := json.Unmarshal(data, &rawMsg); err != nil { 33726 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33727 } 33728 for key, val := range rawMsg { 33729 var err error 33730 switch key { 33731 case "nextLink": 33732 err = unpopulate(val, "NextLink", &v.NextLink) 33733 delete(rawMsg, key) 33734 case "value": 33735 err = unpopulate(val, "Value", &v.Value) 33736 delete(rawMsg, key) 33737 } 33738 if err != nil { 33739 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33740 } 33741 } 33742 return nil 33743 } 33744 33745 // MarshalJSON implements the json.Marshaller interface for type VerifierWorkspaceProperties. 33746 func (v VerifierWorkspaceProperties) MarshalJSON() ([]byte, error) { 33747 objectMap := make(map[string]any) 33748 populate(objectMap, "description", v.Description) 33749 populate(objectMap, "provisioningState", v.ProvisioningState) 33750 return json.Marshal(objectMap) 33751 } 33752 33753 // UnmarshalJSON implements the json.Unmarshaller interface for type VerifierWorkspaceProperties. 33754 func (v *VerifierWorkspaceProperties) UnmarshalJSON(data []byte) error { 33755 var rawMsg map[string]json.RawMessage 33756 if err := json.Unmarshal(data, &rawMsg); err != nil { 33757 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33758 } 33759 for key, val := range rawMsg { 33760 var err error 33761 switch key { 33762 case "description": 33763 err = unpopulate(val, "Description", &v.Description) 33764 delete(rawMsg, key) 33765 case "provisioningState": 33766 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 33767 delete(rawMsg, key) 33768 } 33769 if err != nil { 33770 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33771 } 33772 } 33773 return nil 33774 } 33775 33776 // MarshalJSON implements the json.Marshaller interface for type VerifierWorkspaceUpdate. 33777 func (v VerifierWorkspaceUpdate) MarshalJSON() ([]byte, error) { 33778 objectMap := make(map[string]any) 33779 populate(objectMap, "properties", v.Properties) 33780 populate(objectMap, "tags", v.Tags) 33781 return json.Marshal(objectMap) 33782 } 33783 33784 // UnmarshalJSON implements the json.Unmarshaller interface for type VerifierWorkspaceUpdate. 33785 func (v *VerifierWorkspaceUpdate) UnmarshalJSON(data []byte) error { 33786 var rawMsg map[string]json.RawMessage 33787 if err := json.Unmarshal(data, &rawMsg); err != nil { 33788 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33789 } 33790 for key, val := range rawMsg { 33791 var err error 33792 switch key { 33793 case "properties": 33794 err = unpopulate(val, "Properties", &v.Properties) 33795 delete(rawMsg, key) 33796 case "tags": 33797 err = unpopulate(val, "Tags", &v.Tags) 33798 delete(rawMsg, key) 33799 } 33800 if err != nil { 33801 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33802 } 33803 } 33804 return nil 33805 } 33806 33807 // MarshalJSON implements the json.Marshaller interface for type VerifierWorkspaceUpdateProperties. 33808 func (v VerifierWorkspaceUpdateProperties) MarshalJSON() ([]byte, error) { 33809 objectMap := make(map[string]any) 33810 populate(objectMap, "description", v.Description) 33811 return json.Marshal(objectMap) 33812 } 33813 33814 // UnmarshalJSON implements the json.Unmarshaller interface for type VerifierWorkspaceUpdateProperties. 33815 func (v *VerifierWorkspaceUpdateProperties) UnmarshalJSON(data []byte) error { 33816 var rawMsg map[string]json.RawMessage 33817 if err := json.Unmarshal(data, &rawMsg); err != nil { 33818 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33819 } 33820 for key, val := range rawMsg { 33821 var err error 33822 switch key { 33823 case "description": 33824 err = unpopulate(val, "Description", &v.Description) 33825 delete(rawMsg, key) 33826 } 33827 if err != nil { 33828 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33829 } 33830 } 33831 return nil 33832 } 33833 33834 // MarshalJSON implements the json.Marshaller interface for type VirtualAppliance. 33835 func (v VirtualAppliance) MarshalJSON() ([]byte, error) { 33836 objectMap := make(map[string]any) 33837 populate(objectMap, "etag", v.Etag) 33838 populate(objectMap, "id", v.ID) 33839 populate(objectMap, "identity", v.Identity) 33840 populate(objectMap, "location", v.Location) 33841 populate(objectMap, "name", v.Name) 33842 populate(objectMap, "properties", v.Properties) 33843 populate(objectMap, "tags", v.Tags) 33844 populate(objectMap, "type", v.Type) 33845 return json.Marshal(objectMap) 33846 } 33847 33848 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualAppliance. 33849 func (v *VirtualAppliance) UnmarshalJSON(data []byte) error { 33850 var rawMsg map[string]json.RawMessage 33851 if err := json.Unmarshal(data, &rawMsg); err != nil { 33852 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33853 } 33854 for key, val := range rawMsg { 33855 var err error 33856 switch key { 33857 case "etag": 33858 err = unpopulate(val, "Etag", &v.Etag) 33859 delete(rawMsg, key) 33860 case "id": 33861 err = unpopulate(val, "ID", &v.ID) 33862 delete(rawMsg, key) 33863 case "identity": 33864 err = unpopulate(val, "Identity", &v.Identity) 33865 delete(rawMsg, key) 33866 case "location": 33867 err = unpopulate(val, "Location", &v.Location) 33868 delete(rawMsg, key) 33869 case "name": 33870 err = unpopulate(val, "Name", &v.Name) 33871 delete(rawMsg, key) 33872 case "properties": 33873 err = unpopulate(val, "Properties", &v.Properties) 33874 delete(rawMsg, key) 33875 case "tags": 33876 err = unpopulate(val, "Tags", &v.Tags) 33877 delete(rawMsg, key) 33878 case "type": 33879 err = unpopulate(val, "Type", &v.Type) 33880 delete(rawMsg, key) 33881 } 33882 if err != nil { 33883 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33884 } 33885 } 33886 return nil 33887 } 33888 33889 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceAdditionalNicProperties. 33890 func (v VirtualApplianceAdditionalNicProperties) MarshalJSON() ([]byte, error) { 33891 objectMap := make(map[string]any) 33892 populate(objectMap, "hasPublicIp", v.HasPublicIP) 33893 populate(objectMap, "name", v.Name) 33894 return json.Marshal(objectMap) 33895 } 33896 33897 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceAdditionalNicProperties. 33898 func (v *VirtualApplianceAdditionalNicProperties) UnmarshalJSON(data []byte) error { 33899 var rawMsg map[string]json.RawMessage 33900 if err := json.Unmarshal(data, &rawMsg); err != nil { 33901 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33902 } 33903 for key, val := range rawMsg { 33904 var err error 33905 switch key { 33906 case "hasPublicIp": 33907 err = unpopulate(val, "HasPublicIP", &v.HasPublicIP) 33908 delete(rawMsg, key) 33909 case "name": 33910 err = unpopulate(val, "Name", &v.Name) 33911 delete(rawMsg, key) 33912 } 33913 if err != nil { 33914 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33915 } 33916 } 33917 return nil 33918 } 33919 33920 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceConnection. 33921 func (v VirtualApplianceConnection) MarshalJSON() ([]byte, error) { 33922 objectMap := make(map[string]any) 33923 populate(objectMap, "id", v.ID) 33924 populate(objectMap, "name", v.Name) 33925 populate(objectMap, "properties", v.Properties) 33926 return json.Marshal(objectMap) 33927 } 33928 33929 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceConnection. 33930 func (v *VirtualApplianceConnection) UnmarshalJSON(data []byte) error { 33931 var rawMsg map[string]json.RawMessage 33932 if err := json.Unmarshal(data, &rawMsg); err != nil { 33933 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33934 } 33935 for key, val := range rawMsg { 33936 var err error 33937 switch key { 33938 case "id": 33939 err = unpopulate(val, "ID", &v.ID) 33940 delete(rawMsg, key) 33941 case "name": 33942 err = unpopulate(val, "Name", &v.Name) 33943 delete(rawMsg, key) 33944 case "properties": 33945 err = unpopulate(val, "Properties", &v.Properties) 33946 delete(rawMsg, key) 33947 } 33948 if err != nil { 33949 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33950 } 33951 } 33952 return nil 33953 } 33954 33955 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceConnectionList. 33956 func (v VirtualApplianceConnectionList) MarshalJSON() ([]byte, error) { 33957 objectMap := make(map[string]any) 33958 populate(objectMap, "nextLink", v.NextLink) 33959 populate(objectMap, "value", v.Value) 33960 return json.Marshal(objectMap) 33961 } 33962 33963 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceConnectionList. 33964 func (v *VirtualApplianceConnectionList) UnmarshalJSON(data []byte) error { 33965 var rawMsg map[string]json.RawMessage 33966 if err := json.Unmarshal(data, &rawMsg); err != nil { 33967 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33968 } 33969 for key, val := range rawMsg { 33970 var err error 33971 switch key { 33972 case "nextLink": 33973 err = unpopulate(val, "NextLink", &v.NextLink) 33974 delete(rawMsg, key) 33975 case "value": 33976 err = unpopulate(val, "Value", &v.Value) 33977 delete(rawMsg, key) 33978 } 33979 if err != nil { 33980 return fmt.Errorf("unmarshalling type %T: %v", v, err) 33981 } 33982 } 33983 return nil 33984 } 33985 33986 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceConnectionProperties. 33987 func (v VirtualApplianceConnectionProperties) MarshalJSON() ([]byte, error) { 33988 objectMap := make(map[string]any) 33989 populate(objectMap, "asn", v.Asn) 33990 populate(objectMap, "bgpPeerAddress", v.BgpPeerAddress) 33991 populate(objectMap, "enableInternetSecurity", v.EnableInternetSecurity) 33992 populate(objectMap, "name", v.Name) 33993 populate(objectMap, "provisioningState", v.ProvisioningState) 33994 populate(objectMap, "routingConfiguration", v.RoutingConfiguration) 33995 populate(objectMap, "tunnelIdentifier", v.TunnelIdentifier) 33996 return json.Marshal(objectMap) 33997 } 33998 33999 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceConnectionProperties. 34000 func (v *VirtualApplianceConnectionProperties) UnmarshalJSON(data []byte) error { 34001 var rawMsg map[string]json.RawMessage 34002 if err := json.Unmarshal(data, &rawMsg); err != nil { 34003 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34004 } 34005 for key, val := range rawMsg { 34006 var err error 34007 switch key { 34008 case "asn": 34009 err = unpopulate(val, "Asn", &v.Asn) 34010 delete(rawMsg, key) 34011 case "bgpPeerAddress": 34012 err = unpopulate(val, "BgpPeerAddress", &v.BgpPeerAddress) 34013 delete(rawMsg, key) 34014 case "enableInternetSecurity": 34015 err = unpopulate(val, "EnableInternetSecurity", &v.EnableInternetSecurity) 34016 delete(rawMsg, key) 34017 case "name": 34018 err = unpopulate(val, "Name", &v.Name) 34019 delete(rawMsg, key) 34020 case "provisioningState": 34021 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 34022 delete(rawMsg, key) 34023 case "routingConfiguration": 34024 err = unpopulate(val, "RoutingConfiguration", &v.RoutingConfiguration) 34025 delete(rawMsg, key) 34026 case "tunnelIdentifier": 34027 err = unpopulate(val, "TunnelIdentifier", &v.TunnelIdentifier) 34028 delete(rawMsg, key) 34029 } 34030 if err != nil { 34031 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34032 } 34033 } 34034 return nil 34035 } 34036 34037 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceIPConfiguration. 34038 func (v VirtualApplianceIPConfiguration) MarshalJSON() ([]byte, error) { 34039 objectMap := make(map[string]any) 34040 populate(objectMap, "name", v.Name) 34041 populate(objectMap, "properties", v.Properties) 34042 return json.Marshal(objectMap) 34043 } 34044 34045 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceIPConfiguration. 34046 func (v *VirtualApplianceIPConfiguration) UnmarshalJSON(data []byte) error { 34047 var rawMsg map[string]json.RawMessage 34048 if err := json.Unmarshal(data, &rawMsg); err != nil { 34049 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34050 } 34051 for key, val := range rawMsg { 34052 var err error 34053 switch key { 34054 case "name": 34055 err = unpopulate(val, "Name", &v.Name) 34056 delete(rawMsg, key) 34057 case "properties": 34058 err = unpopulate(val, "Properties", &v.Properties) 34059 delete(rawMsg, key) 34060 } 34061 if err != nil { 34062 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34063 } 34064 } 34065 return nil 34066 } 34067 34068 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceIPConfigurationProperties. 34069 func (v VirtualApplianceIPConfigurationProperties) MarshalJSON() ([]byte, error) { 34070 objectMap := make(map[string]any) 34071 populate(objectMap, "primary", v.Primary) 34072 return json.Marshal(objectMap) 34073 } 34074 34075 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceIPConfigurationProperties. 34076 func (v *VirtualApplianceIPConfigurationProperties) UnmarshalJSON(data []byte) error { 34077 var rawMsg map[string]json.RawMessage 34078 if err := json.Unmarshal(data, &rawMsg); err != nil { 34079 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34080 } 34081 for key, val := range rawMsg { 34082 var err error 34083 switch key { 34084 case "primary": 34085 err = unpopulate(val, "Primary", &v.Primary) 34086 delete(rawMsg, key) 34087 } 34088 if err != nil { 34089 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34090 } 34091 } 34092 return nil 34093 } 34094 34095 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceInstanceIDs. 34096 func (v VirtualApplianceInstanceIDs) MarshalJSON() ([]byte, error) { 34097 objectMap := make(map[string]any) 34098 populate(objectMap, "instanceIds", v.InstanceIDs) 34099 return json.Marshal(objectMap) 34100 } 34101 34102 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceInstanceIDs. 34103 func (v *VirtualApplianceInstanceIDs) UnmarshalJSON(data []byte) error { 34104 var rawMsg map[string]json.RawMessage 34105 if err := json.Unmarshal(data, &rawMsg); err != nil { 34106 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34107 } 34108 for key, val := range rawMsg { 34109 var err error 34110 switch key { 34111 case "instanceIds": 34112 err = unpopulate(val, "InstanceIDs", &v.InstanceIDs) 34113 delete(rawMsg, key) 34114 } 34115 if err != nil { 34116 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34117 } 34118 } 34119 return nil 34120 } 34121 34122 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceListResult. 34123 func (v VirtualApplianceListResult) MarshalJSON() ([]byte, error) { 34124 objectMap := make(map[string]any) 34125 populate(objectMap, "nextLink", v.NextLink) 34126 populate(objectMap, "value", v.Value) 34127 return json.Marshal(objectMap) 34128 } 34129 34130 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceListResult. 34131 func (v *VirtualApplianceListResult) UnmarshalJSON(data []byte) error { 34132 var rawMsg map[string]json.RawMessage 34133 if err := json.Unmarshal(data, &rawMsg); err != nil { 34134 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34135 } 34136 for key, val := range rawMsg { 34137 var err error 34138 switch key { 34139 case "nextLink": 34140 err = unpopulate(val, "NextLink", &v.NextLink) 34141 delete(rawMsg, key) 34142 case "value": 34143 err = unpopulate(val, "Value", &v.Value) 34144 delete(rawMsg, key) 34145 } 34146 if err != nil { 34147 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34148 } 34149 } 34150 return nil 34151 } 34152 34153 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceNetworkInterfaceConfiguration. 34154 func (v VirtualApplianceNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) { 34155 objectMap := make(map[string]any) 34156 populate(objectMap, "type", v.NicType) 34157 populate(objectMap, "properties", v.Properties) 34158 return json.Marshal(objectMap) 34159 } 34160 34161 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceNetworkInterfaceConfiguration. 34162 func (v *VirtualApplianceNetworkInterfaceConfiguration) UnmarshalJSON(data []byte) error { 34163 var rawMsg map[string]json.RawMessage 34164 if err := json.Unmarshal(data, &rawMsg); err != nil { 34165 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34166 } 34167 for key, val := range rawMsg { 34168 var err error 34169 switch key { 34170 case "type": 34171 err = unpopulate(val, "NicType", &v.NicType) 34172 delete(rawMsg, key) 34173 case "properties": 34174 err = unpopulate(val, "Properties", &v.Properties) 34175 delete(rawMsg, key) 34176 } 34177 if err != nil { 34178 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34179 } 34180 } 34181 return nil 34182 } 34183 34184 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceNetworkInterfaceConfigurationProperties. 34185 func (v VirtualApplianceNetworkInterfaceConfigurationProperties) MarshalJSON() ([]byte, error) { 34186 objectMap := make(map[string]any) 34187 populate(objectMap, "ipConfigurations", v.IPConfigurations) 34188 return json.Marshal(objectMap) 34189 } 34190 34191 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceNetworkInterfaceConfigurationProperties. 34192 func (v *VirtualApplianceNetworkInterfaceConfigurationProperties) UnmarshalJSON(data []byte) error { 34193 var rawMsg map[string]json.RawMessage 34194 if err := json.Unmarshal(data, &rawMsg); err != nil { 34195 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34196 } 34197 for key, val := range rawMsg { 34198 var err error 34199 switch key { 34200 case "ipConfigurations": 34201 err = unpopulate(val, "IPConfigurations", &v.IPConfigurations) 34202 delete(rawMsg, key) 34203 } 34204 if err != nil { 34205 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34206 } 34207 } 34208 return nil 34209 } 34210 34211 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceNicProperties. 34212 func (v VirtualApplianceNicProperties) MarshalJSON() ([]byte, error) { 34213 objectMap := make(map[string]any) 34214 populate(objectMap, "instanceName", v.InstanceName) 34215 populate(objectMap, "name", v.Name) 34216 populate(objectMap, "nicType", v.NicType) 34217 populate(objectMap, "privateIpAddress", v.PrivateIPAddress) 34218 populate(objectMap, "publicIpAddress", v.PublicIPAddress) 34219 return json.Marshal(objectMap) 34220 } 34221 34222 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceNicProperties. 34223 func (v *VirtualApplianceNicProperties) UnmarshalJSON(data []byte) error { 34224 var rawMsg map[string]json.RawMessage 34225 if err := json.Unmarshal(data, &rawMsg); err != nil { 34226 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34227 } 34228 for key, val := range rawMsg { 34229 var err error 34230 switch key { 34231 case "instanceName": 34232 err = unpopulate(val, "InstanceName", &v.InstanceName) 34233 delete(rawMsg, key) 34234 case "name": 34235 err = unpopulate(val, "Name", &v.Name) 34236 delete(rawMsg, key) 34237 case "nicType": 34238 err = unpopulate(val, "NicType", &v.NicType) 34239 delete(rawMsg, key) 34240 case "privateIpAddress": 34241 err = unpopulate(val, "PrivateIPAddress", &v.PrivateIPAddress) 34242 delete(rawMsg, key) 34243 case "publicIpAddress": 34244 err = unpopulate(val, "PublicIPAddress", &v.PublicIPAddress) 34245 delete(rawMsg, key) 34246 } 34247 if err != nil { 34248 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34249 } 34250 } 34251 return nil 34252 } 34253 34254 // MarshalJSON implements the json.Marshaller interface for type VirtualAppliancePropertiesFormat. 34255 func (v VirtualAppliancePropertiesFormat) MarshalJSON() ([]byte, error) { 34256 objectMap := make(map[string]any) 34257 populate(objectMap, "additionalNics", v.AdditionalNics) 34258 populate(objectMap, "addressPrefix", v.AddressPrefix) 34259 populate(objectMap, "bootStrapConfigurationBlobs", v.BootStrapConfigurationBlobs) 34260 populate(objectMap, "cloudInitConfiguration", v.CloudInitConfiguration) 34261 populate(objectMap, "cloudInitConfigurationBlobs", v.CloudInitConfigurationBlobs) 34262 populate(objectMap, "delegation", v.Delegation) 34263 populate(objectMap, "deploymentType", v.DeploymentType) 34264 populate(objectMap, "inboundSecurityRules", v.InboundSecurityRules) 34265 populate(objectMap, "internetIngressPublicIps", v.InternetIngressPublicIPs) 34266 populate(objectMap, "networkProfile", v.NetworkProfile) 34267 populate(objectMap, "nvaSku", v.NvaSKU) 34268 populate(objectMap, "partnerManagedResource", v.PartnerManagedResource) 34269 populate(objectMap, "provisioningState", v.ProvisioningState) 34270 populate(objectMap, "sshPublicKey", v.SSHPublicKey) 34271 populate(objectMap, "virtualApplianceAsn", v.VirtualApplianceAsn) 34272 populate(objectMap, "virtualApplianceConnections", v.VirtualApplianceConnections) 34273 populate(objectMap, "virtualApplianceNics", v.VirtualApplianceNics) 34274 populate(objectMap, "virtualApplianceSites", v.VirtualApplianceSites) 34275 populate(objectMap, "virtualHub", v.VirtualHub) 34276 return json.Marshal(objectMap) 34277 } 34278 34279 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualAppliancePropertiesFormat. 34280 func (v *VirtualAppliancePropertiesFormat) UnmarshalJSON(data []byte) error { 34281 var rawMsg map[string]json.RawMessage 34282 if err := json.Unmarshal(data, &rawMsg); err != nil { 34283 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34284 } 34285 for key, val := range rawMsg { 34286 var err error 34287 switch key { 34288 case "additionalNics": 34289 err = unpopulate(val, "AdditionalNics", &v.AdditionalNics) 34290 delete(rawMsg, key) 34291 case "addressPrefix": 34292 err = unpopulate(val, "AddressPrefix", &v.AddressPrefix) 34293 delete(rawMsg, key) 34294 case "bootStrapConfigurationBlobs": 34295 err = unpopulate(val, "BootStrapConfigurationBlobs", &v.BootStrapConfigurationBlobs) 34296 delete(rawMsg, key) 34297 case "cloudInitConfiguration": 34298 err = unpopulate(val, "CloudInitConfiguration", &v.CloudInitConfiguration) 34299 delete(rawMsg, key) 34300 case "cloudInitConfigurationBlobs": 34301 err = unpopulate(val, "CloudInitConfigurationBlobs", &v.CloudInitConfigurationBlobs) 34302 delete(rawMsg, key) 34303 case "delegation": 34304 err = unpopulate(val, "Delegation", &v.Delegation) 34305 delete(rawMsg, key) 34306 case "deploymentType": 34307 err = unpopulate(val, "DeploymentType", &v.DeploymentType) 34308 delete(rawMsg, key) 34309 case "inboundSecurityRules": 34310 err = unpopulate(val, "InboundSecurityRules", &v.InboundSecurityRules) 34311 delete(rawMsg, key) 34312 case "internetIngressPublicIps": 34313 err = unpopulate(val, "InternetIngressPublicIPs", &v.InternetIngressPublicIPs) 34314 delete(rawMsg, key) 34315 case "networkProfile": 34316 err = unpopulate(val, "NetworkProfile", &v.NetworkProfile) 34317 delete(rawMsg, key) 34318 case "nvaSku": 34319 err = unpopulate(val, "NvaSKU", &v.NvaSKU) 34320 delete(rawMsg, key) 34321 case "partnerManagedResource": 34322 err = unpopulate(val, "PartnerManagedResource", &v.PartnerManagedResource) 34323 delete(rawMsg, key) 34324 case "provisioningState": 34325 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 34326 delete(rawMsg, key) 34327 case "sshPublicKey": 34328 err = unpopulate(val, "SSHPublicKey", &v.SSHPublicKey) 34329 delete(rawMsg, key) 34330 case "virtualApplianceAsn": 34331 err = unpopulate(val, "VirtualApplianceAsn", &v.VirtualApplianceAsn) 34332 delete(rawMsg, key) 34333 case "virtualApplianceConnections": 34334 err = unpopulate(val, "VirtualApplianceConnections", &v.VirtualApplianceConnections) 34335 delete(rawMsg, key) 34336 case "virtualApplianceNics": 34337 err = unpopulate(val, "VirtualApplianceNics", &v.VirtualApplianceNics) 34338 delete(rawMsg, key) 34339 case "virtualApplianceSites": 34340 err = unpopulate(val, "VirtualApplianceSites", &v.VirtualApplianceSites) 34341 delete(rawMsg, key) 34342 case "virtualHub": 34343 err = unpopulate(val, "VirtualHub", &v.VirtualHub) 34344 delete(rawMsg, key) 34345 } 34346 if err != nil { 34347 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34348 } 34349 } 34350 return nil 34351 } 34352 34353 // MarshalJSON implements the json.Marshaller interface for type VirtualAppliancePropertiesFormatNetworkProfile. 34354 func (v VirtualAppliancePropertiesFormatNetworkProfile) MarshalJSON() ([]byte, error) { 34355 objectMap := make(map[string]any) 34356 populate(objectMap, "networkInterfaceConfigurations", v.NetworkInterfaceConfigurations) 34357 return json.Marshal(objectMap) 34358 } 34359 34360 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualAppliancePropertiesFormatNetworkProfile. 34361 func (v *VirtualAppliancePropertiesFormatNetworkProfile) UnmarshalJSON(data []byte) error { 34362 var rawMsg map[string]json.RawMessage 34363 if err := json.Unmarshal(data, &rawMsg); err != nil { 34364 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34365 } 34366 for key, val := range rawMsg { 34367 var err error 34368 switch key { 34369 case "networkInterfaceConfigurations": 34370 err = unpopulate(val, "NetworkInterfaceConfigurations", &v.NetworkInterfaceConfigurations) 34371 delete(rawMsg, key) 34372 } 34373 if err != nil { 34374 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34375 } 34376 } 34377 return nil 34378 } 34379 34380 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSKU. 34381 func (v VirtualApplianceSKU) MarshalJSON() ([]byte, error) { 34382 objectMap := make(map[string]any) 34383 populate(objectMap, "etag", v.Etag) 34384 populate(objectMap, "id", v.ID) 34385 populate(objectMap, "location", v.Location) 34386 populate(objectMap, "name", v.Name) 34387 populate(objectMap, "properties", v.Properties) 34388 populate(objectMap, "tags", v.Tags) 34389 populate(objectMap, "type", v.Type) 34390 return json.Marshal(objectMap) 34391 } 34392 34393 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSKU. 34394 func (v *VirtualApplianceSKU) UnmarshalJSON(data []byte) error { 34395 var rawMsg map[string]json.RawMessage 34396 if err := json.Unmarshal(data, &rawMsg); err != nil { 34397 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34398 } 34399 for key, val := range rawMsg { 34400 var err error 34401 switch key { 34402 case "etag": 34403 err = unpopulate(val, "Etag", &v.Etag) 34404 delete(rawMsg, key) 34405 case "id": 34406 err = unpopulate(val, "ID", &v.ID) 34407 delete(rawMsg, key) 34408 case "location": 34409 err = unpopulate(val, "Location", &v.Location) 34410 delete(rawMsg, key) 34411 case "name": 34412 err = unpopulate(val, "Name", &v.Name) 34413 delete(rawMsg, key) 34414 case "properties": 34415 err = unpopulate(val, "Properties", &v.Properties) 34416 delete(rawMsg, key) 34417 case "tags": 34418 err = unpopulate(val, "Tags", &v.Tags) 34419 delete(rawMsg, key) 34420 case "type": 34421 err = unpopulate(val, "Type", &v.Type) 34422 delete(rawMsg, key) 34423 } 34424 if err != nil { 34425 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34426 } 34427 } 34428 return nil 34429 } 34430 34431 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSKUInstances. 34432 func (v VirtualApplianceSKUInstances) MarshalJSON() ([]byte, error) { 34433 objectMap := make(map[string]any) 34434 populate(objectMap, "instanceCount", v.InstanceCount) 34435 populate(objectMap, "scaleUnit", v.ScaleUnit) 34436 return json.Marshal(objectMap) 34437 } 34438 34439 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSKUInstances. 34440 func (v *VirtualApplianceSKUInstances) UnmarshalJSON(data []byte) error { 34441 var rawMsg map[string]json.RawMessage 34442 if err := json.Unmarshal(data, &rawMsg); err != nil { 34443 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34444 } 34445 for key, val := range rawMsg { 34446 var err error 34447 switch key { 34448 case "instanceCount": 34449 err = unpopulate(val, "InstanceCount", &v.InstanceCount) 34450 delete(rawMsg, key) 34451 case "scaleUnit": 34452 err = unpopulate(val, "ScaleUnit", &v.ScaleUnit) 34453 delete(rawMsg, key) 34454 } 34455 if err != nil { 34456 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34457 } 34458 } 34459 return nil 34460 } 34461 34462 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSKUListResult. 34463 func (v VirtualApplianceSKUListResult) MarshalJSON() ([]byte, error) { 34464 objectMap := make(map[string]any) 34465 populate(objectMap, "nextLink", v.NextLink) 34466 populate(objectMap, "value", v.Value) 34467 return json.Marshal(objectMap) 34468 } 34469 34470 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSKUListResult. 34471 func (v *VirtualApplianceSKUListResult) UnmarshalJSON(data []byte) error { 34472 var rawMsg map[string]json.RawMessage 34473 if err := json.Unmarshal(data, &rawMsg); err != nil { 34474 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34475 } 34476 for key, val := range rawMsg { 34477 var err error 34478 switch key { 34479 case "nextLink": 34480 err = unpopulate(val, "NextLink", &v.NextLink) 34481 delete(rawMsg, key) 34482 case "value": 34483 err = unpopulate(val, "Value", &v.Value) 34484 delete(rawMsg, key) 34485 } 34486 if err != nil { 34487 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34488 } 34489 } 34490 return nil 34491 } 34492 34493 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSKUProperties. 34494 func (v VirtualApplianceSKUProperties) MarshalJSON() ([]byte, error) { 34495 objectMap := make(map[string]any) 34496 populate(objectMap, "bundledScaleUnit", v.BundledScaleUnit) 34497 populate(objectMap, "marketPlaceVersion", v.MarketPlaceVersion) 34498 populate(objectMap, "vendor", v.Vendor) 34499 return json.Marshal(objectMap) 34500 } 34501 34502 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSKUProperties. 34503 func (v *VirtualApplianceSKUProperties) UnmarshalJSON(data []byte) error { 34504 var rawMsg map[string]json.RawMessage 34505 if err := json.Unmarshal(data, &rawMsg); err != nil { 34506 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34507 } 34508 for key, val := range rawMsg { 34509 var err error 34510 switch key { 34511 case "bundledScaleUnit": 34512 err = unpopulate(val, "BundledScaleUnit", &v.BundledScaleUnit) 34513 delete(rawMsg, key) 34514 case "marketPlaceVersion": 34515 err = unpopulate(val, "MarketPlaceVersion", &v.MarketPlaceVersion) 34516 delete(rawMsg, key) 34517 case "vendor": 34518 err = unpopulate(val, "Vendor", &v.Vendor) 34519 delete(rawMsg, key) 34520 } 34521 if err != nil { 34522 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34523 } 34524 } 34525 return nil 34526 } 34527 34528 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSKUPropertiesFormat. 34529 func (v VirtualApplianceSKUPropertiesFormat) MarshalJSON() ([]byte, error) { 34530 objectMap := make(map[string]any) 34531 populate(objectMap, "availableScaleUnits", v.AvailableScaleUnits) 34532 populate(objectMap, "availableVersions", v.AvailableVersions) 34533 populate(objectMap, "vendor", v.Vendor) 34534 return json.Marshal(objectMap) 34535 } 34536 34537 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSKUPropertiesFormat. 34538 func (v *VirtualApplianceSKUPropertiesFormat) UnmarshalJSON(data []byte) error { 34539 var rawMsg map[string]json.RawMessage 34540 if err := json.Unmarshal(data, &rawMsg); err != nil { 34541 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34542 } 34543 for key, val := range rawMsg { 34544 var err error 34545 switch key { 34546 case "availableScaleUnits": 34547 err = unpopulate(val, "AvailableScaleUnits", &v.AvailableScaleUnits) 34548 delete(rawMsg, key) 34549 case "availableVersions": 34550 err = unpopulate(val, "AvailableVersions", &v.AvailableVersions) 34551 delete(rawMsg, key) 34552 case "vendor": 34553 err = unpopulate(val, "Vendor", &v.Vendor) 34554 delete(rawMsg, key) 34555 } 34556 if err != nil { 34557 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34558 } 34559 } 34560 return nil 34561 } 34562 34563 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSite. 34564 func (v VirtualApplianceSite) MarshalJSON() ([]byte, error) { 34565 objectMap := make(map[string]any) 34566 populate(objectMap, "etag", v.Etag) 34567 populate(objectMap, "id", v.ID) 34568 populate(objectMap, "name", v.Name) 34569 populate(objectMap, "properties", v.Properties) 34570 populate(objectMap, "type", v.Type) 34571 return json.Marshal(objectMap) 34572 } 34573 34574 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSite. 34575 func (v *VirtualApplianceSite) UnmarshalJSON(data []byte) error { 34576 var rawMsg map[string]json.RawMessage 34577 if err := json.Unmarshal(data, &rawMsg); err != nil { 34578 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34579 } 34580 for key, val := range rawMsg { 34581 var err error 34582 switch key { 34583 case "etag": 34584 err = unpopulate(val, "Etag", &v.Etag) 34585 delete(rawMsg, key) 34586 case "id": 34587 err = unpopulate(val, "ID", &v.ID) 34588 delete(rawMsg, key) 34589 case "name": 34590 err = unpopulate(val, "Name", &v.Name) 34591 delete(rawMsg, key) 34592 case "properties": 34593 err = unpopulate(val, "Properties", &v.Properties) 34594 delete(rawMsg, key) 34595 case "type": 34596 err = unpopulate(val, "Type", &v.Type) 34597 delete(rawMsg, key) 34598 } 34599 if err != nil { 34600 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34601 } 34602 } 34603 return nil 34604 } 34605 34606 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSiteListResult. 34607 func (v VirtualApplianceSiteListResult) MarshalJSON() ([]byte, error) { 34608 objectMap := make(map[string]any) 34609 populate(objectMap, "nextLink", v.NextLink) 34610 populate(objectMap, "value", v.Value) 34611 return json.Marshal(objectMap) 34612 } 34613 34614 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSiteListResult. 34615 func (v *VirtualApplianceSiteListResult) UnmarshalJSON(data []byte) error { 34616 var rawMsg map[string]json.RawMessage 34617 if err := json.Unmarshal(data, &rawMsg); err != nil { 34618 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34619 } 34620 for key, val := range rawMsg { 34621 var err error 34622 switch key { 34623 case "nextLink": 34624 err = unpopulate(val, "NextLink", &v.NextLink) 34625 delete(rawMsg, key) 34626 case "value": 34627 err = unpopulate(val, "Value", &v.Value) 34628 delete(rawMsg, key) 34629 } 34630 if err != nil { 34631 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34632 } 34633 } 34634 return nil 34635 } 34636 34637 // MarshalJSON implements the json.Marshaller interface for type VirtualApplianceSiteProperties. 34638 func (v VirtualApplianceSiteProperties) MarshalJSON() ([]byte, error) { 34639 objectMap := make(map[string]any) 34640 populate(objectMap, "addressPrefix", v.AddressPrefix) 34641 populate(objectMap, "o365Policy", v.O365Policy) 34642 populate(objectMap, "provisioningState", v.ProvisioningState) 34643 return json.Marshal(objectMap) 34644 } 34645 34646 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualApplianceSiteProperties. 34647 func (v *VirtualApplianceSiteProperties) UnmarshalJSON(data []byte) error { 34648 var rawMsg map[string]json.RawMessage 34649 if err := json.Unmarshal(data, &rawMsg); err != nil { 34650 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34651 } 34652 for key, val := range rawMsg { 34653 var err error 34654 switch key { 34655 case "addressPrefix": 34656 err = unpopulate(val, "AddressPrefix", &v.AddressPrefix) 34657 delete(rawMsg, key) 34658 case "o365Policy": 34659 err = unpopulate(val, "O365Policy", &v.O365Policy) 34660 delete(rawMsg, key) 34661 case "provisioningState": 34662 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 34663 delete(rawMsg, key) 34664 } 34665 if err != nil { 34666 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34667 } 34668 } 34669 return nil 34670 } 34671 34672 // MarshalJSON implements the json.Marshaller interface for type VirtualHub. 34673 func (v VirtualHub) MarshalJSON() ([]byte, error) { 34674 objectMap := make(map[string]any) 34675 populate(objectMap, "etag", v.Etag) 34676 populate(objectMap, "id", v.ID) 34677 populate(objectMap, "kind", v.Kind) 34678 populate(objectMap, "location", v.Location) 34679 populate(objectMap, "name", v.Name) 34680 populate(objectMap, "properties", v.Properties) 34681 populate(objectMap, "tags", v.Tags) 34682 populate(objectMap, "type", v.Type) 34683 return json.Marshal(objectMap) 34684 } 34685 34686 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHub. 34687 func (v *VirtualHub) UnmarshalJSON(data []byte) error { 34688 var rawMsg map[string]json.RawMessage 34689 if err := json.Unmarshal(data, &rawMsg); err != nil { 34690 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34691 } 34692 for key, val := range rawMsg { 34693 var err error 34694 switch key { 34695 case "etag": 34696 err = unpopulate(val, "Etag", &v.Etag) 34697 delete(rawMsg, key) 34698 case "id": 34699 err = unpopulate(val, "ID", &v.ID) 34700 delete(rawMsg, key) 34701 case "kind": 34702 err = unpopulate(val, "Kind", &v.Kind) 34703 delete(rawMsg, key) 34704 case "location": 34705 err = unpopulate(val, "Location", &v.Location) 34706 delete(rawMsg, key) 34707 case "name": 34708 err = unpopulate(val, "Name", &v.Name) 34709 delete(rawMsg, key) 34710 case "properties": 34711 err = unpopulate(val, "Properties", &v.Properties) 34712 delete(rawMsg, key) 34713 case "tags": 34714 err = unpopulate(val, "Tags", &v.Tags) 34715 delete(rawMsg, key) 34716 case "type": 34717 err = unpopulate(val, "Type", &v.Type) 34718 delete(rawMsg, key) 34719 } 34720 if err != nil { 34721 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34722 } 34723 } 34724 return nil 34725 } 34726 34727 // MarshalJSON implements the json.Marshaller interface for type VirtualHubEffectiveRoute. 34728 func (v VirtualHubEffectiveRoute) MarshalJSON() ([]byte, error) { 34729 objectMap := make(map[string]any) 34730 populate(objectMap, "addressPrefixes", v.AddressPrefixes) 34731 populate(objectMap, "asPath", v.AsPath) 34732 populate(objectMap, "nextHopType", v.NextHopType) 34733 populate(objectMap, "nextHops", v.NextHops) 34734 populate(objectMap, "routeOrigin", v.RouteOrigin) 34735 return json.Marshal(objectMap) 34736 } 34737 34738 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubEffectiveRoute. 34739 func (v *VirtualHubEffectiveRoute) UnmarshalJSON(data []byte) error { 34740 var rawMsg map[string]json.RawMessage 34741 if err := json.Unmarshal(data, &rawMsg); err != nil { 34742 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34743 } 34744 for key, val := range rawMsg { 34745 var err error 34746 switch key { 34747 case "addressPrefixes": 34748 err = unpopulate(val, "AddressPrefixes", &v.AddressPrefixes) 34749 delete(rawMsg, key) 34750 case "asPath": 34751 err = unpopulate(val, "AsPath", &v.AsPath) 34752 delete(rawMsg, key) 34753 case "nextHopType": 34754 err = unpopulate(val, "NextHopType", &v.NextHopType) 34755 delete(rawMsg, key) 34756 case "nextHops": 34757 err = unpopulate(val, "NextHops", &v.NextHops) 34758 delete(rawMsg, key) 34759 case "routeOrigin": 34760 err = unpopulate(val, "RouteOrigin", &v.RouteOrigin) 34761 delete(rawMsg, key) 34762 } 34763 if err != nil { 34764 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34765 } 34766 } 34767 return nil 34768 } 34769 34770 // MarshalJSON implements the json.Marshaller interface for type VirtualHubEffectiveRouteList. 34771 func (v VirtualHubEffectiveRouteList) MarshalJSON() ([]byte, error) { 34772 objectMap := make(map[string]any) 34773 populate(objectMap, "value", v.Value) 34774 return json.Marshal(objectMap) 34775 } 34776 34777 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubEffectiveRouteList. 34778 func (v *VirtualHubEffectiveRouteList) UnmarshalJSON(data []byte) error { 34779 var rawMsg map[string]json.RawMessage 34780 if err := json.Unmarshal(data, &rawMsg); err != nil { 34781 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34782 } 34783 for key, val := range rawMsg { 34784 var err error 34785 switch key { 34786 case "value": 34787 err = unpopulate(val, "Value", &v.Value) 34788 delete(rawMsg, key) 34789 } 34790 if err != nil { 34791 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34792 } 34793 } 34794 return nil 34795 } 34796 34797 // MarshalJSON implements the json.Marshaller interface for type VirtualHubID. 34798 func (v VirtualHubID) MarshalJSON() ([]byte, error) { 34799 objectMap := make(map[string]any) 34800 populate(objectMap, "id", v.ID) 34801 return json.Marshal(objectMap) 34802 } 34803 34804 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubID. 34805 func (v *VirtualHubID) UnmarshalJSON(data []byte) error { 34806 var rawMsg map[string]json.RawMessage 34807 if err := json.Unmarshal(data, &rawMsg); err != nil { 34808 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34809 } 34810 for key, val := range rawMsg { 34811 var err error 34812 switch key { 34813 case "id": 34814 err = unpopulate(val, "ID", &v.ID) 34815 delete(rawMsg, key) 34816 } 34817 if err != nil { 34818 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34819 } 34820 } 34821 return nil 34822 } 34823 34824 // MarshalJSON implements the json.Marshaller interface for type VirtualHubProperties. 34825 func (v VirtualHubProperties) MarshalJSON() ([]byte, error) { 34826 objectMap := make(map[string]any) 34827 populate(objectMap, "addressPrefix", v.AddressPrefix) 34828 populate(objectMap, "allowBranchToBranchTraffic", v.AllowBranchToBranchTraffic) 34829 populate(objectMap, "azureFirewall", v.AzureFirewall) 34830 populate(objectMap, "bgpConnections", v.BgpConnections) 34831 populate(objectMap, "expressRouteGateway", v.ExpressRouteGateway) 34832 populate(objectMap, "hubRoutingPreference", v.HubRoutingPreference) 34833 populate(objectMap, "ipConfigurations", v.IPConfigurations) 34834 populate(objectMap, "p2SVpnGateway", v.P2SVPNGateway) 34835 populate(objectMap, "preferredRoutingGateway", v.PreferredRoutingGateway) 34836 populate(objectMap, "provisioningState", v.ProvisioningState) 34837 populate(objectMap, "routeMaps", v.RouteMaps) 34838 populate(objectMap, "routeTable", v.RouteTable) 34839 populate(objectMap, "routingState", v.RoutingState) 34840 populate(objectMap, "sku", v.SKU) 34841 populate(objectMap, "securityPartnerProvider", v.SecurityPartnerProvider) 34842 populate(objectMap, "securityProviderName", v.SecurityProviderName) 34843 populate(objectMap, "vpnGateway", v.VPNGateway) 34844 populate(objectMap, "virtualHubRouteTableV2s", v.VirtualHubRouteTableV2S) 34845 populate(objectMap, "virtualRouterAsn", v.VirtualRouterAsn) 34846 populate(objectMap, "virtualRouterAutoScaleConfiguration", v.VirtualRouterAutoScaleConfiguration) 34847 populate(objectMap, "virtualRouterIps", v.VirtualRouterIPs) 34848 populate(objectMap, "virtualWan", v.VirtualWan) 34849 return json.Marshal(objectMap) 34850 } 34851 34852 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubProperties. 34853 func (v *VirtualHubProperties) UnmarshalJSON(data []byte) error { 34854 var rawMsg map[string]json.RawMessage 34855 if err := json.Unmarshal(data, &rawMsg); err != nil { 34856 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34857 } 34858 for key, val := range rawMsg { 34859 var err error 34860 switch key { 34861 case "addressPrefix": 34862 err = unpopulate(val, "AddressPrefix", &v.AddressPrefix) 34863 delete(rawMsg, key) 34864 case "allowBranchToBranchTraffic": 34865 err = unpopulate(val, "AllowBranchToBranchTraffic", &v.AllowBranchToBranchTraffic) 34866 delete(rawMsg, key) 34867 case "azureFirewall": 34868 err = unpopulate(val, "AzureFirewall", &v.AzureFirewall) 34869 delete(rawMsg, key) 34870 case "bgpConnections": 34871 err = unpopulate(val, "BgpConnections", &v.BgpConnections) 34872 delete(rawMsg, key) 34873 case "expressRouteGateway": 34874 err = unpopulate(val, "ExpressRouteGateway", &v.ExpressRouteGateway) 34875 delete(rawMsg, key) 34876 case "hubRoutingPreference": 34877 err = unpopulate(val, "HubRoutingPreference", &v.HubRoutingPreference) 34878 delete(rawMsg, key) 34879 case "ipConfigurations": 34880 err = unpopulate(val, "IPConfigurations", &v.IPConfigurations) 34881 delete(rawMsg, key) 34882 case "p2SVpnGateway": 34883 err = unpopulate(val, "P2SVPNGateway", &v.P2SVPNGateway) 34884 delete(rawMsg, key) 34885 case "preferredRoutingGateway": 34886 err = unpopulate(val, "PreferredRoutingGateway", &v.PreferredRoutingGateway) 34887 delete(rawMsg, key) 34888 case "provisioningState": 34889 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 34890 delete(rawMsg, key) 34891 case "routeMaps": 34892 err = unpopulate(val, "RouteMaps", &v.RouteMaps) 34893 delete(rawMsg, key) 34894 case "routeTable": 34895 err = unpopulate(val, "RouteTable", &v.RouteTable) 34896 delete(rawMsg, key) 34897 case "routingState": 34898 err = unpopulate(val, "RoutingState", &v.RoutingState) 34899 delete(rawMsg, key) 34900 case "sku": 34901 err = unpopulate(val, "SKU", &v.SKU) 34902 delete(rawMsg, key) 34903 case "securityPartnerProvider": 34904 err = unpopulate(val, "SecurityPartnerProvider", &v.SecurityPartnerProvider) 34905 delete(rawMsg, key) 34906 case "securityProviderName": 34907 err = unpopulate(val, "SecurityProviderName", &v.SecurityProviderName) 34908 delete(rawMsg, key) 34909 case "vpnGateway": 34910 err = unpopulate(val, "VPNGateway", &v.VPNGateway) 34911 delete(rawMsg, key) 34912 case "virtualHubRouteTableV2s": 34913 err = unpopulate(val, "VirtualHubRouteTableV2S", &v.VirtualHubRouteTableV2S) 34914 delete(rawMsg, key) 34915 case "virtualRouterAsn": 34916 err = unpopulate(val, "VirtualRouterAsn", &v.VirtualRouterAsn) 34917 delete(rawMsg, key) 34918 case "virtualRouterAutoScaleConfiguration": 34919 err = unpopulate(val, "VirtualRouterAutoScaleConfiguration", &v.VirtualRouterAutoScaleConfiguration) 34920 delete(rawMsg, key) 34921 case "virtualRouterIps": 34922 err = unpopulate(val, "VirtualRouterIPs", &v.VirtualRouterIPs) 34923 delete(rawMsg, key) 34924 case "virtualWan": 34925 err = unpopulate(val, "VirtualWan", &v.VirtualWan) 34926 delete(rawMsg, key) 34927 } 34928 if err != nil { 34929 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34930 } 34931 } 34932 return nil 34933 } 34934 34935 // MarshalJSON implements the json.Marshaller interface for type VirtualHubRoute. 34936 func (v VirtualHubRoute) MarshalJSON() ([]byte, error) { 34937 objectMap := make(map[string]any) 34938 populate(objectMap, "addressPrefixes", v.AddressPrefixes) 34939 populate(objectMap, "nextHopIpAddress", v.NextHopIPAddress) 34940 return json.Marshal(objectMap) 34941 } 34942 34943 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubRoute. 34944 func (v *VirtualHubRoute) UnmarshalJSON(data []byte) error { 34945 var rawMsg map[string]json.RawMessage 34946 if err := json.Unmarshal(data, &rawMsg); err != nil { 34947 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34948 } 34949 for key, val := range rawMsg { 34950 var err error 34951 switch key { 34952 case "addressPrefixes": 34953 err = unpopulate(val, "AddressPrefixes", &v.AddressPrefixes) 34954 delete(rawMsg, key) 34955 case "nextHopIpAddress": 34956 err = unpopulate(val, "NextHopIPAddress", &v.NextHopIPAddress) 34957 delete(rawMsg, key) 34958 } 34959 if err != nil { 34960 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34961 } 34962 } 34963 return nil 34964 } 34965 34966 // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTable. 34967 func (v VirtualHubRouteTable) MarshalJSON() ([]byte, error) { 34968 objectMap := make(map[string]any) 34969 populate(objectMap, "routes", v.Routes) 34970 return json.Marshal(objectMap) 34971 } 34972 34973 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubRouteTable. 34974 func (v *VirtualHubRouteTable) UnmarshalJSON(data []byte) error { 34975 var rawMsg map[string]json.RawMessage 34976 if err := json.Unmarshal(data, &rawMsg); err != nil { 34977 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34978 } 34979 for key, val := range rawMsg { 34980 var err error 34981 switch key { 34982 case "routes": 34983 err = unpopulate(val, "Routes", &v.Routes) 34984 delete(rawMsg, key) 34985 } 34986 if err != nil { 34987 return fmt.Errorf("unmarshalling type %T: %v", v, err) 34988 } 34989 } 34990 return nil 34991 } 34992 34993 // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTableV2. 34994 func (v VirtualHubRouteTableV2) MarshalJSON() ([]byte, error) { 34995 objectMap := make(map[string]any) 34996 populate(objectMap, "etag", v.Etag) 34997 populate(objectMap, "id", v.ID) 34998 populate(objectMap, "name", v.Name) 34999 populate(objectMap, "properties", v.Properties) 35000 return json.Marshal(objectMap) 35001 } 35002 35003 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubRouteTableV2. 35004 func (v *VirtualHubRouteTableV2) UnmarshalJSON(data []byte) error { 35005 var rawMsg map[string]json.RawMessage 35006 if err := json.Unmarshal(data, &rawMsg); err != nil { 35007 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35008 } 35009 for key, val := range rawMsg { 35010 var err error 35011 switch key { 35012 case "etag": 35013 err = unpopulate(val, "Etag", &v.Etag) 35014 delete(rawMsg, key) 35015 case "id": 35016 err = unpopulate(val, "ID", &v.ID) 35017 delete(rawMsg, key) 35018 case "name": 35019 err = unpopulate(val, "Name", &v.Name) 35020 delete(rawMsg, key) 35021 case "properties": 35022 err = unpopulate(val, "Properties", &v.Properties) 35023 delete(rawMsg, key) 35024 } 35025 if err != nil { 35026 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35027 } 35028 } 35029 return nil 35030 } 35031 35032 // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteTableV2Properties. 35033 func (v VirtualHubRouteTableV2Properties) MarshalJSON() ([]byte, error) { 35034 objectMap := make(map[string]any) 35035 populate(objectMap, "attachedConnections", v.AttachedConnections) 35036 populate(objectMap, "provisioningState", v.ProvisioningState) 35037 populate(objectMap, "routes", v.Routes) 35038 return json.Marshal(objectMap) 35039 } 35040 35041 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubRouteTableV2Properties. 35042 func (v *VirtualHubRouteTableV2Properties) UnmarshalJSON(data []byte) error { 35043 var rawMsg map[string]json.RawMessage 35044 if err := json.Unmarshal(data, &rawMsg); err != nil { 35045 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35046 } 35047 for key, val := range rawMsg { 35048 var err error 35049 switch key { 35050 case "attachedConnections": 35051 err = unpopulate(val, "AttachedConnections", &v.AttachedConnections) 35052 delete(rawMsg, key) 35053 case "provisioningState": 35054 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 35055 delete(rawMsg, key) 35056 case "routes": 35057 err = unpopulate(val, "Routes", &v.Routes) 35058 delete(rawMsg, key) 35059 } 35060 if err != nil { 35061 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35062 } 35063 } 35064 return nil 35065 } 35066 35067 // MarshalJSON implements the json.Marshaller interface for type VirtualHubRouteV2. 35068 func (v VirtualHubRouteV2) MarshalJSON() ([]byte, error) { 35069 objectMap := make(map[string]any) 35070 populate(objectMap, "destinationType", v.DestinationType) 35071 populate(objectMap, "destinations", v.Destinations) 35072 populate(objectMap, "nextHopType", v.NextHopType) 35073 populate(objectMap, "nextHops", v.NextHops) 35074 return json.Marshal(objectMap) 35075 } 35076 35077 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualHubRouteV2. 35078 func (v *VirtualHubRouteV2) UnmarshalJSON(data []byte) error { 35079 var rawMsg map[string]json.RawMessage 35080 if err := json.Unmarshal(data, &rawMsg); err != nil { 35081 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35082 } 35083 for key, val := range rawMsg { 35084 var err error 35085 switch key { 35086 case "destinationType": 35087 err = unpopulate(val, "DestinationType", &v.DestinationType) 35088 delete(rawMsg, key) 35089 case "destinations": 35090 err = unpopulate(val, "Destinations", &v.Destinations) 35091 delete(rawMsg, key) 35092 case "nextHopType": 35093 err = unpopulate(val, "NextHopType", &v.NextHopType) 35094 delete(rawMsg, key) 35095 case "nextHops": 35096 err = unpopulate(val, "NextHops", &v.NextHops) 35097 delete(rawMsg, key) 35098 } 35099 if err != nil { 35100 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35101 } 35102 } 35103 return nil 35104 } 35105 35106 // MarshalJSON implements the json.Marshaller interface for type VirtualNetwork. 35107 func (v VirtualNetwork) MarshalJSON() ([]byte, error) { 35108 objectMap := make(map[string]any) 35109 populate(objectMap, "etag", v.Etag) 35110 populate(objectMap, "extendedLocation", v.ExtendedLocation) 35111 populate(objectMap, "id", v.ID) 35112 populate(objectMap, "location", v.Location) 35113 populate(objectMap, "name", v.Name) 35114 populate(objectMap, "properties", v.Properties) 35115 populate(objectMap, "tags", v.Tags) 35116 populate(objectMap, "type", v.Type) 35117 return json.Marshal(objectMap) 35118 } 35119 35120 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetwork. 35121 func (v *VirtualNetwork) UnmarshalJSON(data []byte) error { 35122 var rawMsg map[string]json.RawMessage 35123 if err := json.Unmarshal(data, &rawMsg); err != nil { 35124 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35125 } 35126 for key, val := range rawMsg { 35127 var err error 35128 switch key { 35129 case "etag": 35130 err = unpopulate(val, "Etag", &v.Etag) 35131 delete(rawMsg, key) 35132 case "extendedLocation": 35133 err = unpopulate(val, "ExtendedLocation", &v.ExtendedLocation) 35134 delete(rawMsg, key) 35135 case "id": 35136 err = unpopulate(val, "ID", &v.ID) 35137 delete(rawMsg, key) 35138 case "location": 35139 err = unpopulate(val, "Location", &v.Location) 35140 delete(rawMsg, key) 35141 case "name": 35142 err = unpopulate(val, "Name", &v.Name) 35143 delete(rawMsg, key) 35144 case "properties": 35145 err = unpopulate(val, "Properties", &v.Properties) 35146 delete(rawMsg, key) 35147 case "tags": 35148 err = unpopulate(val, "Tags", &v.Tags) 35149 delete(rawMsg, key) 35150 case "type": 35151 err = unpopulate(val, "Type", &v.Type) 35152 delete(rawMsg, key) 35153 } 35154 if err != nil { 35155 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35156 } 35157 } 35158 return nil 35159 } 35160 35161 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkBgpCommunities. 35162 func (v VirtualNetworkBgpCommunities) MarshalJSON() ([]byte, error) { 35163 objectMap := make(map[string]any) 35164 populate(objectMap, "regionalCommunity", v.RegionalCommunity) 35165 populate(objectMap, "virtualNetworkCommunity", v.VirtualNetworkCommunity) 35166 return json.Marshal(objectMap) 35167 } 35168 35169 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkBgpCommunities. 35170 func (v *VirtualNetworkBgpCommunities) UnmarshalJSON(data []byte) error { 35171 var rawMsg map[string]json.RawMessage 35172 if err := json.Unmarshal(data, &rawMsg); err != nil { 35173 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35174 } 35175 for key, val := range rawMsg { 35176 var err error 35177 switch key { 35178 case "regionalCommunity": 35179 err = unpopulate(val, "RegionalCommunity", &v.RegionalCommunity) 35180 delete(rawMsg, key) 35181 case "virtualNetworkCommunity": 35182 err = unpopulate(val, "VirtualNetworkCommunity", &v.VirtualNetworkCommunity) 35183 delete(rawMsg, key) 35184 } 35185 if err != nil { 35186 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35187 } 35188 } 35189 return nil 35190 } 35191 35192 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkConnectionGatewayReference. 35193 func (v VirtualNetworkConnectionGatewayReference) MarshalJSON() ([]byte, error) { 35194 objectMap := make(map[string]any) 35195 populate(objectMap, "id", v.ID) 35196 return json.Marshal(objectMap) 35197 } 35198 35199 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkConnectionGatewayReference. 35200 func (v *VirtualNetworkConnectionGatewayReference) UnmarshalJSON(data []byte) error { 35201 var rawMsg map[string]json.RawMessage 35202 if err := json.Unmarshal(data, &rawMsg); err != nil { 35203 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35204 } 35205 for key, val := range rawMsg { 35206 var err error 35207 switch key { 35208 case "id": 35209 err = unpopulate(val, "ID", &v.ID) 35210 delete(rawMsg, key) 35211 } 35212 if err != nil { 35213 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35214 } 35215 } 35216 return nil 35217 } 35218 35219 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkDdosProtectionStatusResult. 35220 func (v VirtualNetworkDdosProtectionStatusResult) MarshalJSON() ([]byte, error) { 35221 objectMap := make(map[string]any) 35222 populate(objectMap, "nextLink", v.NextLink) 35223 populate(objectMap, "value", v.Value) 35224 return json.Marshal(objectMap) 35225 } 35226 35227 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkDdosProtectionStatusResult. 35228 func (v *VirtualNetworkDdosProtectionStatusResult) UnmarshalJSON(data []byte) error { 35229 var rawMsg map[string]json.RawMessage 35230 if err := json.Unmarshal(data, &rawMsg); err != nil { 35231 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35232 } 35233 for key, val := range rawMsg { 35234 var err error 35235 switch key { 35236 case "nextLink": 35237 err = unpopulate(val, "NextLink", &v.NextLink) 35238 delete(rawMsg, key) 35239 case "value": 35240 err = unpopulate(val, "Value", &v.Value) 35241 delete(rawMsg, key) 35242 } 35243 if err != nil { 35244 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35245 } 35246 } 35247 return nil 35248 } 35249 35250 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkEncryption. 35251 func (v VirtualNetworkEncryption) MarshalJSON() ([]byte, error) { 35252 objectMap := make(map[string]any) 35253 populate(objectMap, "enabled", v.Enabled) 35254 populate(objectMap, "enforcement", v.Enforcement) 35255 return json.Marshal(objectMap) 35256 } 35257 35258 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkEncryption. 35259 func (v *VirtualNetworkEncryption) UnmarshalJSON(data []byte) error { 35260 var rawMsg map[string]json.RawMessage 35261 if err := json.Unmarshal(data, &rawMsg); err != nil { 35262 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35263 } 35264 for key, val := range rawMsg { 35265 var err error 35266 switch key { 35267 case "enabled": 35268 err = unpopulate(val, "Enabled", &v.Enabled) 35269 delete(rawMsg, key) 35270 case "enforcement": 35271 err = unpopulate(val, "Enforcement", &v.Enforcement) 35272 delete(rawMsg, key) 35273 } 35274 if err != nil { 35275 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35276 } 35277 } 35278 return nil 35279 } 35280 35281 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGateway. 35282 func (v VirtualNetworkGateway) MarshalJSON() ([]byte, error) { 35283 objectMap := make(map[string]any) 35284 populate(objectMap, "etag", v.Etag) 35285 populate(objectMap, "extendedLocation", v.ExtendedLocation) 35286 populate(objectMap, "id", v.ID) 35287 populate(objectMap, "identity", v.Identity) 35288 populate(objectMap, "location", v.Location) 35289 populate(objectMap, "name", v.Name) 35290 populate(objectMap, "properties", v.Properties) 35291 populate(objectMap, "tags", v.Tags) 35292 populate(objectMap, "type", v.Type) 35293 return json.Marshal(objectMap) 35294 } 35295 35296 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGateway. 35297 func (v *VirtualNetworkGateway) UnmarshalJSON(data []byte) error { 35298 var rawMsg map[string]json.RawMessage 35299 if err := json.Unmarshal(data, &rawMsg); err != nil { 35300 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35301 } 35302 for key, val := range rawMsg { 35303 var err error 35304 switch key { 35305 case "etag": 35306 err = unpopulate(val, "Etag", &v.Etag) 35307 delete(rawMsg, key) 35308 case "extendedLocation": 35309 err = unpopulate(val, "ExtendedLocation", &v.ExtendedLocation) 35310 delete(rawMsg, key) 35311 case "id": 35312 err = unpopulate(val, "ID", &v.ID) 35313 delete(rawMsg, key) 35314 case "identity": 35315 err = unpopulate(val, "Identity", &v.Identity) 35316 delete(rawMsg, key) 35317 case "location": 35318 err = unpopulate(val, "Location", &v.Location) 35319 delete(rawMsg, key) 35320 case "name": 35321 err = unpopulate(val, "Name", &v.Name) 35322 delete(rawMsg, key) 35323 case "properties": 35324 err = unpopulate(val, "Properties", &v.Properties) 35325 delete(rawMsg, key) 35326 case "tags": 35327 err = unpopulate(val, "Tags", &v.Tags) 35328 delete(rawMsg, key) 35329 case "type": 35330 err = unpopulate(val, "Type", &v.Type) 35331 delete(rawMsg, key) 35332 } 35333 if err != nil { 35334 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35335 } 35336 } 35337 return nil 35338 } 35339 35340 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayAutoScaleBounds. 35341 func (v VirtualNetworkGatewayAutoScaleBounds) MarshalJSON() ([]byte, error) { 35342 objectMap := make(map[string]any) 35343 populate(objectMap, "max", v.Max) 35344 populate(objectMap, "min", v.Min) 35345 return json.Marshal(objectMap) 35346 } 35347 35348 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayAutoScaleBounds. 35349 func (v *VirtualNetworkGatewayAutoScaleBounds) UnmarshalJSON(data []byte) error { 35350 var rawMsg map[string]json.RawMessage 35351 if err := json.Unmarshal(data, &rawMsg); err != nil { 35352 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35353 } 35354 for key, val := range rawMsg { 35355 var err error 35356 switch key { 35357 case "max": 35358 err = unpopulate(val, "Max", &v.Max) 35359 delete(rawMsg, key) 35360 case "min": 35361 err = unpopulate(val, "Min", &v.Min) 35362 delete(rawMsg, key) 35363 } 35364 if err != nil { 35365 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35366 } 35367 } 35368 return nil 35369 } 35370 35371 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayAutoScaleConfiguration. 35372 func (v VirtualNetworkGatewayAutoScaleConfiguration) MarshalJSON() ([]byte, error) { 35373 objectMap := make(map[string]any) 35374 populate(objectMap, "bounds", v.Bounds) 35375 return json.Marshal(objectMap) 35376 } 35377 35378 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayAutoScaleConfiguration. 35379 func (v *VirtualNetworkGatewayAutoScaleConfiguration) UnmarshalJSON(data []byte) error { 35380 var rawMsg map[string]json.RawMessage 35381 if err := json.Unmarshal(data, &rawMsg); err != nil { 35382 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35383 } 35384 for key, val := range rawMsg { 35385 var err error 35386 switch key { 35387 case "bounds": 35388 err = unpopulate(val, "Bounds", &v.Bounds) 35389 delete(rawMsg, key) 35390 } 35391 if err != nil { 35392 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35393 } 35394 } 35395 return nil 35396 } 35397 35398 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnection. 35399 func (v VirtualNetworkGatewayConnection) MarshalJSON() ([]byte, error) { 35400 objectMap := make(map[string]any) 35401 populate(objectMap, "etag", v.Etag) 35402 populate(objectMap, "id", v.ID) 35403 populate(objectMap, "location", v.Location) 35404 populate(objectMap, "name", v.Name) 35405 populate(objectMap, "properties", v.Properties) 35406 populate(objectMap, "tags", v.Tags) 35407 populate(objectMap, "type", v.Type) 35408 return json.Marshal(objectMap) 35409 } 35410 35411 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayConnection. 35412 func (v *VirtualNetworkGatewayConnection) UnmarshalJSON(data []byte) error { 35413 var rawMsg map[string]json.RawMessage 35414 if err := json.Unmarshal(data, &rawMsg); err != nil { 35415 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35416 } 35417 for key, val := range rawMsg { 35418 var err error 35419 switch key { 35420 case "etag": 35421 err = unpopulate(val, "Etag", &v.Etag) 35422 delete(rawMsg, key) 35423 case "id": 35424 err = unpopulate(val, "ID", &v.ID) 35425 delete(rawMsg, key) 35426 case "location": 35427 err = unpopulate(val, "Location", &v.Location) 35428 delete(rawMsg, key) 35429 case "name": 35430 err = unpopulate(val, "Name", &v.Name) 35431 delete(rawMsg, key) 35432 case "properties": 35433 err = unpopulate(val, "Properties", &v.Properties) 35434 delete(rawMsg, key) 35435 case "tags": 35436 err = unpopulate(val, "Tags", &v.Tags) 35437 delete(rawMsg, key) 35438 case "type": 35439 err = unpopulate(val, "Type", &v.Type) 35440 delete(rawMsg, key) 35441 } 35442 if err != nil { 35443 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35444 } 35445 } 35446 return nil 35447 } 35448 35449 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListEntity. 35450 func (v VirtualNetworkGatewayConnectionListEntity) MarshalJSON() ([]byte, error) { 35451 objectMap := make(map[string]any) 35452 populate(objectMap, "etag", v.Etag) 35453 populate(objectMap, "id", v.ID) 35454 populate(objectMap, "location", v.Location) 35455 populate(objectMap, "name", v.Name) 35456 populate(objectMap, "properties", v.Properties) 35457 populate(objectMap, "tags", v.Tags) 35458 populate(objectMap, "type", v.Type) 35459 return json.Marshal(objectMap) 35460 } 35461 35462 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayConnectionListEntity. 35463 func (v *VirtualNetworkGatewayConnectionListEntity) UnmarshalJSON(data []byte) error { 35464 var rawMsg map[string]json.RawMessage 35465 if err := json.Unmarshal(data, &rawMsg); err != nil { 35466 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35467 } 35468 for key, val := range rawMsg { 35469 var err error 35470 switch key { 35471 case "etag": 35472 err = unpopulate(val, "Etag", &v.Etag) 35473 delete(rawMsg, key) 35474 case "id": 35475 err = unpopulate(val, "ID", &v.ID) 35476 delete(rawMsg, key) 35477 case "location": 35478 err = unpopulate(val, "Location", &v.Location) 35479 delete(rawMsg, key) 35480 case "name": 35481 err = unpopulate(val, "Name", &v.Name) 35482 delete(rawMsg, key) 35483 case "properties": 35484 err = unpopulate(val, "Properties", &v.Properties) 35485 delete(rawMsg, key) 35486 case "tags": 35487 err = unpopulate(val, "Tags", &v.Tags) 35488 delete(rawMsg, key) 35489 case "type": 35490 err = unpopulate(val, "Type", &v.Type) 35491 delete(rawMsg, key) 35492 } 35493 if err != nil { 35494 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35495 } 35496 } 35497 return nil 35498 } 35499 35500 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListEntityPropertiesFormat. 35501 func (v VirtualNetworkGatewayConnectionListEntityPropertiesFormat) MarshalJSON() ([]byte, error) { 35502 objectMap := make(map[string]any) 35503 populate(objectMap, "authorizationKey", v.AuthorizationKey) 35504 populate(objectMap, "connectionMode", v.ConnectionMode) 35505 populate(objectMap, "connectionProtocol", v.ConnectionProtocol) 35506 populate(objectMap, "connectionStatus", v.ConnectionStatus) 35507 populate(objectMap, "connectionType", v.ConnectionType) 35508 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 35509 populate(objectMap, "enableBgp", v.EnableBgp) 35510 populate(objectMap, "enablePrivateLinkFastPath", v.EnablePrivateLinkFastPath) 35511 populate(objectMap, "expressRouteGatewayBypass", v.ExpressRouteGatewayBypass) 35512 populate(objectMap, "gatewayCustomBgpIpAddresses", v.GatewayCustomBgpIPAddresses) 35513 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 35514 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 35515 populate(objectMap, "localNetworkGateway2", v.LocalNetworkGateway2) 35516 populate(objectMap, "peer", v.Peer) 35517 populate(objectMap, "provisioningState", v.ProvisioningState) 35518 populate(objectMap, "resourceGuid", v.ResourceGUID) 35519 populate(objectMap, "routingWeight", v.RoutingWeight) 35520 populate(objectMap, "sharedKey", v.SharedKey) 35521 populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) 35522 populate(objectMap, "tunnelConnectionStatus", v.TunnelConnectionStatus) 35523 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 35524 populate(objectMap, "virtualNetworkGateway1", v.VirtualNetworkGateway1) 35525 populate(objectMap, "virtualNetworkGateway2", v.VirtualNetworkGateway2) 35526 return json.Marshal(objectMap) 35527 } 35528 35529 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayConnectionListEntityPropertiesFormat. 35530 func (v *VirtualNetworkGatewayConnectionListEntityPropertiesFormat) UnmarshalJSON(data []byte) error { 35531 var rawMsg map[string]json.RawMessage 35532 if err := json.Unmarshal(data, &rawMsg); err != nil { 35533 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35534 } 35535 for key, val := range rawMsg { 35536 var err error 35537 switch key { 35538 case "authorizationKey": 35539 err = unpopulate(val, "AuthorizationKey", &v.AuthorizationKey) 35540 delete(rawMsg, key) 35541 case "connectionMode": 35542 err = unpopulate(val, "ConnectionMode", &v.ConnectionMode) 35543 delete(rawMsg, key) 35544 case "connectionProtocol": 35545 err = unpopulate(val, "ConnectionProtocol", &v.ConnectionProtocol) 35546 delete(rawMsg, key) 35547 case "connectionStatus": 35548 err = unpopulate(val, "ConnectionStatus", &v.ConnectionStatus) 35549 delete(rawMsg, key) 35550 case "connectionType": 35551 err = unpopulate(val, "ConnectionType", &v.ConnectionType) 35552 delete(rawMsg, key) 35553 case "egressBytesTransferred": 35554 err = unpopulate(val, "EgressBytesTransferred", &v.EgressBytesTransferred) 35555 delete(rawMsg, key) 35556 case "enableBgp": 35557 err = unpopulate(val, "EnableBgp", &v.EnableBgp) 35558 delete(rawMsg, key) 35559 case "enablePrivateLinkFastPath": 35560 err = unpopulate(val, "EnablePrivateLinkFastPath", &v.EnablePrivateLinkFastPath) 35561 delete(rawMsg, key) 35562 case "expressRouteGatewayBypass": 35563 err = unpopulate(val, "ExpressRouteGatewayBypass", &v.ExpressRouteGatewayBypass) 35564 delete(rawMsg, key) 35565 case "gatewayCustomBgpIpAddresses": 35566 err = unpopulate(val, "GatewayCustomBgpIPAddresses", &v.GatewayCustomBgpIPAddresses) 35567 delete(rawMsg, key) 35568 case "ipsecPolicies": 35569 err = unpopulate(val, "IPSecPolicies", &v.IPSecPolicies) 35570 delete(rawMsg, key) 35571 case "ingressBytesTransferred": 35572 err = unpopulate(val, "IngressBytesTransferred", &v.IngressBytesTransferred) 35573 delete(rawMsg, key) 35574 case "localNetworkGateway2": 35575 err = unpopulate(val, "LocalNetworkGateway2", &v.LocalNetworkGateway2) 35576 delete(rawMsg, key) 35577 case "peer": 35578 err = unpopulate(val, "Peer", &v.Peer) 35579 delete(rawMsg, key) 35580 case "provisioningState": 35581 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 35582 delete(rawMsg, key) 35583 case "resourceGuid": 35584 err = unpopulate(val, "ResourceGUID", &v.ResourceGUID) 35585 delete(rawMsg, key) 35586 case "routingWeight": 35587 err = unpopulate(val, "RoutingWeight", &v.RoutingWeight) 35588 delete(rawMsg, key) 35589 case "sharedKey": 35590 err = unpopulate(val, "SharedKey", &v.SharedKey) 35591 delete(rawMsg, key) 35592 case "trafficSelectorPolicies": 35593 err = unpopulate(val, "TrafficSelectorPolicies", &v.TrafficSelectorPolicies) 35594 delete(rawMsg, key) 35595 case "tunnelConnectionStatus": 35596 err = unpopulate(val, "TunnelConnectionStatus", &v.TunnelConnectionStatus) 35597 delete(rawMsg, key) 35598 case "usePolicyBasedTrafficSelectors": 35599 err = unpopulate(val, "UsePolicyBasedTrafficSelectors", &v.UsePolicyBasedTrafficSelectors) 35600 delete(rawMsg, key) 35601 case "virtualNetworkGateway1": 35602 err = unpopulate(val, "VirtualNetworkGateway1", &v.VirtualNetworkGateway1) 35603 delete(rawMsg, key) 35604 case "virtualNetworkGateway2": 35605 err = unpopulate(val, "VirtualNetworkGateway2", &v.VirtualNetworkGateway2) 35606 delete(rawMsg, key) 35607 } 35608 if err != nil { 35609 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35610 } 35611 } 35612 return nil 35613 } 35614 35615 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionListResult. 35616 func (v VirtualNetworkGatewayConnectionListResult) MarshalJSON() ([]byte, error) { 35617 objectMap := make(map[string]any) 35618 populate(objectMap, "nextLink", v.NextLink) 35619 populate(objectMap, "value", v.Value) 35620 return json.Marshal(objectMap) 35621 } 35622 35623 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayConnectionListResult. 35624 func (v *VirtualNetworkGatewayConnectionListResult) UnmarshalJSON(data []byte) error { 35625 var rawMsg map[string]json.RawMessage 35626 if err := json.Unmarshal(data, &rawMsg); err != nil { 35627 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35628 } 35629 for key, val := range rawMsg { 35630 var err error 35631 switch key { 35632 case "nextLink": 35633 err = unpopulate(val, "NextLink", &v.NextLink) 35634 delete(rawMsg, key) 35635 case "value": 35636 err = unpopulate(val, "Value", &v.Value) 35637 delete(rawMsg, key) 35638 } 35639 if err != nil { 35640 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35641 } 35642 } 35643 return nil 35644 } 35645 35646 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayConnectionPropertiesFormat. 35647 func (v VirtualNetworkGatewayConnectionPropertiesFormat) MarshalJSON() ([]byte, error) { 35648 objectMap := make(map[string]any) 35649 populate(objectMap, "authorizationKey", v.AuthorizationKey) 35650 populate(objectMap, "connectionMode", v.ConnectionMode) 35651 populate(objectMap, "connectionProtocol", v.ConnectionProtocol) 35652 populate(objectMap, "connectionStatus", v.ConnectionStatus) 35653 populate(objectMap, "connectionType", v.ConnectionType) 35654 populate(objectMap, "dpdTimeoutSeconds", v.DpdTimeoutSeconds) 35655 populate(objectMap, "egressBytesTransferred", v.EgressBytesTransferred) 35656 populate(objectMap, "egressNatRules", v.EgressNatRules) 35657 populate(objectMap, "enableBgp", v.EnableBgp) 35658 populate(objectMap, "enablePrivateLinkFastPath", v.EnablePrivateLinkFastPath) 35659 populate(objectMap, "expressRouteGatewayBypass", v.ExpressRouteGatewayBypass) 35660 populate(objectMap, "gatewayCustomBgpIpAddresses", v.GatewayCustomBgpIPAddresses) 35661 populate(objectMap, "ipsecPolicies", v.IPSecPolicies) 35662 populate(objectMap, "ingressBytesTransferred", v.IngressBytesTransferred) 35663 populate(objectMap, "ingressNatRules", v.IngressNatRules) 35664 populate(objectMap, "localNetworkGateway2", v.LocalNetworkGateway2) 35665 populate(objectMap, "peer", v.Peer) 35666 populate(objectMap, "provisioningState", v.ProvisioningState) 35667 populate(objectMap, "resourceGuid", v.ResourceGUID) 35668 populate(objectMap, "routingWeight", v.RoutingWeight) 35669 populate(objectMap, "sharedKey", v.SharedKey) 35670 populate(objectMap, "trafficSelectorPolicies", v.TrafficSelectorPolicies) 35671 populate(objectMap, "tunnelConnectionStatus", v.TunnelConnectionStatus) 35672 populate(objectMap, "useLocalAzureIpAddress", v.UseLocalAzureIPAddress) 35673 populate(objectMap, "usePolicyBasedTrafficSelectors", v.UsePolicyBasedTrafficSelectors) 35674 populate(objectMap, "virtualNetworkGateway1", v.VirtualNetworkGateway1) 35675 populate(objectMap, "virtualNetworkGateway2", v.VirtualNetworkGateway2) 35676 return json.Marshal(objectMap) 35677 } 35678 35679 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayConnectionPropertiesFormat. 35680 func (v *VirtualNetworkGatewayConnectionPropertiesFormat) UnmarshalJSON(data []byte) error { 35681 var rawMsg map[string]json.RawMessage 35682 if err := json.Unmarshal(data, &rawMsg); err != nil { 35683 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35684 } 35685 for key, val := range rawMsg { 35686 var err error 35687 switch key { 35688 case "authorizationKey": 35689 err = unpopulate(val, "AuthorizationKey", &v.AuthorizationKey) 35690 delete(rawMsg, key) 35691 case "connectionMode": 35692 err = unpopulate(val, "ConnectionMode", &v.ConnectionMode) 35693 delete(rawMsg, key) 35694 case "connectionProtocol": 35695 err = unpopulate(val, "ConnectionProtocol", &v.ConnectionProtocol) 35696 delete(rawMsg, key) 35697 case "connectionStatus": 35698 err = unpopulate(val, "ConnectionStatus", &v.ConnectionStatus) 35699 delete(rawMsg, key) 35700 case "connectionType": 35701 err = unpopulate(val, "ConnectionType", &v.ConnectionType) 35702 delete(rawMsg, key) 35703 case "dpdTimeoutSeconds": 35704 err = unpopulate(val, "DpdTimeoutSeconds", &v.DpdTimeoutSeconds) 35705 delete(rawMsg, key) 35706 case "egressBytesTransferred": 35707 err = unpopulate(val, "EgressBytesTransferred", &v.EgressBytesTransferred) 35708 delete(rawMsg, key) 35709 case "egressNatRules": 35710 err = unpopulate(val, "EgressNatRules", &v.EgressNatRules) 35711 delete(rawMsg, key) 35712 case "enableBgp": 35713 err = unpopulate(val, "EnableBgp", &v.EnableBgp) 35714 delete(rawMsg, key) 35715 case "enablePrivateLinkFastPath": 35716 err = unpopulate(val, "EnablePrivateLinkFastPath", &v.EnablePrivateLinkFastPath) 35717 delete(rawMsg, key) 35718 case "expressRouteGatewayBypass": 35719 err = unpopulate(val, "ExpressRouteGatewayBypass", &v.ExpressRouteGatewayBypass) 35720 delete(rawMsg, key) 35721 case "gatewayCustomBgpIpAddresses": 35722 err = unpopulate(val, "GatewayCustomBgpIPAddresses", &v.GatewayCustomBgpIPAddresses) 35723 delete(rawMsg, key) 35724 case "ipsecPolicies": 35725 err = unpopulate(val, "IPSecPolicies", &v.IPSecPolicies) 35726 delete(rawMsg, key) 35727 case "ingressBytesTransferred": 35728 err = unpopulate(val, "IngressBytesTransferred", &v.IngressBytesTransferred) 35729 delete(rawMsg, key) 35730 case "ingressNatRules": 35731 err = unpopulate(val, "IngressNatRules", &v.IngressNatRules) 35732 delete(rawMsg, key) 35733 case "localNetworkGateway2": 35734 err = unpopulate(val, "LocalNetworkGateway2", &v.LocalNetworkGateway2) 35735 delete(rawMsg, key) 35736 case "peer": 35737 err = unpopulate(val, "Peer", &v.Peer) 35738 delete(rawMsg, key) 35739 case "provisioningState": 35740 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 35741 delete(rawMsg, key) 35742 case "resourceGuid": 35743 err = unpopulate(val, "ResourceGUID", &v.ResourceGUID) 35744 delete(rawMsg, key) 35745 case "routingWeight": 35746 err = unpopulate(val, "RoutingWeight", &v.RoutingWeight) 35747 delete(rawMsg, key) 35748 case "sharedKey": 35749 err = unpopulate(val, "SharedKey", &v.SharedKey) 35750 delete(rawMsg, key) 35751 case "trafficSelectorPolicies": 35752 err = unpopulate(val, "TrafficSelectorPolicies", &v.TrafficSelectorPolicies) 35753 delete(rawMsg, key) 35754 case "tunnelConnectionStatus": 35755 err = unpopulate(val, "TunnelConnectionStatus", &v.TunnelConnectionStatus) 35756 delete(rawMsg, key) 35757 case "useLocalAzureIpAddress": 35758 err = unpopulate(val, "UseLocalAzureIPAddress", &v.UseLocalAzureIPAddress) 35759 delete(rawMsg, key) 35760 case "usePolicyBasedTrafficSelectors": 35761 err = unpopulate(val, "UsePolicyBasedTrafficSelectors", &v.UsePolicyBasedTrafficSelectors) 35762 delete(rawMsg, key) 35763 case "virtualNetworkGateway1": 35764 err = unpopulate(val, "VirtualNetworkGateway1", &v.VirtualNetworkGateway1) 35765 delete(rawMsg, key) 35766 case "virtualNetworkGateway2": 35767 err = unpopulate(val, "VirtualNetworkGateway2", &v.VirtualNetworkGateway2) 35768 delete(rawMsg, key) 35769 } 35770 if err != nil { 35771 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35772 } 35773 } 35774 return nil 35775 } 35776 35777 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayIPConfiguration. 35778 func (v VirtualNetworkGatewayIPConfiguration) MarshalJSON() ([]byte, error) { 35779 objectMap := make(map[string]any) 35780 populate(objectMap, "etag", v.Etag) 35781 populate(objectMap, "id", v.ID) 35782 populate(objectMap, "name", v.Name) 35783 populate(objectMap, "properties", v.Properties) 35784 return json.Marshal(objectMap) 35785 } 35786 35787 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayIPConfiguration. 35788 func (v *VirtualNetworkGatewayIPConfiguration) UnmarshalJSON(data []byte) error { 35789 var rawMsg map[string]json.RawMessage 35790 if err := json.Unmarshal(data, &rawMsg); err != nil { 35791 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35792 } 35793 for key, val := range rawMsg { 35794 var err error 35795 switch key { 35796 case "etag": 35797 err = unpopulate(val, "Etag", &v.Etag) 35798 delete(rawMsg, key) 35799 case "id": 35800 err = unpopulate(val, "ID", &v.ID) 35801 delete(rawMsg, key) 35802 case "name": 35803 err = unpopulate(val, "Name", &v.Name) 35804 delete(rawMsg, key) 35805 case "properties": 35806 err = unpopulate(val, "Properties", &v.Properties) 35807 delete(rawMsg, key) 35808 } 35809 if err != nil { 35810 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35811 } 35812 } 35813 return nil 35814 } 35815 35816 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayIPConfigurationPropertiesFormat. 35817 func (v VirtualNetworkGatewayIPConfigurationPropertiesFormat) MarshalJSON() ([]byte, error) { 35818 objectMap := make(map[string]any) 35819 populate(objectMap, "privateIPAddress", v.PrivateIPAddress) 35820 populate(objectMap, "privateIPAllocationMethod", v.PrivateIPAllocationMethod) 35821 populate(objectMap, "provisioningState", v.ProvisioningState) 35822 populate(objectMap, "publicIPAddress", v.PublicIPAddress) 35823 populate(objectMap, "subnet", v.Subnet) 35824 return json.Marshal(objectMap) 35825 } 35826 35827 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayIPConfigurationPropertiesFormat. 35828 func (v *VirtualNetworkGatewayIPConfigurationPropertiesFormat) UnmarshalJSON(data []byte) error { 35829 var rawMsg map[string]json.RawMessage 35830 if err := json.Unmarshal(data, &rawMsg); err != nil { 35831 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35832 } 35833 for key, val := range rawMsg { 35834 var err error 35835 switch key { 35836 case "privateIPAddress": 35837 err = unpopulate(val, "PrivateIPAddress", &v.PrivateIPAddress) 35838 delete(rawMsg, key) 35839 case "privateIPAllocationMethod": 35840 err = unpopulate(val, "PrivateIPAllocationMethod", &v.PrivateIPAllocationMethod) 35841 delete(rawMsg, key) 35842 case "provisioningState": 35843 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 35844 delete(rawMsg, key) 35845 case "publicIPAddress": 35846 err = unpopulate(val, "PublicIPAddress", &v.PublicIPAddress) 35847 delete(rawMsg, key) 35848 case "subnet": 35849 err = unpopulate(val, "Subnet", &v.Subnet) 35850 delete(rawMsg, key) 35851 } 35852 if err != nil { 35853 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35854 } 35855 } 35856 return nil 35857 } 35858 35859 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayListConnectionsResult. 35860 func (v VirtualNetworkGatewayListConnectionsResult) MarshalJSON() ([]byte, error) { 35861 objectMap := make(map[string]any) 35862 populate(objectMap, "nextLink", v.NextLink) 35863 populate(objectMap, "value", v.Value) 35864 return json.Marshal(objectMap) 35865 } 35866 35867 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayListConnectionsResult. 35868 func (v *VirtualNetworkGatewayListConnectionsResult) UnmarshalJSON(data []byte) error { 35869 var rawMsg map[string]json.RawMessage 35870 if err := json.Unmarshal(data, &rawMsg); err != nil { 35871 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35872 } 35873 for key, val := range rawMsg { 35874 var err error 35875 switch key { 35876 case "nextLink": 35877 err = unpopulate(val, "NextLink", &v.NextLink) 35878 delete(rawMsg, key) 35879 case "value": 35880 err = unpopulate(val, "Value", &v.Value) 35881 delete(rawMsg, key) 35882 } 35883 if err != nil { 35884 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35885 } 35886 } 35887 return nil 35888 } 35889 35890 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayListResult. 35891 func (v VirtualNetworkGatewayListResult) MarshalJSON() ([]byte, error) { 35892 objectMap := make(map[string]any) 35893 populate(objectMap, "nextLink", v.NextLink) 35894 populate(objectMap, "value", v.Value) 35895 return json.Marshal(objectMap) 35896 } 35897 35898 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayListResult. 35899 func (v *VirtualNetworkGatewayListResult) UnmarshalJSON(data []byte) error { 35900 var rawMsg map[string]json.RawMessage 35901 if err := json.Unmarshal(data, &rawMsg); err != nil { 35902 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35903 } 35904 for key, val := range rawMsg { 35905 var err error 35906 switch key { 35907 case "nextLink": 35908 err = unpopulate(val, "NextLink", &v.NextLink) 35909 delete(rawMsg, key) 35910 case "value": 35911 err = unpopulate(val, "Value", &v.Value) 35912 delete(rawMsg, key) 35913 } 35914 if err != nil { 35915 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35916 } 35917 } 35918 return nil 35919 } 35920 35921 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayNatRule. 35922 func (v VirtualNetworkGatewayNatRule) MarshalJSON() ([]byte, error) { 35923 objectMap := make(map[string]any) 35924 populate(objectMap, "etag", v.Etag) 35925 populate(objectMap, "id", v.ID) 35926 populate(objectMap, "name", v.Name) 35927 populate(objectMap, "properties", v.Properties) 35928 populate(objectMap, "type", v.Type) 35929 return json.Marshal(objectMap) 35930 } 35931 35932 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayNatRule. 35933 func (v *VirtualNetworkGatewayNatRule) UnmarshalJSON(data []byte) error { 35934 var rawMsg map[string]json.RawMessage 35935 if err := json.Unmarshal(data, &rawMsg); err != nil { 35936 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35937 } 35938 for key, val := range rawMsg { 35939 var err error 35940 switch key { 35941 case "etag": 35942 err = unpopulate(val, "Etag", &v.Etag) 35943 delete(rawMsg, key) 35944 case "id": 35945 err = unpopulate(val, "ID", &v.ID) 35946 delete(rawMsg, key) 35947 case "name": 35948 err = unpopulate(val, "Name", &v.Name) 35949 delete(rawMsg, key) 35950 case "properties": 35951 err = unpopulate(val, "Properties", &v.Properties) 35952 delete(rawMsg, key) 35953 case "type": 35954 err = unpopulate(val, "Type", &v.Type) 35955 delete(rawMsg, key) 35956 } 35957 if err != nil { 35958 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35959 } 35960 } 35961 return nil 35962 } 35963 35964 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayNatRuleProperties. 35965 func (v VirtualNetworkGatewayNatRuleProperties) MarshalJSON() ([]byte, error) { 35966 objectMap := make(map[string]any) 35967 populate(objectMap, "externalMappings", v.ExternalMappings) 35968 populate(objectMap, "ipConfigurationId", v.IPConfigurationID) 35969 populate(objectMap, "internalMappings", v.InternalMappings) 35970 populate(objectMap, "mode", v.Mode) 35971 populate(objectMap, "provisioningState", v.ProvisioningState) 35972 populate(objectMap, "type", v.Type) 35973 return json.Marshal(objectMap) 35974 } 35975 35976 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayNatRuleProperties. 35977 func (v *VirtualNetworkGatewayNatRuleProperties) UnmarshalJSON(data []byte) error { 35978 var rawMsg map[string]json.RawMessage 35979 if err := json.Unmarshal(data, &rawMsg); err != nil { 35980 return fmt.Errorf("unmarshalling type %T: %v", v, err) 35981 } 35982 for key, val := range rawMsg { 35983 var err error 35984 switch key { 35985 case "externalMappings": 35986 err = unpopulate(val, "ExternalMappings", &v.ExternalMappings) 35987 delete(rawMsg, key) 35988 case "ipConfigurationId": 35989 err = unpopulate(val, "IPConfigurationID", &v.IPConfigurationID) 35990 delete(rawMsg, key) 35991 case "internalMappings": 35992 err = unpopulate(val, "InternalMappings", &v.InternalMappings) 35993 delete(rawMsg, key) 35994 case "mode": 35995 err = unpopulate(val, "Mode", &v.Mode) 35996 delete(rawMsg, key) 35997 case "provisioningState": 35998 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 35999 delete(rawMsg, key) 36000 case "type": 36001 err = unpopulate(val, "Type", &v.Type) 36002 delete(rawMsg, key) 36003 } 36004 if err != nil { 36005 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36006 } 36007 } 36008 return nil 36009 } 36010 36011 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayPolicyGroup. 36012 func (v VirtualNetworkGatewayPolicyGroup) MarshalJSON() ([]byte, error) { 36013 objectMap := make(map[string]any) 36014 populate(objectMap, "etag", v.Etag) 36015 populate(objectMap, "id", v.ID) 36016 populate(objectMap, "name", v.Name) 36017 populate(objectMap, "properties", v.Properties) 36018 return json.Marshal(objectMap) 36019 } 36020 36021 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayPolicyGroup. 36022 func (v *VirtualNetworkGatewayPolicyGroup) UnmarshalJSON(data []byte) error { 36023 var rawMsg map[string]json.RawMessage 36024 if err := json.Unmarshal(data, &rawMsg); err != nil { 36025 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36026 } 36027 for key, val := range rawMsg { 36028 var err error 36029 switch key { 36030 case "etag": 36031 err = unpopulate(val, "Etag", &v.Etag) 36032 delete(rawMsg, key) 36033 case "id": 36034 err = unpopulate(val, "ID", &v.ID) 36035 delete(rawMsg, key) 36036 case "name": 36037 err = unpopulate(val, "Name", &v.Name) 36038 delete(rawMsg, key) 36039 case "properties": 36040 err = unpopulate(val, "Properties", &v.Properties) 36041 delete(rawMsg, key) 36042 } 36043 if err != nil { 36044 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36045 } 36046 } 36047 return nil 36048 } 36049 36050 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayPolicyGroupMember. 36051 func (v VirtualNetworkGatewayPolicyGroupMember) MarshalJSON() ([]byte, error) { 36052 objectMap := make(map[string]any) 36053 populate(objectMap, "attributeType", v.AttributeType) 36054 populate(objectMap, "attributeValue", v.AttributeValue) 36055 populate(objectMap, "name", v.Name) 36056 return json.Marshal(objectMap) 36057 } 36058 36059 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayPolicyGroupMember. 36060 func (v *VirtualNetworkGatewayPolicyGroupMember) UnmarshalJSON(data []byte) error { 36061 var rawMsg map[string]json.RawMessage 36062 if err := json.Unmarshal(data, &rawMsg); err != nil { 36063 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36064 } 36065 for key, val := range rawMsg { 36066 var err error 36067 switch key { 36068 case "attributeType": 36069 err = unpopulate(val, "AttributeType", &v.AttributeType) 36070 delete(rawMsg, key) 36071 case "attributeValue": 36072 err = unpopulate(val, "AttributeValue", &v.AttributeValue) 36073 delete(rawMsg, key) 36074 case "name": 36075 err = unpopulate(val, "Name", &v.Name) 36076 delete(rawMsg, key) 36077 } 36078 if err != nil { 36079 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36080 } 36081 } 36082 return nil 36083 } 36084 36085 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayPolicyGroupProperties. 36086 func (v VirtualNetworkGatewayPolicyGroupProperties) MarshalJSON() ([]byte, error) { 36087 objectMap := make(map[string]any) 36088 populate(objectMap, "isDefault", v.IsDefault) 36089 populate(objectMap, "policyMembers", v.PolicyMembers) 36090 populate(objectMap, "priority", v.Priority) 36091 populate(objectMap, "provisioningState", v.ProvisioningState) 36092 populate(objectMap, "vngClientConnectionConfigurations", v.VngClientConnectionConfigurations) 36093 return json.Marshal(objectMap) 36094 } 36095 36096 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayPolicyGroupProperties. 36097 func (v *VirtualNetworkGatewayPolicyGroupProperties) UnmarshalJSON(data []byte) error { 36098 var rawMsg map[string]json.RawMessage 36099 if err := json.Unmarshal(data, &rawMsg); err != nil { 36100 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36101 } 36102 for key, val := range rawMsg { 36103 var err error 36104 switch key { 36105 case "isDefault": 36106 err = unpopulate(val, "IsDefault", &v.IsDefault) 36107 delete(rawMsg, key) 36108 case "policyMembers": 36109 err = unpopulate(val, "PolicyMembers", &v.PolicyMembers) 36110 delete(rawMsg, key) 36111 case "priority": 36112 err = unpopulate(val, "Priority", &v.Priority) 36113 delete(rawMsg, key) 36114 case "provisioningState": 36115 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 36116 delete(rawMsg, key) 36117 case "vngClientConnectionConfigurations": 36118 err = unpopulate(val, "VngClientConnectionConfigurations", &v.VngClientConnectionConfigurations) 36119 delete(rawMsg, key) 36120 } 36121 if err != nil { 36122 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36123 } 36124 } 36125 return nil 36126 } 36127 36128 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewayPropertiesFormat. 36129 func (v VirtualNetworkGatewayPropertiesFormat) MarshalJSON() ([]byte, error) { 36130 objectMap := make(map[string]any) 36131 populate(objectMap, "activeActive", v.Active) 36132 populate(objectMap, "adminState", v.AdminState) 36133 populate(objectMap, "allowRemoteVnetTraffic", v.AllowRemoteVnetTraffic) 36134 populate(objectMap, "allowVirtualWanTraffic", v.AllowVirtualWanTraffic) 36135 populate(objectMap, "autoScaleConfiguration", v.AutoScaleConfiguration) 36136 populate(objectMap, "bgpSettings", v.BgpSettings) 36137 populate(objectMap, "customRoutes", v.CustomRoutes) 36138 populate(objectMap, "disableIPSecReplayProtection", v.DisableIPSecReplayProtection) 36139 populate(objectMap, "enableBgp", v.EnableBgp) 36140 populate(objectMap, "enableBgpRouteTranslationForNat", v.EnableBgpRouteTranslationForNat) 36141 populate(objectMap, "enableDnsForwarding", v.EnableDNSForwarding) 36142 populate(objectMap, "enablePrivateIpAddress", v.EnablePrivateIPAddress) 36143 populate(objectMap, "gatewayDefaultSite", v.GatewayDefaultSite) 36144 populate(objectMap, "gatewayType", v.GatewayType) 36145 populate(objectMap, "ipConfigurations", v.IPConfigurations) 36146 populate(objectMap, "inboundDnsForwardingEndpoint", v.InboundDNSForwardingEndpoint) 36147 populate(objectMap, "natRules", v.NatRules) 36148 populate(objectMap, "provisioningState", v.ProvisioningState) 36149 populate(objectMap, "resiliencyModel", v.ResiliencyModel) 36150 populate(objectMap, "resourceGuid", v.ResourceGUID) 36151 populate(objectMap, "sku", v.SKU) 36152 populate(objectMap, "vNetExtendedLocationResourceId", v.VNetExtendedLocationResourceID) 36153 populate(objectMap, "vpnClientConfiguration", v.VPNClientConfiguration) 36154 populate(objectMap, "vpnGatewayGeneration", v.VPNGatewayGeneration) 36155 populate(objectMap, "vpnType", v.VPNType) 36156 populate(objectMap, "virtualNetworkGatewayPolicyGroups", v.VirtualNetworkGatewayPolicyGroups) 36157 return json.Marshal(objectMap) 36158 } 36159 36160 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewayPropertiesFormat. 36161 func (v *VirtualNetworkGatewayPropertiesFormat) UnmarshalJSON(data []byte) error { 36162 var rawMsg map[string]json.RawMessage 36163 if err := json.Unmarshal(data, &rawMsg); err != nil { 36164 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36165 } 36166 for key, val := range rawMsg { 36167 var err error 36168 switch key { 36169 case "activeActive": 36170 err = unpopulate(val, "Active", &v.Active) 36171 delete(rawMsg, key) 36172 case "adminState": 36173 err = unpopulate(val, "AdminState", &v.AdminState) 36174 delete(rawMsg, key) 36175 case "allowRemoteVnetTraffic": 36176 err = unpopulate(val, "AllowRemoteVnetTraffic", &v.AllowRemoteVnetTraffic) 36177 delete(rawMsg, key) 36178 case "allowVirtualWanTraffic": 36179 err = unpopulate(val, "AllowVirtualWanTraffic", &v.AllowVirtualWanTraffic) 36180 delete(rawMsg, key) 36181 case "autoScaleConfiguration": 36182 err = unpopulate(val, "AutoScaleConfiguration", &v.AutoScaleConfiguration) 36183 delete(rawMsg, key) 36184 case "bgpSettings": 36185 err = unpopulate(val, "BgpSettings", &v.BgpSettings) 36186 delete(rawMsg, key) 36187 case "customRoutes": 36188 err = unpopulate(val, "CustomRoutes", &v.CustomRoutes) 36189 delete(rawMsg, key) 36190 case "disableIPSecReplayProtection": 36191 err = unpopulate(val, "DisableIPSecReplayProtection", &v.DisableIPSecReplayProtection) 36192 delete(rawMsg, key) 36193 case "enableBgp": 36194 err = unpopulate(val, "EnableBgp", &v.EnableBgp) 36195 delete(rawMsg, key) 36196 case "enableBgpRouteTranslationForNat": 36197 err = unpopulate(val, "EnableBgpRouteTranslationForNat", &v.EnableBgpRouteTranslationForNat) 36198 delete(rawMsg, key) 36199 case "enableDnsForwarding": 36200 err = unpopulate(val, "EnableDNSForwarding", &v.EnableDNSForwarding) 36201 delete(rawMsg, key) 36202 case "enablePrivateIpAddress": 36203 err = unpopulate(val, "EnablePrivateIPAddress", &v.EnablePrivateIPAddress) 36204 delete(rawMsg, key) 36205 case "gatewayDefaultSite": 36206 err = unpopulate(val, "GatewayDefaultSite", &v.GatewayDefaultSite) 36207 delete(rawMsg, key) 36208 case "gatewayType": 36209 err = unpopulate(val, "GatewayType", &v.GatewayType) 36210 delete(rawMsg, key) 36211 case "ipConfigurations": 36212 err = unpopulate(val, "IPConfigurations", &v.IPConfigurations) 36213 delete(rawMsg, key) 36214 case "inboundDnsForwardingEndpoint": 36215 err = unpopulate(val, "InboundDNSForwardingEndpoint", &v.InboundDNSForwardingEndpoint) 36216 delete(rawMsg, key) 36217 case "natRules": 36218 err = unpopulate(val, "NatRules", &v.NatRules) 36219 delete(rawMsg, key) 36220 case "provisioningState": 36221 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 36222 delete(rawMsg, key) 36223 case "resiliencyModel": 36224 err = unpopulate(val, "ResiliencyModel", &v.ResiliencyModel) 36225 delete(rawMsg, key) 36226 case "resourceGuid": 36227 err = unpopulate(val, "ResourceGUID", &v.ResourceGUID) 36228 delete(rawMsg, key) 36229 case "sku": 36230 err = unpopulate(val, "SKU", &v.SKU) 36231 delete(rawMsg, key) 36232 case "vNetExtendedLocationResourceId": 36233 err = unpopulate(val, "VNetExtendedLocationResourceID", &v.VNetExtendedLocationResourceID) 36234 delete(rawMsg, key) 36235 case "vpnClientConfiguration": 36236 err = unpopulate(val, "VPNClientConfiguration", &v.VPNClientConfiguration) 36237 delete(rawMsg, key) 36238 case "vpnGatewayGeneration": 36239 err = unpopulate(val, "VPNGatewayGeneration", &v.VPNGatewayGeneration) 36240 delete(rawMsg, key) 36241 case "vpnType": 36242 err = unpopulate(val, "VPNType", &v.VPNType) 36243 delete(rawMsg, key) 36244 case "virtualNetworkGatewayPolicyGroups": 36245 err = unpopulate(val, "VirtualNetworkGatewayPolicyGroups", &v.VirtualNetworkGatewayPolicyGroups) 36246 delete(rawMsg, key) 36247 } 36248 if err != nil { 36249 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36250 } 36251 } 36252 return nil 36253 } 36254 36255 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkGatewaySKU. 36256 func (v VirtualNetworkGatewaySKU) MarshalJSON() ([]byte, error) { 36257 objectMap := make(map[string]any) 36258 populate(objectMap, "capacity", v.Capacity) 36259 populate(objectMap, "name", v.Name) 36260 populate(objectMap, "tier", v.Tier) 36261 return json.Marshal(objectMap) 36262 } 36263 36264 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkGatewaySKU. 36265 func (v *VirtualNetworkGatewaySKU) UnmarshalJSON(data []byte) error { 36266 var rawMsg map[string]json.RawMessage 36267 if err := json.Unmarshal(data, &rawMsg); err != nil { 36268 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36269 } 36270 for key, val := range rawMsg { 36271 var err error 36272 switch key { 36273 case "capacity": 36274 err = unpopulate(val, "Capacity", &v.Capacity) 36275 delete(rawMsg, key) 36276 case "name": 36277 err = unpopulate(val, "Name", &v.Name) 36278 delete(rawMsg, key) 36279 case "tier": 36280 err = unpopulate(val, "Tier", &v.Tier) 36281 delete(rawMsg, key) 36282 } 36283 if err != nil { 36284 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36285 } 36286 } 36287 return nil 36288 } 36289 36290 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkListResult. 36291 func (v VirtualNetworkListResult) MarshalJSON() ([]byte, error) { 36292 objectMap := make(map[string]any) 36293 populate(objectMap, "nextLink", v.NextLink) 36294 populate(objectMap, "value", v.Value) 36295 return json.Marshal(objectMap) 36296 } 36297 36298 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkListResult. 36299 func (v *VirtualNetworkListResult) UnmarshalJSON(data []byte) error { 36300 var rawMsg map[string]json.RawMessage 36301 if err := json.Unmarshal(data, &rawMsg); err != nil { 36302 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36303 } 36304 for key, val := range rawMsg { 36305 var err error 36306 switch key { 36307 case "nextLink": 36308 err = unpopulate(val, "NextLink", &v.NextLink) 36309 delete(rawMsg, key) 36310 case "value": 36311 err = unpopulate(val, "Value", &v.Value) 36312 delete(rawMsg, key) 36313 } 36314 if err != nil { 36315 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36316 } 36317 } 36318 return nil 36319 } 36320 36321 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkListUsageResult. 36322 func (v VirtualNetworkListUsageResult) MarshalJSON() ([]byte, error) { 36323 objectMap := make(map[string]any) 36324 populate(objectMap, "nextLink", v.NextLink) 36325 populate(objectMap, "value", v.Value) 36326 return json.Marshal(objectMap) 36327 } 36328 36329 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkListUsageResult. 36330 func (v *VirtualNetworkListUsageResult) UnmarshalJSON(data []byte) error { 36331 var rawMsg map[string]json.RawMessage 36332 if err := json.Unmarshal(data, &rawMsg); err != nil { 36333 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36334 } 36335 for key, val := range rawMsg { 36336 var err error 36337 switch key { 36338 case "nextLink": 36339 err = unpopulate(val, "NextLink", &v.NextLink) 36340 delete(rawMsg, key) 36341 case "value": 36342 err = unpopulate(val, "Value", &v.Value) 36343 delete(rawMsg, key) 36344 } 36345 if err != nil { 36346 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36347 } 36348 } 36349 return nil 36350 } 36351 36352 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeering. 36353 func (v VirtualNetworkPeering) MarshalJSON() ([]byte, error) { 36354 objectMap := make(map[string]any) 36355 populate(objectMap, "etag", v.Etag) 36356 populate(objectMap, "id", v.ID) 36357 populate(objectMap, "name", v.Name) 36358 populate(objectMap, "properties", v.Properties) 36359 populate(objectMap, "type", v.Type) 36360 return json.Marshal(objectMap) 36361 } 36362 36363 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkPeering. 36364 func (v *VirtualNetworkPeering) UnmarshalJSON(data []byte) error { 36365 var rawMsg map[string]json.RawMessage 36366 if err := json.Unmarshal(data, &rawMsg); err != nil { 36367 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36368 } 36369 for key, val := range rawMsg { 36370 var err error 36371 switch key { 36372 case "etag": 36373 err = unpopulate(val, "Etag", &v.Etag) 36374 delete(rawMsg, key) 36375 case "id": 36376 err = unpopulate(val, "ID", &v.ID) 36377 delete(rawMsg, key) 36378 case "name": 36379 err = unpopulate(val, "Name", &v.Name) 36380 delete(rawMsg, key) 36381 case "properties": 36382 err = unpopulate(val, "Properties", &v.Properties) 36383 delete(rawMsg, key) 36384 case "type": 36385 err = unpopulate(val, "Type", &v.Type) 36386 delete(rawMsg, key) 36387 } 36388 if err != nil { 36389 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36390 } 36391 } 36392 return nil 36393 } 36394 36395 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeeringListResult. 36396 func (v VirtualNetworkPeeringListResult) MarshalJSON() ([]byte, error) { 36397 objectMap := make(map[string]any) 36398 populate(objectMap, "nextLink", v.NextLink) 36399 populate(objectMap, "value", v.Value) 36400 return json.Marshal(objectMap) 36401 } 36402 36403 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkPeeringListResult. 36404 func (v *VirtualNetworkPeeringListResult) UnmarshalJSON(data []byte) error { 36405 var rawMsg map[string]json.RawMessage 36406 if err := json.Unmarshal(data, &rawMsg); err != nil { 36407 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36408 } 36409 for key, val := range rawMsg { 36410 var err error 36411 switch key { 36412 case "nextLink": 36413 err = unpopulate(val, "NextLink", &v.NextLink) 36414 delete(rawMsg, key) 36415 case "value": 36416 err = unpopulate(val, "Value", &v.Value) 36417 delete(rawMsg, key) 36418 } 36419 if err != nil { 36420 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36421 } 36422 } 36423 return nil 36424 } 36425 36426 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPeeringPropertiesFormat. 36427 func (v VirtualNetworkPeeringPropertiesFormat) MarshalJSON() ([]byte, error) { 36428 objectMap := make(map[string]any) 36429 populate(objectMap, "allowForwardedTraffic", v.AllowForwardedTraffic) 36430 populate(objectMap, "allowGatewayTransit", v.AllowGatewayTransit) 36431 populate(objectMap, "allowVirtualNetworkAccess", v.AllowVirtualNetworkAccess) 36432 populate(objectMap, "doNotVerifyRemoteGateways", v.DoNotVerifyRemoteGateways) 36433 populate(objectMap, "enableOnlyIPv6Peering", v.EnableOnlyIPv6Peering) 36434 populate(objectMap, "localAddressSpace", v.LocalAddressSpace) 36435 populate(objectMap, "localSubnetNames", v.LocalSubnetNames) 36436 populate(objectMap, "localVirtualNetworkAddressSpace", v.LocalVirtualNetworkAddressSpace) 36437 populate(objectMap, "peerCompleteVnets", v.PeerCompleteVnets) 36438 populate(objectMap, "peeringState", v.PeeringState) 36439 populate(objectMap, "peeringSyncLevel", v.PeeringSyncLevel) 36440 populate(objectMap, "provisioningState", v.ProvisioningState) 36441 populate(objectMap, "remoteAddressSpace", v.RemoteAddressSpace) 36442 populate(objectMap, "remoteBgpCommunities", v.RemoteBgpCommunities) 36443 populate(objectMap, "remoteSubnetNames", v.RemoteSubnetNames) 36444 populate(objectMap, "remoteVirtualNetwork", v.RemoteVirtualNetwork) 36445 populate(objectMap, "remoteVirtualNetworkAddressSpace", v.RemoteVirtualNetworkAddressSpace) 36446 populate(objectMap, "remoteVirtualNetworkEncryption", v.RemoteVirtualNetworkEncryption) 36447 populate(objectMap, "resourceGuid", v.ResourceGUID) 36448 populate(objectMap, "useRemoteGateways", v.UseRemoteGateways) 36449 return json.Marshal(objectMap) 36450 } 36451 36452 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkPeeringPropertiesFormat. 36453 func (v *VirtualNetworkPeeringPropertiesFormat) UnmarshalJSON(data []byte) error { 36454 var rawMsg map[string]json.RawMessage 36455 if err := json.Unmarshal(data, &rawMsg); err != nil { 36456 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36457 } 36458 for key, val := range rawMsg { 36459 var err error 36460 switch key { 36461 case "allowForwardedTraffic": 36462 err = unpopulate(val, "AllowForwardedTraffic", &v.AllowForwardedTraffic) 36463 delete(rawMsg, key) 36464 case "allowGatewayTransit": 36465 err = unpopulate(val, "AllowGatewayTransit", &v.AllowGatewayTransit) 36466 delete(rawMsg, key) 36467 case "allowVirtualNetworkAccess": 36468 err = unpopulate(val, "AllowVirtualNetworkAccess", &v.AllowVirtualNetworkAccess) 36469 delete(rawMsg, key) 36470 case "doNotVerifyRemoteGateways": 36471 err = unpopulate(val, "DoNotVerifyRemoteGateways", &v.DoNotVerifyRemoteGateways) 36472 delete(rawMsg, key) 36473 case "enableOnlyIPv6Peering": 36474 err = unpopulate(val, "EnableOnlyIPv6Peering", &v.EnableOnlyIPv6Peering) 36475 delete(rawMsg, key) 36476 case "localAddressSpace": 36477 err = unpopulate(val, "LocalAddressSpace", &v.LocalAddressSpace) 36478 delete(rawMsg, key) 36479 case "localSubnetNames": 36480 err = unpopulate(val, "LocalSubnetNames", &v.LocalSubnetNames) 36481 delete(rawMsg, key) 36482 case "localVirtualNetworkAddressSpace": 36483 err = unpopulate(val, "LocalVirtualNetworkAddressSpace", &v.LocalVirtualNetworkAddressSpace) 36484 delete(rawMsg, key) 36485 case "peerCompleteVnets": 36486 err = unpopulate(val, "PeerCompleteVnets", &v.PeerCompleteVnets) 36487 delete(rawMsg, key) 36488 case "peeringState": 36489 err = unpopulate(val, "PeeringState", &v.PeeringState) 36490 delete(rawMsg, key) 36491 case "peeringSyncLevel": 36492 err = unpopulate(val, "PeeringSyncLevel", &v.PeeringSyncLevel) 36493 delete(rawMsg, key) 36494 case "provisioningState": 36495 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 36496 delete(rawMsg, key) 36497 case "remoteAddressSpace": 36498 err = unpopulate(val, "RemoteAddressSpace", &v.RemoteAddressSpace) 36499 delete(rawMsg, key) 36500 case "remoteBgpCommunities": 36501 err = unpopulate(val, "RemoteBgpCommunities", &v.RemoteBgpCommunities) 36502 delete(rawMsg, key) 36503 case "remoteSubnetNames": 36504 err = unpopulate(val, "RemoteSubnetNames", &v.RemoteSubnetNames) 36505 delete(rawMsg, key) 36506 case "remoteVirtualNetwork": 36507 err = unpopulate(val, "RemoteVirtualNetwork", &v.RemoteVirtualNetwork) 36508 delete(rawMsg, key) 36509 case "remoteVirtualNetworkAddressSpace": 36510 err = unpopulate(val, "RemoteVirtualNetworkAddressSpace", &v.RemoteVirtualNetworkAddressSpace) 36511 delete(rawMsg, key) 36512 case "remoteVirtualNetworkEncryption": 36513 err = unpopulate(val, "RemoteVirtualNetworkEncryption", &v.RemoteVirtualNetworkEncryption) 36514 delete(rawMsg, key) 36515 case "resourceGuid": 36516 err = unpopulate(val, "ResourceGUID", &v.ResourceGUID) 36517 delete(rawMsg, key) 36518 case "useRemoteGateways": 36519 err = unpopulate(val, "UseRemoteGateways", &v.UseRemoteGateways) 36520 delete(rawMsg, key) 36521 } 36522 if err != nil { 36523 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36524 } 36525 } 36526 return nil 36527 } 36528 36529 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkPropertiesFormat. 36530 func (v VirtualNetworkPropertiesFormat) MarshalJSON() ([]byte, error) { 36531 objectMap := make(map[string]any) 36532 populate(objectMap, "addressSpace", v.AddressSpace) 36533 populate(objectMap, "bgpCommunities", v.BgpCommunities) 36534 populate(objectMap, "ddosProtectionPlan", v.DdosProtectionPlan) 36535 populate(objectMap, "dhcpOptions", v.DhcpOptions) 36536 populate(objectMap, "enableDdosProtection", v.EnableDdosProtection) 36537 populate(objectMap, "enableVmProtection", v.EnableVMProtection) 36538 populate(objectMap, "encryption", v.Encryption) 36539 populate(objectMap, "flowLogs", v.FlowLogs) 36540 populate(objectMap, "flowTimeoutInMinutes", v.FlowTimeoutInMinutes) 36541 populate(objectMap, "ipAllocations", v.IPAllocations) 36542 populate(objectMap, "privateEndpointVNetPolicies", v.PrivateEndpointVNetPolicies) 36543 populate(objectMap, "provisioningState", v.ProvisioningState) 36544 populate(objectMap, "resourceGuid", v.ResourceGUID) 36545 populate(objectMap, "subnets", v.Subnets) 36546 populate(objectMap, "virtualNetworkPeerings", v.VirtualNetworkPeerings) 36547 return json.Marshal(objectMap) 36548 } 36549 36550 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkPropertiesFormat. 36551 func (v *VirtualNetworkPropertiesFormat) UnmarshalJSON(data []byte) error { 36552 var rawMsg map[string]json.RawMessage 36553 if err := json.Unmarshal(data, &rawMsg); err != nil { 36554 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36555 } 36556 for key, val := range rawMsg { 36557 var err error 36558 switch key { 36559 case "addressSpace": 36560 err = unpopulate(val, "AddressSpace", &v.AddressSpace) 36561 delete(rawMsg, key) 36562 case "bgpCommunities": 36563 err = unpopulate(val, "BgpCommunities", &v.BgpCommunities) 36564 delete(rawMsg, key) 36565 case "ddosProtectionPlan": 36566 err = unpopulate(val, "DdosProtectionPlan", &v.DdosProtectionPlan) 36567 delete(rawMsg, key) 36568 case "dhcpOptions": 36569 err = unpopulate(val, "DhcpOptions", &v.DhcpOptions) 36570 delete(rawMsg, key) 36571 case "enableDdosProtection": 36572 err = unpopulate(val, "EnableDdosProtection", &v.EnableDdosProtection) 36573 delete(rawMsg, key) 36574 case "enableVmProtection": 36575 err = unpopulate(val, "EnableVMProtection", &v.EnableVMProtection) 36576 delete(rawMsg, key) 36577 case "encryption": 36578 err = unpopulate(val, "Encryption", &v.Encryption) 36579 delete(rawMsg, key) 36580 case "flowLogs": 36581 err = unpopulate(val, "FlowLogs", &v.FlowLogs) 36582 delete(rawMsg, key) 36583 case "flowTimeoutInMinutes": 36584 err = unpopulate(val, "FlowTimeoutInMinutes", &v.FlowTimeoutInMinutes) 36585 delete(rawMsg, key) 36586 case "ipAllocations": 36587 err = unpopulate(val, "IPAllocations", &v.IPAllocations) 36588 delete(rawMsg, key) 36589 case "privateEndpointVNetPolicies": 36590 err = unpopulate(val, "PrivateEndpointVNetPolicies", &v.PrivateEndpointVNetPolicies) 36591 delete(rawMsg, key) 36592 case "provisioningState": 36593 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 36594 delete(rawMsg, key) 36595 case "resourceGuid": 36596 err = unpopulate(val, "ResourceGUID", &v.ResourceGUID) 36597 delete(rawMsg, key) 36598 case "subnets": 36599 err = unpopulate(val, "Subnets", &v.Subnets) 36600 delete(rawMsg, key) 36601 case "virtualNetworkPeerings": 36602 err = unpopulate(val, "VirtualNetworkPeerings", &v.VirtualNetworkPeerings) 36603 delete(rawMsg, key) 36604 } 36605 if err != nil { 36606 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36607 } 36608 } 36609 return nil 36610 } 36611 36612 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTap. 36613 func (v VirtualNetworkTap) MarshalJSON() ([]byte, error) { 36614 objectMap := make(map[string]any) 36615 populate(objectMap, "etag", v.Etag) 36616 populate(objectMap, "id", v.ID) 36617 populate(objectMap, "location", v.Location) 36618 populate(objectMap, "name", v.Name) 36619 populate(objectMap, "properties", v.Properties) 36620 populate(objectMap, "tags", v.Tags) 36621 populate(objectMap, "type", v.Type) 36622 return json.Marshal(objectMap) 36623 } 36624 36625 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkTap. 36626 func (v *VirtualNetworkTap) UnmarshalJSON(data []byte) error { 36627 var rawMsg map[string]json.RawMessage 36628 if err := json.Unmarshal(data, &rawMsg); err != nil { 36629 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36630 } 36631 for key, val := range rawMsg { 36632 var err error 36633 switch key { 36634 case "etag": 36635 err = unpopulate(val, "Etag", &v.Etag) 36636 delete(rawMsg, key) 36637 case "id": 36638 err = unpopulate(val, "ID", &v.ID) 36639 delete(rawMsg, key) 36640 case "location": 36641 err = unpopulate(val, "Location", &v.Location) 36642 delete(rawMsg, key) 36643 case "name": 36644 err = unpopulate(val, "Name", &v.Name) 36645 delete(rawMsg, key) 36646 case "properties": 36647 err = unpopulate(val, "Properties", &v.Properties) 36648 delete(rawMsg, key) 36649 case "tags": 36650 err = unpopulate(val, "Tags", &v.Tags) 36651 delete(rawMsg, key) 36652 case "type": 36653 err = unpopulate(val, "Type", &v.Type) 36654 delete(rawMsg, key) 36655 } 36656 if err != nil { 36657 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36658 } 36659 } 36660 return nil 36661 } 36662 36663 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTapListResult. 36664 func (v VirtualNetworkTapListResult) MarshalJSON() ([]byte, error) { 36665 objectMap := make(map[string]any) 36666 populate(objectMap, "nextLink", v.NextLink) 36667 populate(objectMap, "value", v.Value) 36668 return json.Marshal(objectMap) 36669 } 36670 36671 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkTapListResult. 36672 func (v *VirtualNetworkTapListResult) UnmarshalJSON(data []byte) error { 36673 var rawMsg map[string]json.RawMessage 36674 if err := json.Unmarshal(data, &rawMsg); err != nil { 36675 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36676 } 36677 for key, val := range rawMsg { 36678 var err error 36679 switch key { 36680 case "nextLink": 36681 err = unpopulate(val, "NextLink", &v.NextLink) 36682 delete(rawMsg, key) 36683 case "value": 36684 err = unpopulate(val, "Value", &v.Value) 36685 delete(rawMsg, key) 36686 } 36687 if err != nil { 36688 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36689 } 36690 } 36691 return nil 36692 } 36693 36694 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkTapPropertiesFormat. 36695 func (v VirtualNetworkTapPropertiesFormat) MarshalJSON() ([]byte, error) { 36696 objectMap := make(map[string]any) 36697 populate(objectMap, "destinationLoadBalancerFrontEndIPConfiguration", v.DestinationLoadBalancerFrontEndIPConfiguration) 36698 populate(objectMap, "destinationNetworkInterfaceIPConfiguration", v.DestinationNetworkInterfaceIPConfiguration) 36699 populate(objectMap, "destinationPort", v.DestinationPort) 36700 populate(objectMap, "networkInterfaceTapConfigurations", v.NetworkInterfaceTapConfigurations) 36701 populate(objectMap, "provisioningState", v.ProvisioningState) 36702 populate(objectMap, "resourceGuid", v.ResourceGUID) 36703 return json.Marshal(objectMap) 36704 } 36705 36706 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkTapPropertiesFormat. 36707 func (v *VirtualNetworkTapPropertiesFormat) UnmarshalJSON(data []byte) error { 36708 var rawMsg map[string]json.RawMessage 36709 if err := json.Unmarshal(data, &rawMsg); err != nil { 36710 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36711 } 36712 for key, val := range rawMsg { 36713 var err error 36714 switch key { 36715 case "destinationLoadBalancerFrontEndIPConfiguration": 36716 err = unpopulate(val, "DestinationLoadBalancerFrontEndIPConfiguration", &v.DestinationLoadBalancerFrontEndIPConfiguration) 36717 delete(rawMsg, key) 36718 case "destinationNetworkInterfaceIPConfiguration": 36719 err = unpopulate(val, "DestinationNetworkInterfaceIPConfiguration", &v.DestinationNetworkInterfaceIPConfiguration) 36720 delete(rawMsg, key) 36721 case "destinationPort": 36722 err = unpopulate(val, "DestinationPort", &v.DestinationPort) 36723 delete(rawMsg, key) 36724 case "networkInterfaceTapConfigurations": 36725 err = unpopulate(val, "NetworkInterfaceTapConfigurations", &v.NetworkInterfaceTapConfigurations) 36726 delete(rawMsg, key) 36727 case "provisioningState": 36728 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 36729 delete(rawMsg, key) 36730 case "resourceGuid": 36731 err = unpopulate(val, "ResourceGUID", &v.ResourceGUID) 36732 delete(rawMsg, key) 36733 } 36734 if err != nil { 36735 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36736 } 36737 } 36738 return nil 36739 } 36740 36741 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkUsage. 36742 func (v VirtualNetworkUsage) MarshalJSON() ([]byte, error) { 36743 objectMap := make(map[string]any) 36744 populate(objectMap, "currentValue", v.CurrentValue) 36745 populate(objectMap, "id", v.ID) 36746 populate(objectMap, "limit", v.Limit) 36747 populate(objectMap, "name", v.Name) 36748 populate(objectMap, "unit", v.Unit) 36749 return json.Marshal(objectMap) 36750 } 36751 36752 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkUsage. 36753 func (v *VirtualNetworkUsage) UnmarshalJSON(data []byte) error { 36754 var rawMsg map[string]json.RawMessage 36755 if err := json.Unmarshal(data, &rawMsg); err != nil { 36756 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36757 } 36758 for key, val := range rawMsg { 36759 var err error 36760 switch key { 36761 case "currentValue": 36762 err = unpopulate(val, "CurrentValue", &v.CurrentValue) 36763 delete(rawMsg, key) 36764 case "id": 36765 err = unpopulate(val, "ID", &v.ID) 36766 delete(rawMsg, key) 36767 case "limit": 36768 err = unpopulate(val, "Limit", &v.Limit) 36769 delete(rawMsg, key) 36770 case "name": 36771 err = unpopulate(val, "Name", &v.Name) 36772 delete(rawMsg, key) 36773 case "unit": 36774 err = unpopulate(val, "Unit", &v.Unit) 36775 delete(rawMsg, key) 36776 } 36777 if err != nil { 36778 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36779 } 36780 } 36781 return nil 36782 } 36783 36784 // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkUsageName. 36785 func (v VirtualNetworkUsageName) MarshalJSON() ([]byte, error) { 36786 objectMap := make(map[string]any) 36787 populate(objectMap, "localizedValue", v.LocalizedValue) 36788 populate(objectMap, "value", v.Value) 36789 return json.Marshal(objectMap) 36790 } 36791 36792 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkUsageName. 36793 func (v *VirtualNetworkUsageName) UnmarshalJSON(data []byte) error { 36794 var rawMsg map[string]json.RawMessage 36795 if err := json.Unmarshal(data, &rawMsg); err != nil { 36796 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36797 } 36798 for key, val := range rawMsg { 36799 var err error 36800 switch key { 36801 case "localizedValue": 36802 err = unpopulate(val, "LocalizedValue", &v.LocalizedValue) 36803 delete(rawMsg, key) 36804 case "value": 36805 err = unpopulate(val, "Value", &v.Value) 36806 delete(rawMsg, key) 36807 } 36808 if err != nil { 36809 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36810 } 36811 } 36812 return nil 36813 } 36814 36815 // MarshalJSON implements the json.Marshaller interface for type VirtualRouter. 36816 func (v VirtualRouter) MarshalJSON() ([]byte, error) { 36817 objectMap := make(map[string]any) 36818 populate(objectMap, "etag", v.Etag) 36819 populate(objectMap, "id", v.ID) 36820 populate(objectMap, "location", v.Location) 36821 populate(objectMap, "name", v.Name) 36822 populate(objectMap, "properties", v.Properties) 36823 populate(objectMap, "tags", v.Tags) 36824 populate(objectMap, "type", v.Type) 36825 return json.Marshal(objectMap) 36826 } 36827 36828 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouter. 36829 func (v *VirtualRouter) UnmarshalJSON(data []byte) error { 36830 var rawMsg map[string]json.RawMessage 36831 if err := json.Unmarshal(data, &rawMsg); err != nil { 36832 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36833 } 36834 for key, val := range rawMsg { 36835 var err error 36836 switch key { 36837 case "etag": 36838 err = unpopulate(val, "Etag", &v.Etag) 36839 delete(rawMsg, key) 36840 case "id": 36841 err = unpopulate(val, "ID", &v.ID) 36842 delete(rawMsg, key) 36843 case "location": 36844 err = unpopulate(val, "Location", &v.Location) 36845 delete(rawMsg, key) 36846 case "name": 36847 err = unpopulate(val, "Name", &v.Name) 36848 delete(rawMsg, key) 36849 case "properties": 36850 err = unpopulate(val, "Properties", &v.Properties) 36851 delete(rawMsg, key) 36852 case "tags": 36853 err = unpopulate(val, "Tags", &v.Tags) 36854 delete(rawMsg, key) 36855 case "type": 36856 err = unpopulate(val, "Type", &v.Type) 36857 delete(rawMsg, key) 36858 } 36859 if err != nil { 36860 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36861 } 36862 } 36863 return nil 36864 } 36865 36866 // MarshalJSON implements the json.Marshaller interface for type VirtualRouterAutoScaleConfiguration. 36867 func (v VirtualRouterAutoScaleConfiguration) MarshalJSON() ([]byte, error) { 36868 objectMap := make(map[string]any) 36869 populate(objectMap, "minCapacity", v.MinCapacity) 36870 return json.Marshal(objectMap) 36871 } 36872 36873 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouterAutoScaleConfiguration. 36874 func (v *VirtualRouterAutoScaleConfiguration) UnmarshalJSON(data []byte) error { 36875 var rawMsg map[string]json.RawMessage 36876 if err := json.Unmarshal(data, &rawMsg); err != nil { 36877 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36878 } 36879 for key, val := range rawMsg { 36880 var err error 36881 switch key { 36882 case "minCapacity": 36883 err = unpopulate(val, "MinCapacity", &v.MinCapacity) 36884 delete(rawMsg, key) 36885 } 36886 if err != nil { 36887 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36888 } 36889 } 36890 return nil 36891 } 36892 36893 // MarshalJSON implements the json.Marshaller interface for type VirtualRouterListResult. 36894 func (v VirtualRouterListResult) MarshalJSON() ([]byte, error) { 36895 objectMap := make(map[string]any) 36896 populate(objectMap, "nextLink", v.NextLink) 36897 populate(objectMap, "value", v.Value) 36898 return json.Marshal(objectMap) 36899 } 36900 36901 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouterListResult. 36902 func (v *VirtualRouterListResult) UnmarshalJSON(data []byte) error { 36903 var rawMsg map[string]json.RawMessage 36904 if err := json.Unmarshal(data, &rawMsg); err != nil { 36905 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36906 } 36907 for key, val := range rawMsg { 36908 var err error 36909 switch key { 36910 case "nextLink": 36911 err = unpopulate(val, "NextLink", &v.NextLink) 36912 delete(rawMsg, key) 36913 case "value": 36914 err = unpopulate(val, "Value", &v.Value) 36915 delete(rawMsg, key) 36916 } 36917 if err != nil { 36918 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36919 } 36920 } 36921 return nil 36922 } 36923 36924 // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeering. 36925 func (v VirtualRouterPeering) MarshalJSON() ([]byte, error) { 36926 objectMap := make(map[string]any) 36927 populate(objectMap, "etag", v.Etag) 36928 populate(objectMap, "id", v.ID) 36929 populate(objectMap, "name", v.Name) 36930 populate(objectMap, "properties", v.Properties) 36931 populate(objectMap, "type", v.Type) 36932 return json.Marshal(objectMap) 36933 } 36934 36935 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouterPeering. 36936 func (v *VirtualRouterPeering) UnmarshalJSON(data []byte) error { 36937 var rawMsg map[string]json.RawMessage 36938 if err := json.Unmarshal(data, &rawMsg); err != nil { 36939 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36940 } 36941 for key, val := range rawMsg { 36942 var err error 36943 switch key { 36944 case "etag": 36945 err = unpopulate(val, "Etag", &v.Etag) 36946 delete(rawMsg, key) 36947 case "id": 36948 err = unpopulate(val, "ID", &v.ID) 36949 delete(rawMsg, key) 36950 case "name": 36951 err = unpopulate(val, "Name", &v.Name) 36952 delete(rawMsg, key) 36953 case "properties": 36954 err = unpopulate(val, "Properties", &v.Properties) 36955 delete(rawMsg, key) 36956 case "type": 36957 err = unpopulate(val, "Type", &v.Type) 36958 delete(rawMsg, key) 36959 } 36960 if err != nil { 36961 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36962 } 36963 } 36964 return nil 36965 } 36966 36967 // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeeringListResult. 36968 func (v VirtualRouterPeeringListResult) MarshalJSON() ([]byte, error) { 36969 objectMap := make(map[string]any) 36970 populate(objectMap, "nextLink", v.NextLink) 36971 populate(objectMap, "value", v.Value) 36972 return json.Marshal(objectMap) 36973 } 36974 36975 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouterPeeringListResult. 36976 func (v *VirtualRouterPeeringListResult) UnmarshalJSON(data []byte) error { 36977 var rawMsg map[string]json.RawMessage 36978 if err := json.Unmarshal(data, &rawMsg); err != nil { 36979 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36980 } 36981 for key, val := range rawMsg { 36982 var err error 36983 switch key { 36984 case "nextLink": 36985 err = unpopulate(val, "NextLink", &v.NextLink) 36986 delete(rawMsg, key) 36987 case "value": 36988 err = unpopulate(val, "Value", &v.Value) 36989 delete(rawMsg, key) 36990 } 36991 if err != nil { 36992 return fmt.Errorf("unmarshalling type %T: %v", v, err) 36993 } 36994 } 36995 return nil 36996 } 36997 36998 // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPeeringProperties. 36999 func (v VirtualRouterPeeringProperties) MarshalJSON() ([]byte, error) { 37000 objectMap := make(map[string]any) 37001 populate(objectMap, "peerAsn", v.PeerAsn) 37002 populate(objectMap, "peerIp", v.PeerIP) 37003 populate(objectMap, "provisioningState", v.ProvisioningState) 37004 return json.Marshal(objectMap) 37005 } 37006 37007 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouterPeeringProperties. 37008 func (v *VirtualRouterPeeringProperties) UnmarshalJSON(data []byte) error { 37009 var rawMsg map[string]json.RawMessage 37010 if err := json.Unmarshal(data, &rawMsg); err != nil { 37011 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37012 } 37013 for key, val := range rawMsg { 37014 var err error 37015 switch key { 37016 case "peerAsn": 37017 err = unpopulate(val, "PeerAsn", &v.PeerAsn) 37018 delete(rawMsg, key) 37019 case "peerIp": 37020 err = unpopulate(val, "PeerIP", &v.PeerIP) 37021 delete(rawMsg, key) 37022 case "provisioningState": 37023 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 37024 delete(rawMsg, key) 37025 } 37026 if err != nil { 37027 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37028 } 37029 } 37030 return nil 37031 } 37032 37033 // MarshalJSON implements the json.Marshaller interface for type VirtualRouterPropertiesFormat. 37034 func (v VirtualRouterPropertiesFormat) MarshalJSON() ([]byte, error) { 37035 objectMap := make(map[string]any) 37036 populate(objectMap, "hostedGateway", v.HostedGateway) 37037 populate(objectMap, "hostedSubnet", v.HostedSubnet) 37038 populate(objectMap, "peerings", v.Peerings) 37039 populate(objectMap, "provisioningState", v.ProvisioningState) 37040 populate(objectMap, "virtualRouterAsn", v.VirtualRouterAsn) 37041 populate(objectMap, "virtualRouterIps", v.VirtualRouterIPs) 37042 return json.Marshal(objectMap) 37043 } 37044 37045 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualRouterPropertiesFormat. 37046 func (v *VirtualRouterPropertiesFormat) UnmarshalJSON(data []byte) error { 37047 var rawMsg map[string]json.RawMessage 37048 if err := json.Unmarshal(data, &rawMsg); err != nil { 37049 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37050 } 37051 for key, val := range rawMsg { 37052 var err error 37053 switch key { 37054 case "hostedGateway": 37055 err = unpopulate(val, "HostedGateway", &v.HostedGateway) 37056 delete(rawMsg, key) 37057 case "hostedSubnet": 37058 err = unpopulate(val, "HostedSubnet", &v.HostedSubnet) 37059 delete(rawMsg, key) 37060 case "peerings": 37061 err = unpopulate(val, "Peerings", &v.Peerings) 37062 delete(rawMsg, key) 37063 case "provisioningState": 37064 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 37065 delete(rawMsg, key) 37066 case "virtualRouterAsn": 37067 err = unpopulate(val, "VirtualRouterAsn", &v.VirtualRouterAsn) 37068 delete(rawMsg, key) 37069 case "virtualRouterIps": 37070 err = unpopulate(val, "VirtualRouterIPs", &v.VirtualRouterIPs) 37071 delete(rawMsg, key) 37072 } 37073 if err != nil { 37074 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37075 } 37076 } 37077 return nil 37078 } 37079 37080 // MarshalJSON implements the json.Marshaller interface for type VirtualWAN. 37081 func (v VirtualWAN) MarshalJSON() ([]byte, error) { 37082 objectMap := make(map[string]any) 37083 populate(objectMap, "etag", v.Etag) 37084 populate(objectMap, "id", v.ID) 37085 populate(objectMap, "location", v.Location) 37086 populate(objectMap, "name", v.Name) 37087 populate(objectMap, "properties", v.Properties) 37088 populate(objectMap, "tags", v.Tags) 37089 populate(objectMap, "type", v.Type) 37090 return json.Marshal(objectMap) 37091 } 37092 37093 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualWAN. 37094 func (v *VirtualWAN) UnmarshalJSON(data []byte) error { 37095 var rawMsg map[string]json.RawMessage 37096 if err := json.Unmarshal(data, &rawMsg); err != nil { 37097 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37098 } 37099 for key, val := range rawMsg { 37100 var err error 37101 switch key { 37102 case "etag": 37103 err = unpopulate(val, "Etag", &v.Etag) 37104 delete(rawMsg, key) 37105 case "id": 37106 err = unpopulate(val, "ID", &v.ID) 37107 delete(rawMsg, key) 37108 case "location": 37109 err = unpopulate(val, "Location", &v.Location) 37110 delete(rawMsg, key) 37111 case "name": 37112 err = unpopulate(val, "Name", &v.Name) 37113 delete(rawMsg, key) 37114 case "properties": 37115 err = unpopulate(val, "Properties", &v.Properties) 37116 delete(rawMsg, key) 37117 case "tags": 37118 err = unpopulate(val, "Tags", &v.Tags) 37119 delete(rawMsg, key) 37120 case "type": 37121 err = unpopulate(val, "Type", &v.Type) 37122 delete(rawMsg, key) 37123 } 37124 if err != nil { 37125 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37126 } 37127 } 37128 return nil 37129 } 37130 37131 // MarshalJSON implements the json.Marshaller interface for type VirtualWanProperties. 37132 func (v VirtualWanProperties) MarshalJSON() ([]byte, error) { 37133 objectMap := make(map[string]any) 37134 populate(objectMap, "allowBranchToBranchTraffic", v.AllowBranchToBranchTraffic) 37135 populate(objectMap, "allowVnetToVnetTraffic", v.AllowVnetToVnetTraffic) 37136 populate(objectMap, "disableVpnEncryption", v.DisableVPNEncryption) 37137 populate(objectMap, "office365LocalBreakoutCategory", v.Office365LocalBreakoutCategory) 37138 populate(objectMap, "provisioningState", v.ProvisioningState) 37139 populate(objectMap, "type", v.Type) 37140 populate(objectMap, "vpnSites", v.VPNSites) 37141 populate(objectMap, "virtualHubs", v.VirtualHubs) 37142 return json.Marshal(objectMap) 37143 } 37144 37145 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualWanProperties. 37146 func (v *VirtualWanProperties) UnmarshalJSON(data []byte) error { 37147 var rawMsg map[string]json.RawMessage 37148 if err := json.Unmarshal(data, &rawMsg); err != nil { 37149 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37150 } 37151 for key, val := range rawMsg { 37152 var err error 37153 switch key { 37154 case "allowBranchToBranchTraffic": 37155 err = unpopulate(val, "AllowBranchToBranchTraffic", &v.AllowBranchToBranchTraffic) 37156 delete(rawMsg, key) 37157 case "allowVnetToVnetTraffic": 37158 err = unpopulate(val, "AllowVnetToVnetTraffic", &v.AllowVnetToVnetTraffic) 37159 delete(rawMsg, key) 37160 case "disableVpnEncryption": 37161 err = unpopulate(val, "DisableVPNEncryption", &v.DisableVPNEncryption) 37162 delete(rawMsg, key) 37163 case "office365LocalBreakoutCategory": 37164 err = unpopulate(val, "Office365LocalBreakoutCategory", &v.Office365LocalBreakoutCategory) 37165 delete(rawMsg, key) 37166 case "provisioningState": 37167 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 37168 delete(rawMsg, key) 37169 case "type": 37170 err = unpopulate(val, "Type", &v.Type) 37171 delete(rawMsg, key) 37172 case "vpnSites": 37173 err = unpopulate(val, "VPNSites", &v.VPNSites) 37174 delete(rawMsg, key) 37175 case "virtualHubs": 37176 err = unpopulate(val, "VirtualHubs", &v.VirtualHubs) 37177 delete(rawMsg, key) 37178 } 37179 if err != nil { 37180 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37181 } 37182 } 37183 return nil 37184 } 37185 37186 // MarshalJSON implements the json.Marshaller interface for type VirtualWanSecurityProvider. 37187 func (v VirtualWanSecurityProvider) MarshalJSON() ([]byte, error) { 37188 objectMap := make(map[string]any) 37189 populate(objectMap, "name", v.Name) 37190 populate(objectMap, "type", v.Type) 37191 populate(objectMap, "url", v.URL) 37192 return json.Marshal(objectMap) 37193 } 37194 37195 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualWanSecurityProvider. 37196 func (v *VirtualWanSecurityProvider) UnmarshalJSON(data []byte) error { 37197 var rawMsg map[string]json.RawMessage 37198 if err := json.Unmarshal(data, &rawMsg); err != nil { 37199 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37200 } 37201 for key, val := range rawMsg { 37202 var err error 37203 switch key { 37204 case "name": 37205 err = unpopulate(val, "Name", &v.Name) 37206 delete(rawMsg, key) 37207 case "type": 37208 err = unpopulate(val, "Type", &v.Type) 37209 delete(rawMsg, key) 37210 case "url": 37211 err = unpopulate(val, "URL", &v.URL) 37212 delete(rawMsg, key) 37213 } 37214 if err != nil { 37215 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37216 } 37217 } 37218 return nil 37219 } 37220 37221 // MarshalJSON implements the json.Marshaller interface for type VirtualWanSecurityProviders. 37222 func (v VirtualWanSecurityProviders) MarshalJSON() ([]byte, error) { 37223 objectMap := make(map[string]any) 37224 populate(objectMap, "supportedProviders", v.SupportedProviders) 37225 return json.Marshal(objectMap) 37226 } 37227 37228 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualWanSecurityProviders. 37229 func (v *VirtualWanSecurityProviders) UnmarshalJSON(data []byte) error { 37230 var rawMsg map[string]json.RawMessage 37231 if err := json.Unmarshal(data, &rawMsg); err != nil { 37232 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37233 } 37234 for key, val := range rawMsg { 37235 var err error 37236 switch key { 37237 case "supportedProviders": 37238 err = unpopulate(val, "SupportedProviders", &v.SupportedProviders) 37239 delete(rawMsg, key) 37240 } 37241 if err != nil { 37242 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37243 } 37244 } 37245 return nil 37246 } 37247 37248 // MarshalJSON implements the json.Marshaller interface for type VirtualWanVPNProfileParameters. 37249 func (v VirtualWanVPNProfileParameters) MarshalJSON() ([]byte, error) { 37250 objectMap := make(map[string]any) 37251 populate(objectMap, "authenticationMethod", v.AuthenticationMethod) 37252 populate(objectMap, "vpnServerConfigurationResourceId", v.VPNServerConfigurationResourceID) 37253 return json.Marshal(objectMap) 37254 } 37255 37256 // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualWanVPNProfileParameters. 37257 func (v *VirtualWanVPNProfileParameters) UnmarshalJSON(data []byte) error { 37258 var rawMsg map[string]json.RawMessage 37259 if err := json.Unmarshal(data, &rawMsg); err != nil { 37260 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37261 } 37262 for key, val := range rawMsg { 37263 var err error 37264 switch key { 37265 case "authenticationMethod": 37266 err = unpopulate(val, "AuthenticationMethod", &v.AuthenticationMethod) 37267 delete(rawMsg, key) 37268 case "vpnServerConfigurationResourceId": 37269 err = unpopulate(val, "VPNServerConfigurationResourceID", &v.VPNServerConfigurationResourceID) 37270 delete(rawMsg, key) 37271 } 37272 if err != nil { 37273 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37274 } 37275 } 37276 return nil 37277 } 37278 37279 // MarshalJSON implements the json.Marshaller interface for type VnetRoute. 37280 func (v VnetRoute) MarshalJSON() ([]byte, error) { 37281 objectMap := make(map[string]any) 37282 populate(objectMap, "bgpConnections", v.BgpConnections) 37283 populate(objectMap, "staticRoutes", v.StaticRoutes) 37284 populate(objectMap, "staticRoutesConfig", v.StaticRoutesConfig) 37285 return json.Marshal(objectMap) 37286 } 37287 37288 // UnmarshalJSON implements the json.Unmarshaller interface for type VnetRoute. 37289 func (v *VnetRoute) UnmarshalJSON(data []byte) error { 37290 var rawMsg map[string]json.RawMessage 37291 if err := json.Unmarshal(data, &rawMsg); err != nil { 37292 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37293 } 37294 for key, val := range rawMsg { 37295 var err error 37296 switch key { 37297 case "bgpConnections": 37298 err = unpopulate(val, "BgpConnections", &v.BgpConnections) 37299 delete(rawMsg, key) 37300 case "staticRoutes": 37301 err = unpopulate(val, "StaticRoutes", &v.StaticRoutes) 37302 delete(rawMsg, key) 37303 case "staticRoutesConfig": 37304 err = unpopulate(val, "StaticRoutesConfig", &v.StaticRoutesConfig) 37305 delete(rawMsg, key) 37306 } 37307 if err != nil { 37308 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37309 } 37310 } 37311 return nil 37312 } 37313 37314 // MarshalJSON implements the json.Marshaller interface for type VngClientConnectionConfiguration. 37315 func (v VngClientConnectionConfiguration) MarshalJSON() ([]byte, error) { 37316 objectMap := make(map[string]any) 37317 populate(objectMap, "etag", v.Etag) 37318 populate(objectMap, "id", v.ID) 37319 populate(objectMap, "name", v.Name) 37320 populate(objectMap, "properties", v.Properties) 37321 return json.Marshal(objectMap) 37322 } 37323 37324 // UnmarshalJSON implements the json.Unmarshaller interface for type VngClientConnectionConfiguration. 37325 func (v *VngClientConnectionConfiguration) UnmarshalJSON(data []byte) error { 37326 var rawMsg map[string]json.RawMessage 37327 if err := json.Unmarshal(data, &rawMsg); err != nil { 37328 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37329 } 37330 for key, val := range rawMsg { 37331 var err error 37332 switch key { 37333 case "etag": 37334 err = unpopulate(val, "Etag", &v.Etag) 37335 delete(rawMsg, key) 37336 case "id": 37337 err = unpopulate(val, "ID", &v.ID) 37338 delete(rawMsg, key) 37339 case "name": 37340 err = unpopulate(val, "Name", &v.Name) 37341 delete(rawMsg, key) 37342 case "properties": 37343 err = unpopulate(val, "Properties", &v.Properties) 37344 delete(rawMsg, key) 37345 } 37346 if err != nil { 37347 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37348 } 37349 } 37350 return nil 37351 } 37352 37353 // MarshalJSON implements the json.Marshaller interface for type VngClientConnectionConfigurationProperties. 37354 func (v VngClientConnectionConfigurationProperties) MarshalJSON() ([]byte, error) { 37355 objectMap := make(map[string]any) 37356 populate(objectMap, "provisioningState", v.ProvisioningState) 37357 populate(objectMap, "vpnClientAddressPool", v.VPNClientAddressPool) 37358 populate(objectMap, "virtualNetworkGatewayPolicyGroups", v.VirtualNetworkGatewayPolicyGroups) 37359 return json.Marshal(objectMap) 37360 } 37361 37362 // UnmarshalJSON implements the json.Unmarshaller interface for type VngClientConnectionConfigurationProperties. 37363 func (v *VngClientConnectionConfigurationProperties) UnmarshalJSON(data []byte) error { 37364 var rawMsg map[string]json.RawMessage 37365 if err := json.Unmarshal(data, &rawMsg); err != nil { 37366 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37367 } 37368 for key, val := range rawMsg { 37369 var err error 37370 switch key { 37371 case "provisioningState": 37372 err = unpopulate(val, "ProvisioningState", &v.ProvisioningState) 37373 delete(rawMsg, key) 37374 case "vpnClientAddressPool": 37375 err = unpopulate(val, "VPNClientAddressPool", &v.VPNClientAddressPool) 37376 delete(rawMsg, key) 37377 case "virtualNetworkGatewayPolicyGroups": 37378 err = unpopulate(val, "VirtualNetworkGatewayPolicyGroups", &v.VirtualNetworkGatewayPolicyGroups) 37379 delete(rawMsg, key) 37380 } 37381 if err != nil { 37382 return fmt.Errorf("unmarshalling type %T: %v", v, err) 37383 } 37384 } 37385 return nil 37386 } 37387 37388 // MarshalJSON implements the json.Marshaller interface for type Watcher. 37389 func (w Watcher) MarshalJSON() ([]byte, error) { 37390 objectMap := make(map[string]any) 37391 populate(objectMap, "etag", w.Etag) 37392 populate(objectMap, "id", w.ID) 37393 populate(objectMap, "location", w.Location) 37394 populate(objectMap, "name", w.Name) 37395 populate(objectMap, "properties", w.Properties) 37396 populate(objectMap, "tags", w.Tags) 37397 populate(objectMap, "type", w.Type) 37398 return json.Marshal(objectMap) 37399 } 37400 37401 // UnmarshalJSON implements the json.Unmarshaller interface for type Watcher. 37402 func (w *Watcher) UnmarshalJSON(data []byte) error { 37403 var rawMsg map[string]json.RawMessage 37404 if err := json.Unmarshal(data, &rawMsg); err != nil { 37405 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37406 } 37407 for key, val := range rawMsg { 37408 var err error 37409 switch key { 37410 case "etag": 37411 err = unpopulate(val, "Etag", &w.Etag) 37412 delete(rawMsg, key) 37413 case "id": 37414 err = unpopulate(val, "ID", &w.ID) 37415 delete(rawMsg, key) 37416 case "location": 37417 err = unpopulate(val, "Location", &w.Location) 37418 delete(rawMsg, key) 37419 case "name": 37420 err = unpopulate(val, "Name", &w.Name) 37421 delete(rawMsg, key) 37422 case "properties": 37423 err = unpopulate(val, "Properties", &w.Properties) 37424 delete(rawMsg, key) 37425 case "tags": 37426 err = unpopulate(val, "Tags", &w.Tags) 37427 delete(rawMsg, key) 37428 case "type": 37429 err = unpopulate(val, "Type", &w.Type) 37430 delete(rawMsg, key) 37431 } 37432 if err != nil { 37433 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37434 } 37435 } 37436 return nil 37437 } 37438 37439 // MarshalJSON implements the json.Marshaller interface for type WatcherListResult. 37440 func (w WatcherListResult) MarshalJSON() ([]byte, error) { 37441 objectMap := make(map[string]any) 37442 populate(objectMap, "value", w.Value) 37443 return json.Marshal(objectMap) 37444 } 37445 37446 // UnmarshalJSON implements the json.Unmarshaller interface for type WatcherListResult. 37447 func (w *WatcherListResult) UnmarshalJSON(data []byte) error { 37448 var rawMsg map[string]json.RawMessage 37449 if err := json.Unmarshal(data, &rawMsg); err != nil { 37450 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37451 } 37452 for key, val := range rawMsg { 37453 var err error 37454 switch key { 37455 case "value": 37456 err = unpopulate(val, "Value", &w.Value) 37457 delete(rawMsg, key) 37458 } 37459 if err != nil { 37460 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37461 } 37462 } 37463 return nil 37464 } 37465 37466 // MarshalJSON implements the json.Marshaller interface for type WatcherPropertiesFormat. 37467 func (w WatcherPropertiesFormat) MarshalJSON() ([]byte, error) { 37468 objectMap := make(map[string]any) 37469 populate(objectMap, "provisioningState", w.ProvisioningState) 37470 return json.Marshal(objectMap) 37471 } 37472 37473 // UnmarshalJSON implements the json.Unmarshaller interface for type WatcherPropertiesFormat. 37474 func (w *WatcherPropertiesFormat) UnmarshalJSON(data []byte) error { 37475 var rawMsg map[string]json.RawMessage 37476 if err := json.Unmarshal(data, &rawMsg); err != nil { 37477 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37478 } 37479 for key, val := range rawMsg { 37480 var err error 37481 switch key { 37482 case "provisioningState": 37483 err = unpopulate(val, "ProvisioningState", &w.ProvisioningState) 37484 delete(rawMsg, key) 37485 } 37486 if err != nil { 37487 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37488 } 37489 } 37490 return nil 37491 } 37492 37493 // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallCustomRule. 37494 func (w WebApplicationFirewallCustomRule) MarshalJSON() ([]byte, error) { 37495 objectMap := make(map[string]any) 37496 populate(objectMap, "action", w.Action) 37497 populate(objectMap, "etag", w.Etag) 37498 populate(objectMap, "groupByUserSession", w.GroupByUserSession) 37499 populate(objectMap, "matchConditions", w.MatchConditions) 37500 populate(objectMap, "name", w.Name) 37501 populate(objectMap, "priority", w.Priority) 37502 populate(objectMap, "rateLimitDuration", w.RateLimitDuration) 37503 populate(objectMap, "rateLimitThreshold", w.RateLimitThreshold) 37504 populate(objectMap, "ruleType", w.RuleType) 37505 populate(objectMap, "state", w.State) 37506 return json.Marshal(objectMap) 37507 } 37508 37509 // UnmarshalJSON implements the json.Unmarshaller interface for type WebApplicationFirewallCustomRule. 37510 func (w *WebApplicationFirewallCustomRule) UnmarshalJSON(data []byte) error { 37511 var rawMsg map[string]json.RawMessage 37512 if err := json.Unmarshal(data, &rawMsg); err != nil { 37513 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37514 } 37515 for key, val := range rawMsg { 37516 var err error 37517 switch key { 37518 case "action": 37519 err = unpopulate(val, "Action", &w.Action) 37520 delete(rawMsg, key) 37521 case "etag": 37522 err = unpopulate(val, "Etag", &w.Etag) 37523 delete(rawMsg, key) 37524 case "groupByUserSession": 37525 err = unpopulate(val, "GroupByUserSession", &w.GroupByUserSession) 37526 delete(rawMsg, key) 37527 case "matchConditions": 37528 err = unpopulate(val, "MatchConditions", &w.MatchConditions) 37529 delete(rawMsg, key) 37530 case "name": 37531 err = unpopulate(val, "Name", &w.Name) 37532 delete(rawMsg, key) 37533 case "priority": 37534 err = unpopulate(val, "Priority", &w.Priority) 37535 delete(rawMsg, key) 37536 case "rateLimitDuration": 37537 err = unpopulate(val, "RateLimitDuration", &w.RateLimitDuration) 37538 delete(rawMsg, key) 37539 case "rateLimitThreshold": 37540 err = unpopulate(val, "RateLimitThreshold", &w.RateLimitThreshold) 37541 delete(rawMsg, key) 37542 case "ruleType": 37543 err = unpopulate(val, "RuleType", &w.RuleType) 37544 delete(rawMsg, key) 37545 case "state": 37546 err = unpopulate(val, "State", &w.State) 37547 delete(rawMsg, key) 37548 } 37549 if err != nil { 37550 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37551 } 37552 } 37553 return nil 37554 } 37555 37556 // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicy. 37557 func (w WebApplicationFirewallPolicy) MarshalJSON() ([]byte, error) { 37558 objectMap := make(map[string]any) 37559 populate(objectMap, "etag", w.Etag) 37560 populate(objectMap, "id", w.ID) 37561 populate(objectMap, "location", w.Location) 37562 populate(objectMap, "name", w.Name) 37563 populate(objectMap, "properties", w.Properties) 37564 populate(objectMap, "tags", w.Tags) 37565 populate(objectMap, "type", w.Type) 37566 return json.Marshal(objectMap) 37567 } 37568 37569 // UnmarshalJSON implements the json.Unmarshaller interface for type WebApplicationFirewallPolicy. 37570 func (w *WebApplicationFirewallPolicy) UnmarshalJSON(data []byte) error { 37571 var rawMsg map[string]json.RawMessage 37572 if err := json.Unmarshal(data, &rawMsg); err != nil { 37573 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37574 } 37575 for key, val := range rawMsg { 37576 var err error 37577 switch key { 37578 case "etag": 37579 err = unpopulate(val, "Etag", &w.Etag) 37580 delete(rawMsg, key) 37581 case "id": 37582 err = unpopulate(val, "ID", &w.ID) 37583 delete(rawMsg, key) 37584 case "location": 37585 err = unpopulate(val, "Location", &w.Location) 37586 delete(rawMsg, key) 37587 case "name": 37588 err = unpopulate(val, "Name", &w.Name) 37589 delete(rawMsg, key) 37590 case "properties": 37591 err = unpopulate(val, "Properties", &w.Properties) 37592 delete(rawMsg, key) 37593 case "tags": 37594 err = unpopulate(val, "Tags", &w.Tags) 37595 delete(rawMsg, key) 37596 case "type": 37597 err = unpopulate(val, "Type", &w.Type) 37598 delete(rawMsg, key) 37599 } 37600 if err != nil { 37601 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37602 } 37603 } 37604 return nil 37605 } 37606 37607 // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicyListResult. 37608 func (w WebApplicationFirewallPolicyListResult) MarshalJSON() ([]byte, error) { 37609 objectMap := make(map[string]any) 37610 populate(objectMap, "nextLink", w.NextLink) 37611 populate(objectMap, "value", w.Value) 37612 return json.Marshal(objectMap) 37613 } 37614 37615 // UnmarshalJSON implements the json.Unmarshaller interface for type WebApplicationFirewallPolicyListResult. 37616 func (w *WebApplicationFirewallPolicyListResult) UnmarshalJSON(data []byte) error { 37617 var rawMsg map[string]json.RawMessage 37618 if err := json.Unmarshal(data, &rawMsg); err != nil { 37619 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37620 } 37621 for key, val := range rawMsg { 37622 var err error 37623 switch key { 37624 case "nextLink": 37625 err = unpopulate(val, "NextLink", &w.NextLink) 37626 delete(rawMsg, key) 37627 case "value": 37628 err = unpopulate(val, "Value", &w.Value) 37629 delete(rawMsg, key) 37630 } 37631 if err != nil { 37632 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37633 } 37634 } 37635 return nil 37636 } 37637 37638 // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallPolicyPropertiesFormat. 37639 func (w WebApplicationFirewallPolicyPropertiesFormat) MarshalJSON() ([]byte, error) { 37640 objectMap := make(map[string]any) 37641 populate(objectMap, "applicationGatewayForContainers", w.ApplicationGatewayForContainers) 37642 populate(objectMap, "applicationGateways", w.ApplicationGateways) 37643 populate(objectMap, "customRules", w.CustomRules) 37644 populate(objectMap, "httpListeners", w.HTTPListeners) 37645 populate(objectMap, "managedRules", w.ManagedRules) 37646 populate(objectMap, "pathBasedRules", w.PathBasedRules) 37647 populate(objectMap, "policySettings", w.PolicySettings) 37648 populate(objectMap, "provisioningState", w.ProvisioningState) 37649 populate(objectMap, "resourceState", w.ResourceState) 37650 return json.Marshal(objectMap) 37651 } 37652 37653 // UnmarshalJSON implements the json.Unmarshaller interface for type WebApplicationFirewallPolicyPropertiesFormat. 37654 func (w *WebApplicationFirewallPolicyPropertiesFormat) UnmarshalJSON(data []byte) error { 37655 var rawMsg map[string]json.RawMessage 37656 if err := json.Unmarshal(data, &rawMsg); err != nil { 37657 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37658 } 37659 for key, val := range rawMsg { 37660 var err error 37661 switch key { 37662 case "applicationGatewayForContainers": 37663 err = unpopulate(val, "ApplicationGatewayForContainers", &w.ApplicationGatewayForContainers) 37664 delete(rawMsg, key) 37665 case "applicationGateways": 37666 err = unpopulate(val, "ApplicationGateways", &w.ApplicationGateways) 37667 delete(rawMsg, key) 37668 case "customRules": 37669 err = unpopulate(val, "CustomRules", &w.CustomRules) 37670 delete(rawMsg, key) 37671 case "httpListeners": 37672 err = unpopulate(val, "HTTPListeners", &w.HTTPListeners) 37673 delete(rawMsg, key) 37674 case "managedRules": 37675 err = unpopulate(val, "ManagedRules", &w.ManagedRules) 37676 delete(rawMsg, key) 37677 case "pathBasedRules": 37678 err = unpopulate(val, "PathBasedRules", &w.PathBasedRules) 37679 delete(rawMsg, key) 37680 case "policySettings": 37681 err = unpopulate(val, "PolicySettings", &w.PolicySettings) 37682 delete(rawMsg, key) 37683 case "provisioningState": 37684 err = unpopulate(val, "ProvisioningState", &w.ProvisioningState) 37685 delete(rawMsg, key) 37686 case "resourceState": 37687 err = unpopulate(val, "ResourceState", &w.ResourceState) 37688 delete(rawMsg, key) 37689 } 37690 if err != nil { 37691 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37692 } 37693 } 37694 return nil 37695 } 37696 37697 // MarshalJSON implements the json.Marshaller interface for type WebApplicationFirewallScrubbingRules. 37698 func (w WebApplicationFirewallScrubbingRules) MarshalJSON() ([]byte, error) { 37699 objectMap := make(map[string]any) 37700 populate(objectMap, "matchVariable", w.MatchVariable) 37701 populate(objectMap, "selector", w.Selector) 37702 populate(objectMap, "selectorMatchOperator", w.SelectorMatchOperator) 37703 populate(objectMap, "state", w.State) 37704 return json.Marshal(objectMap) 37705 } 37706 37707 // UnmarshalJSON implements the json.Unmarshaller interface for type WebApplicationFirewallScrubbingRules. 37708 func (w *WebApplicationFirewallScrubbingRules) UnmarshalJSON(data []byte) error { 37709 var rawMsg map[string]json.RawMessage 37710 if err := json.Unmarshal(data, &rawMsg); err != nil { 37711 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37712 } 37713 for key, val := range rawMsg { 37714 var err error 37715 switch key { 37716 case "matchVariable": 37717 err = unpopulate(val, "MatchVariable", &w.MatchVariable) 37718 delete(rawMsg, key) 37719 case "selector": 37720 err = unpopulate(val, "Selector", &w.Selector) 37721 delete(rawMsg, key) 37722 case "selectorMatchOperator": 37723 err = unpopulate(val, "SelectorMatchOperator", &w.SelectorMatchOperator) 37724 delete(rawMsg, key) 37725 case "state": 37726 err = unpopulate(val, "State", &w.State) 37727 delete(rawMsg, key) 37728 } 37729 if err != nil { 37730 return fmt.Errorf("unmarshalling type %T: %v", w, err) 37731 } 37732 } 37733 return nil 37734 } 37735 37736 func populate(m map[string]any, k string, v any) { 37737 if v == nil { 37738 return 37739 } else if azcore.IsNullValue(v) { 37740 m[k] = nil 37741 } else if !reflect.ValueOf(v).IsNil() { 37742 m[k] = v 37743 } 37744 } 37745 37746 func populateAny(m map[string]any, k string, v any) { 37747 if v == nil { 37748 return 37749 } else if azcore.IsNullValue(v) { 37750 m[k] = nil 37751 } else { 37752 m[k] = v 37753 } 37754 } 37755 37756 func unpopulate(data json.RawMessage, fn string, v any) error { 37757 if data == nil || string(data) == "null" { 37758 return nil 37759 } 37760 if err := json.Unmarshal(data, v); err != nil { 37761 return fmt.Errorf("struct field %s: %v", fn, err) 37762 } 37763 return nil 37764 }