sdk/resourcemanager/servicefabricmanagedclusters/armservicefabricmanagedclusters/models_serde.go (3,867 lines of code) (raw):
//go:build go1.18
// +build go1.18
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armservicefabricmanagedclusters
import (
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
)
// MarshalJSON implements the json.Marshaller interface for type AddRemoveIncrementalNamedPartitionScalingMechanism.
func (a AddRemoveIncrementalNamedPartitionScalingMechanism) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["kind"] = ServiceScalingMechanismKindAddRemoveIncrementalNamedPartition
populate(objectMap, "maxPartitionCount", a.MaxPartitionCount)
populate(objectMap, "minPartitionCount", a.MinPartitionCount)
populate(objectMap, "scaleIncrement", a.ScaleIncrement)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AddRemoveIncrementalNamedPartitionScalingMechanism.
func (a *AddRemoveIncrementalNamedPartitionScalingMechanism) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "kind":
err = unpopulate(val, "Kind", &a.Kind)
delete(rawMsg, key)
case "maxPartitionCount":
err = unpopulate(val, "MaxPartitionCount", &a.MaxPartitionCount)
delete(rawMsg, key)
case "minPartitionCount":
err = unpopulate(val, "MinPartitionCount", &a.MinPartitionCount)
delete(rawMsg, key)
case "scaleIncrement":
err = unpopulate(val, "ScaleIncrement", &a.ScaleIncrement)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AdditionalNetworkInterfaceConfiguration.
func (a AdditionalNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "dscpConfiguration", a.DscpConfiguration)
populate(objectMap, "enableAcceleratedNetworking", a.EnableAcceleratedNetworking)
populate(objectMap, "ipConfigurations", a.IPConfigurations)
populate(objectMap, "name", a.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdditionalNetworkInterfaceConfiguration.
func (a *AdditionalNetworkInterfaceConfiguration) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "dscpConfiguration":
err = unpopulate(val, "DscpConfiguration", &a.DscpConfiguration)
delete(rawMsg, key)
case "enableAcceleratedNetworking":
err = unpopulate(val, "EnableAcceleratedNetworking", &a.EnableAcceleratedNetworking)
delete(rawMsg, key)
case "ipConfigurations":
err = unpopulate(val, "IPConfigurations", &a.IPConfigurations)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationHealthPolicy.
func (a ApplicationHealthPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "considerWarningAsError", a.ConsiderWarningAsError)
populate(objectMap, "defaultServiceTypeHealthPolicy", a.DefaultServiceTypeHealthPolicy)
populate(objectMap, "maxPercentUnhealthyDeployedApplications", a.MaxPercentUnhealthyDeployedApplications)
populate(objectMap, "serviceTypeHealthPolicyMap", a.ServiceTypeHealthPolicyMap)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationHealthPolicy.
func (a *ApplicationHealthPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "considerWarningAsError":
err = unpopulate(val, "ConsiderWarningAsError", &a.ConsiderWarningAsError)
delete(rawMsg, key)
case "defaultServiceTypeHealthPolicy":
err = unpopulate(val, "DefaultServiceTypeHealthPolicy", &a.DefaultServiceTypeHealthPolicy)
delete(rawMsg, key)
case "maxPercentUnhealthyDeployedApplications":
err = unpopulate(val, "MaxPercentUnhealthyDeployedApplications", &a.MaxPercentUnhealthyDeployedApplications)
delete(rawMsg, key)
case "serviceTypeHealthPolicyMap":
err = unpopulate(val, "ServiceTypeHealthPolicyMap", &a.ServiceTypeHealthPolicyMap)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationResource.
func (a ApplicationResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "identity", a.Identity)
populate(objectMap, "location", a.Location)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "tags", a.Tags)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationResource.
func (a *ApplicationResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "identity":
err = unpopulate(val, "Identity", &a.Identity)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &a.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationResourceList.
func (a ApplicationResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", a.NextLink)
populate(objectMap, "value", a.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationResourceList.
func (a *ApplicationResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &a.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &a.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationResourceProperties.
func (a ApplicationResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "managedIdentities", a.ManagedIdentities)
populate(objectMap, "parameters", a.Parameters)
populate(objectMap, "provisioningState", a.ProvisioningState)
populate(objectMap, "upgradePolicy", a.UpgradePolicy)
populate(objectMap, "version", a.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationResourceProperties.
func (a *ApplicationResourceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "managedIdentities":
err = unpopulate(val, "ManagedIdentities", &a.ManagedIdentities)
delete(rawMsg, key)
case "parameters":
err = unpopulate(val, "Parameters", &a.Parameters)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &a.ProvisioningState)
delete(rawMsg, key)
case "upgradePolicy":
err = unpopulate(val, "UpgradePolicy", &a.UpgradePolicy)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &a.Version)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeResource.
func (a ApplicationTypeResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "location", a.Location)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "tags", a.Tags)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeResource.
func (a *ApplicationTypeResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &a.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeResourceList.
func (a ApplicationTypeResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", a.NextLink)
populate(objectMap, "value", a.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeResourceList.
func (a *ApplicationTypeResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &a.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &a.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeResourceProperties.
func (a ApplicationTypeResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "provisioningState", a.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeResourceProperties.
func (a *ApplicationTypeResourceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &a.ProvisioningState)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeUpdateParameters.
func (a ApplicationTypeUpdateParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", a.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeUpdateParameters.
func (a *ApplicationTypeUpdateParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeVersionResource.
func (a ApplicationTypeVersionResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "location", a.Location)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "tags", a.Tags)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeVersionResource.
func (a *ApplicationTypeVersionResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &a.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeVersionResourceList.
func (a ApplicationTypeVersionResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", a.NextLink)
populate(objectMap, "value", a.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeVersionResourceList.
func (a *ApplicationTypeVersionResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &a.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &a.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeVersionResourceProperties.
func (a ApplicationTypeVersionResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "appPackageUrl", a.AppPackageURL)
populate(objectMap, "provisioningState", a.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeVersionResourceProperties.
func (a *ApplicationTypeVersionResourceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "appPackageUrl":
err = unpopulate(val, "AppPackageURL", &a.AppPackageURL)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &a.ProvisioningState)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeVersionUpdateParameters.
func (a ApplicationTypeVersionUpdateParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", a.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeVersionUpdateParameters.
func (a *ApplicationTypeVersionUpdateParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationTypeVersionsCleanupPolicy.
func (a ApplicationTypeVersionsCleanupPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "maxUnusedVersionsToKeep", a.MaxUnusedVersionsToKeep)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationTypeVersionsCleanupPolicy.
func (a *ApplicationTypeVersionsCleanupPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "maxUnusedVersionsToKeep":
err = unpopulate(val, "MaxUnusedVersionsToKeep", &a.MaxUnusedVersionsToKeep)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationUpdateParameters.
func (a ApplicationUpdateParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", a.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationUpdateParameters.
func (a *ApplicationUpdateParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "tags":
err = unpopulate(val, "Tags", &a.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationUpgradePolicy.
func (a ApplicationUpgradePolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "applicationHealthPolicy", a.ApplicationHealthPolicy)
populate(objectMap, "forceRestart", a.ForceRestart)
populate(objectMap, "instanceCloseDelayDuration", a.InstanceCloseDelayDuration)
populate(objectMap, "recreateApplication", a.RecreateApplication)
populate(objectMap, "rollingUpgradeMonitoringPolicy", a.RollingUpgradeMonitoringPolicy)
populate(objectMap, "upgradeMode", a.UpgradeMode)
populate(objectMap, "upgradeReplicaSetCheckTimeout", a.UpgradeReplicaSetCheckTimeout)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationUpgradePolicy.
func (a *ApplicationUpgradePolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "applicationHealthPolicy":
err = unpopulate(val, "ApplicationHealthPolicy", &a.ApplicationHealthPolicy)
delete(rawMsg, key)
case "forceRestart":
err = unpopulate(val, "ForceRestart", &a.ForceRestart)
delete(rawMsg, key)
case "instanceCloseDelayDuration":
err = unpopulate(val, "InstanceCloseDelayDuration", &a.InstanceCloseDelayDuration)
delete(rawMsg, key)
case "recreateApplication":
err = unpopulate(val, "RecreateApplication", &a.RecreateApplication)
delete(rawMsg, key)
case "rollingUpgradeMonitoringPolicy":
err = unpopulate(val, "RollingUpgradeMonitoringPolicy", &a.RollingUpgradeMonitoringPolicy)
delete(rawMsg, key)
case "upgradeMode":
err = unpopulate(val, "UpgradeMode", &a.UpgradeMode)
delete(rawMsg, key)
case "upgradeReplicaSetCheckTimeout":
err = unpopulate(val, "UpgradeReplicaSetCheckTimeout", &a.UpgradeReplicaSetCheckTimeout)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ApplicationUserAssignedIdentity.
func (a ApplicationUserAssignedIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", a.Name)
populate(objectMap, "principalId", a.PrincipalID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationUserAssignedIdentity.
func (a *ApplicationUserAssignedIdentity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "principalId":
err = unpopulate(val, "PrincipalID", &a.PrincipalID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AvailableOperationDisplay.
func (a AvailableOperationDisplay) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", a.Description)
populate(objectMap, "operation", a.Operation)
populate(objectMap, "provider", a.Provider)
populate(objectMap, "resource", a.Resource)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AvailableOperationDisplay.
func (a *AvailableOperationDisplay) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "description":
err = unpopulate(val, "Description", &a.Description)
delete(rawMsg, key)
case "operation":
err = unpopulate(val, "Operation", &a.Operation)
delete(rawMsg, key)
case "provider":
err = unpopulate(val, "Provider", &a.Provider)
delete(rawMsg, key)
case "resource":
err = unpopulate(val, "Resource", &a.Resource)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AveragePartitionLoadScalingTrigger.
func (a AveragePartitionLoadScalingTrigger) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["kind"] = ServiceScalingTriggerKindAveragePartitionLoadTrigger
populate(objectMap, "lowerLoadThreshold", a.LowerLoadThreshold)
populate(objectMap, "metricName", a.MetricName)
populate(objectMap, "scaleInterval", a.ScaleInterval)
populate(objectMap, "upperLoadThreshold", a.UpperLoadThreshold)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AveragePartitionLoadScalingTrigger.
func (a *AveragePartitionLoadScalingTrigger) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "kind":
err = unpopulate(val, "Kind", &a.Kind)
delete(rawMsg, key)
case "lowerLoadThreshold":
err = unpopulate(val, "LowerLoadThreshold", &a.LowerLoadThreshold)
delete(rawMsg, key)
case "metricName":
err = unpopulate(val, "MetricName", &a.MetricName)
delete(rawMsg, key)
case "scaleInterval":
err = unpopulate(val, "ScaleInterval", &a.ScaleInterval)
delete(rawMsg, key)
case "upperLoadThreshold":
err = unpopulate(val, "UpperLoadThreshold", &a.UpperLoadThreshold)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AverageServiceLoadScalingTrigger.
func (a AverageServiceLoadScalingTrigger) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["kind"] = ServiceScalingTriggerKindAverageServiceLoadTrigger
populate(objectMap, "lowerLoadThreshold", a.LowerLoadThreshold)
populate(objectMap, "metricName", a.MetricName)
populate(objectMap, "scaleInterval", a.ScaleInterval)
populate(objectMap, "upperLoadThreshold", a.UpperLoadThreshold)
populate(objectMap, "useOnlyPrimaryLoad", a.UseOnlyPrimaryLoad)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AverageServiceLoadScalingTrigger.
func (a *AverageServiceLoadScalingTrigger) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "kind":
err = unpopulate(val, "Kind", &a.Kind)
delete(rawMsg, key)
case "lowerLoadThreshold":
err = unpopulate(val, "LowerLoadThreshold", &a.LowerLoadThreshold)
delete(rawMsg, key)
case "metricName":
err = unpopulate(val, "MetricName", &a.MetricName)
delete(rawMsg, key)
case "scaleInterval":
err = unpopulate(val, "ScaleInterval", &a.ScaleInterval)
delete(rawMsg, key)
case "upperLoadThreshold":
err = unpopulate(val, "UpperLoadThreshold", &a.UpperLoadThreshold)
delete(rawMsg, key)
case "useOnlyPrimaryLoad":
err = unpopulate(val, "UseOnlyPrimaryLoad", &a.UseOnlyPrimaryLoad)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AzureActiveDirectory.
func (a AzureActiveDirectory) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "clientApplication", a.ClientApplication)
populate(objectMap, "clusterApplication", a.ClusterApplication)
populate(objectMap, "tenantId", a.TenantID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureActiveDirectory.
func (a *AzureActiveDirectory) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "clientApplication":
err = unpopulate(val, "ClientApplication", &a.ClientApplication)
delete(rawMsg, key)
case "clusterApplication":
err = unpopulate(val, "ClusterApplication", &a.ClusterApplication)
delete(rawMsg, key)
case "tenantId":
err = unpopulate(val, "TenantID", &a.TenantID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClientCertificate.
func (c ClientCertificate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "commonName", c.CommonName)
populate(objectMap, "isAdmin", c.IsAdmin)
populate(objectMap, "issuerThumbprint", c.IssuerThumbprint)
populate(objectMap, "thumbprint", c.Thumbprint)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientCertificate.
func (c *ClientCertificate) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "commonName":
err = unpopulate(val, "CommonName", &c.CommonName)
delete(rawMsg, key)
case "isAdmin":
err = unpopulate(val, "IsAdmin", &c.IsAdmin)
delete(rawMsg, key)
case "issuerThumbprint":
err = unpopulate(val, "IssuerThumbprint", &c.IssuerThumbprint)
delete(rawMsg, key)
case "thumbprint":
err = unpopulate(val, "Thumbprint", &c.Thumbprint)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClusterHealthPolicy.
func (c ClusterHealthPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "maxPercentUnhealthyApplications", c.MaxPercentUnhealthyApplications)
populate(objectMap, "maxPercentUnhealthyNodes", c.MaxPercentUnhealthyNodes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterHealthPolicy.
func (c *ClusterHealthPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "maxPercentUnhealthyApplications":
err = unpopulate(val, "MaxPercentUnhealthyApplications", &c.MaxPercentUnhealthyApplications)
delete(rawMsg, key)
case "maxPercentUnhealthyNodes":
err = unpopulate(val, "MaxPercentUnhealthyNodes", &c.MaxPercentUnhealthyNodes)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClusterMonitoringPolicy.
func (c ClusterMonitoringPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "healthCheckRetryTimeout", c.HealthCheckRetryTimeout)
populate(objectMap, "healthCheckStableDuration", c.HealthCheckStableDuration)
populate(objectMap, "healthCheckWaitDuration", c.HealthCheckWaitDuration)
populate(objectMap, "upgradeDomainTimeout", c.UpgradeDomainTimeout)
populate(objectMap, "upgradeTimeout", c.UpgradeTimeout)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMonitoringPolicy.
func (c *ClusterMonitoringPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "healthCheckRetryTimeout":
err = unpopulate(val, "HealthCheckRetryTimeout", &c.HealthCheckRetryTimeout)
delete(rawMsg, key)
case "healthCheckStableDuration":
err = unpopulate(val, "HealthCheckStableDuration", &c.HealthCheckStableDuration)
delete(rawMsg, key)
case "healthCheckWaitDuration":
err = unpopulate(val, "HealthCheckWaitDuration", &c.HealthCheckWaitDuration)
delete(rawMsg, key)
case "upgradeDomainTimeout":
err = unpopulate(val, "UpgradeDomainTimeout", &c.UpgradeDomainTimeout)
delete(rawMsg, key)
case "upgradeTimeout":
err = unpopulate(val, "UpgradeTimeout", &c.UpgradeTimeout)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClusterUpgradeDeltaHealthPolicy.
func (c ClusterUpgradeDeltaHealthPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "maxPercentDeltaUnhealthyApplications", c.MaxPercentDeltaUnhealthyApplications)
populate(objectMap, "maxPercentDeltaUnhealthyNodes", c.MaxPercentDeltaUnhealthyNodes)
populate(objectMap, "maxPercentUpgradeDomainDeltaUnhealthyNodes", c.MaxPercentUpgradeDomainDeltaUnhealthyNodes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpgradeDeltaHealthPolicy.
func (c *ClusterUpgradeDeltaHealthPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "maxPercentDeltaUnhealthyApplications":
err = unpopulate(val, "MaxPercentDeltaUnhealthyApplications", &c.MaxPercentDeltaUnhealthyApplications)
delete(rawMsg, key)
case "maxPercentDeltaUnhealthyNodes":
err = unpopulate(val, "MaxPercentDeltaUnhealthyNodes", &c.MaxPercentDeltaUnhealthyNodes)
delete(rawMsg, key)
case "maxPercentUpgradeDomainDeltaUnhealthyNodes":
err = unpopulate(val, "MaxPercentUpgradeDomainDeltaUnhealthyNodes", &c.MaxPercentUpgradeDomainDeltaUnhealthyNodes)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClusterUpgradePolicy.
func (c ClusterUpgradePolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deltaHealthPolicy", c.DeltaHealthPolicy)
populate(objectMap, "forceRestart", c.ForceRestart)
populate(objectMap, "healthPolicy", c.HealthPolicy)
populate(objectMap, "monitoringPolicy", c.MonitoringPolicy)
populate(objectMap, "upgradeReplicaSetCheckTimeout", c.UpgradeReplicaSetCheckTimeout)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpgradePolicy.
func (c *ClusterUpgradePolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "deltaHealthPolicy":
err = unpopulate(val, "DeltaHealthPolicy", &c.DeltaHealthPolicy)
delete(rawMsg, key)
case "forceRestart":
err = unpopulate(val, "ForceRestart", &c.ForceRestart)
delete(rawMsg, key)
case "healthPolicy":
err = unpopulate(val, "HealthPolicy", &c.HealthPolicy)
delete(rawMsg, key)
case "monitoringPolicy":
err = unpopulate(val, "MonitoringPolicy", &c.MonitoringPolicy)
delete(rawMsg, key)
case "upgradeReplicaSetCheckTimeout":
err = unpopulate(val, "UpgradeReplicaSetCheckTimeout", &c.UpgradeReplicaSetCheckTimeout)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type EndpointRangeDescription.
func (e EndpointRangeDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endPort", e.EndPort)
populate(objectMap, "startPort", e.StartPort)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EndpointRangeDescription.
func (e *EndpointRangeDescription) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "endPort":
err = unpopulate(val, "EndPort", &e.EndPort)
delete(rawMsg, key)
case "startPort":
err = unpopulate(val, "StartPort", &e.StartPort)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ErrorModelError.
func (e ErrorModelError) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "code", e.Code)
populate(objectMap, "message", e.Message)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorModelError.
func (e *ErrorModelError) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "code":
err = unpopulate(val, "Code", &e.Code)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &e.Message)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type FrontendConfiguration.
func (f FrontendConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "applicationGatewayBackendAddressPoolId", f.ApplicationGatewayBackendAddressPoolID)
populate(objectMap, "ipAddressType", f.IPAddressType)
populate(objectMap, "loadBalancerBackendAddressPoolId", f.LoadBalancerBackendAddressPoolID)
populate(objectMap, "loadBalancerInboundNatPoolId", f.LoadBalancerInboundNatPoolID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FrontendConfiguration.
func (f *FrontendConfiguration) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", f, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "applicationGatewayBackendAddressPoolId":
err = unpopulate(val, "ApplicationGatewayBackendAddressPoolID", &f.ApplicationGatewayBackendAddressPoolID)
delete(rawMsg, key)
case "ipAddressType":
err = unpopulate(val, "IPAddressType", &f.IPAddressType)
delete(rawMsg, key)
case "loadBalancerBackendAddressPoolId":
err = unpopulate(val, "LoadBalancerBackendAddressPoolID", &f.LoadBalancerBackendAddressPoolID)
delete(rawMsg, key)
case "loadBalancerInboundNatPoolId":
err = unpopulate(val, "LoadBalancerInboundNatPoolID", &f.LoadBalancerInboundNatPoolID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", f, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type IPConfiguration.
func (i IPConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "applicationGatewayBackendAddressPools", i.ApplicationGatewayBackendAddressPools)
populate(objectMap, "loadBalancerBackendAddressPools", i.LoadBalancerBackendAddressPools)
populate(objectMap, "loadBalancerInboundNatPools", i.LoadBalancerInboundNatPools)
populate(objectMap, "name", i.Name)
populate(objectMap, "privateIPAddressVersion", i.PrivateIPAddressVersion)
populate(objectMap, "publicIPAddressConfiguration", i.PublicIPAddressConfiguration)
populate(objectMap, "subnet", i.Subnet)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IPConfiguration.
func (i *IPConfiguration) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", i, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "applicationGatewayBackendAddressPools":
err = unpopulate(val, "ApplicationGatewayBackendAddressPools", &i.ApplicationGatewayBackendAddressPools)
delete(rawMsg, key)
case "loadBalancerBackendAddressPools":
err = unpopulate(val, "LoadBalancerBackendAddressPools", &i.LoadBalancerBackendAddressPools)
delete(rawMsg, key)
case "loadBalancerInboundNatPools":
err = unpopulate(val, "LoadBalancerInboundNatPools", &i.LoadBalancerInboundNatPools)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &i.Name)
delete(rawMsg, key)
case "privateIPAddressVersion":
err = unpopulate(val, "PrivateIPAddressVersion", &i.PrivateIPAddressVersion)
delete(rawMsg, key)
case "publicIPAddressConfiguration":
err = unpopulate(val, "PublicIPAddressConfiguration", &i.PublicIPAddressConfiguration)
delete(rawMsg, key)
case "subnet":
err = unpopulate(val, "Subnet", &i.Subnet)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", i, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type IPConfigurationPublicIPAddressConfiguration.
func (i IPConfigurationPublicIPAddressConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipTags", i.IPTags)
populate(objectMap, "name", i.Name)
populate(objectMap, "publicIPAddressVersion", i.PublicIPAddressVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IPConfigurationPublicIPAddressConfiguration.
func (i *IPConfigurationPublicIPAddressConfiguration) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", i, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "ipTags":
err = unpopulate(val, "IPTags", &i.IPTags)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &i.Name)
delete(rawMsg, key)
case "publicIPAddressVersion":
err = unpopulate(val, "PublicIPAddressVersion", &i.PublicIPAddressVersion)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", i, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type IPTag.
func (i IPTag) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipTagType", i.IPTagType)
populate(objectMap, "tag", i.Tag)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IPTag.
func (i *IPTag) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", i, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "ipTagType":
err = unpopulate(val, "IPTagType", &i.IPTagType)
delete(rawMsg, key)
case "tag":
err = unpopulate(val, "Tag", &i.Tag)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", i, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type LoadBalancingRule.
func (l LoadBalancingRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backendPort", l.BackendPort)
populate(objectMap, "frontendPort", l.FrontendPort)
populate(objectMap, "loadDistribution", l.LoadDistribution)
populate(objectMap, "probePort", l.ProbePort)
populate(objectMap, "probeProtocol", l.ProbeProtocol)
populate(objectMap, "probeRequestPath", l.ProbeRequestPath)
populate(objectMap, "protocol", l.Protocol)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancingRule.
func (l *LoadBalancingRule) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", l, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "backendPort":
err = unpopulate(val, "BackendPort", &l.BackendPort)
delete(rawMsg, key)
case "frontendPort":
err = unpopulate(val, "FrontendPort", &l.FrontendPort)
delete(rawMsg, key)
case "loadDistribution":
err = unpopulate(val, "LoadDistribution", &l.LoadDistribution)
delete(rawMsg, key)
case "probePort":
err = unpopulate(val, "ProbePort", &l.ProbePort)
delete(rawMsg, key)
case "probeProtocol":
err = unpopulate(val, "ProbeProtocol", &l.ProbeProtocol)
delete(rawMsg, key)
case "probeRequestPath":
err = unpopulate(val, "ProbeRequestPath", &l.ProbeRequestPath)
delete(rawMsg, key)
case "protocol":
err = unpopulate(val, "Protocol", &l.Protocol)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", l, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type LongRunningOperationResult.
func (l LongRunningOperationResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "endTime", l.EndTime)
populate(objectMap, "error", l.Error)
populate(objectMap, "name", l.Name)
populate(objectMap, "percentComplete", l.PercentComplete)
populateDateTimeRFC3339(objectMap, "startTime", l.StartTime)
populate(objectMap, "status", l.Status)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LongRunningOperationResult.
func (l *LongRunningOperationResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", l, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "endTime":
err = unpopulateDateTimeRFC3339(val, "EndTime", &l.EndTime)
delete(rawMsg, key)
case "error":
err = unpopulate(val, "Error", &l.Error)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &l.Name)
delete(rawMsg, key)
case "percentComplete":
err = unpopulate(val, "PercentComplete", &l.PercentComplete)
delete(rawMsg, key)
case "startTime":
err = unpopulateDateTimeRFC3339(val, "StartTime", &l.StartTime)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &l.Status)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", l, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedAzResiliencyStatus.
func (m ManagedAzResiliencyStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "baseResourceStatus", m.BaseResourceStatus)
populate(objectMap, "isClusterZoneResilient", m.IsClusterZoneResilient)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedAzResiliencyStatus.
func (m *ManagedAzResiliencyStatus) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "baseResourceStatus":
err = unpopulate(val, "BaseResourceStatus", &m.BaseResourceStatus)
delete(rawMsg, key)
case "isClusterZoneResilient":
err = unpopulate(val, "IsClusterZoneResilient", &m.IsClusterZoneResilient)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedCluster.
func (m ManagedCluster) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "etag", m.Etag)
populate(objectMap, "id", m.ID)
populate(objectMap, "location", m.Location)
populate(objectMap, "name", m.Name)
populate(objectMap, "properties", m.Properties)
populate(objectMap, "sku", m.SKU)
populate(objectMap, "systemData", m.SystemData)
populate(objectMap, "tags", m.Tags)
populate(objectMap, "type", m.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedCluster.
func (m *ManagedCluster) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "etag":
err = unpopulate(val, "Etag", &m.Etag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &m.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &m.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &m.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &m.Properties)
delete(rawMsg, key)
case "sku":
err = unpopulate(val, "SKU", &m.SKU)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &m.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &m.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &m.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedClusterCodeVersionResult.
func (m ManagedClusterCodeVersionResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", m.ID)
populate(objectMap, "name", m.Name)
populate(objectMap, "properties", m.Properties)
populate(objectMap, "type", m.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedClusterCodeVersionResult.
func (m *ManagedClusterCodeVersionResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &m.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &m.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &m.Properties)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &m.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedClusterListResult.
func (m ManagedClusterListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", m.NextLink)
populate(objectMap, "value", m.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedClusterListResult.
func (m *ManagedClusterListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &m.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &m.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedClusterProperties.
func (m ManagedClusterProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "addonFeatures", m.AddonFeatures)
populate(objectMap, "adminPassword", m.AdminPassword)
populate(objectMap, "adminUserName", m.AdminUserName)
populate(objectMap, "allocatedOutboundPorts", m.AllocatedOutboundPorts)
populate(objectMap, "allowRdpAccess", m.AllowRdpAccess)
populate(objectMap, "applicationTypeVersionsCleanupPolicy", m.ApplicationTypeVersionsCleanupPolicy)
populate(objectMap, "autoGeneratedDomainNameLabelScope", m.AutoGeneratedDomainNameLabelScope)
populate(objectMap, "auxiliarySubnets", m.AuxiliarySubnets)
populate(objectMap, "azureActiveDirectory", m.AzureActiveDirectory)
populate(objectMap, "clientConnectionPort", m.ClientConnectionPort)
populate(objectMap, "clients", m.Clients)
populate(objectMap, "clusterCertificateThumbprints", m.ClusterCertificateThumbprints)
populate(objectMap, "clusterCodeVersion", m.ClusterCodeVersion)
populate(objectMap, "clusterId", m.ClusterID)
populate(objectMap, "clusterState", m.ClusterState)
populate(objectMap, "clusterUpgradeCadence", m.ClusterUpgradeCadence)
populate(objectMap, "clusterUpgradeMode", m.ClusterUpgradeMode)
populate(objectMap, "dnsName", m.DNSName)
populate(objectMap, "ddosProtectionPlanId", m.DdosProtectionPlanID)
populate(objectMap, "enableAutoOSUpgrade", m.EnableAutoOSUpgrade)
populate(objectMap, "enableHttpGatewayExclusiveAuthMode", m.EnableHTTPGatewayExclusiveAuthMode)
populate(objectMap, "enableIpv6", m.EnableIPv6)
populate(objectMap, "enableServicePublicIP", m.EnableServicePublicIP)
populate(objectMap, "fabricSettings", m.FabricSettings)
populate(objectMap, "fqdn", m.Fqdn)
populate(objectMap, "httpGatewayConnectionPort", m.HTTPGatewayConnectionPort)
populate(objectMap, "httpGatewayTokenAuthConnectionPort", m.HTTPGatewayTokenAuthConnectionPort)
populate(objectMap, "ipTags", m.IPTags)
populate(objectMap, "ipv4Address", m.IPv4Address)
populate(objectMap, "ipv6Address", m.IPv6Address)
populate(objectMap, "loadBalancingRules", m.LoadBalancingRules)
populate(objectMap, "networkSecurityRules", m.NetworkSecurityRules)
populate(objectMap, "provisioningState", m.ProvisioningState)
populate(objectMap, "publicIPPrefixId", m.PublicIPPrefixID)
populate(objectMap, "publicIPv6PrefixId", m.PublicIPv6PrefixID)
populate(objectMap, "serviceEndpoints", m.ServiceEndpoints)
populate(objectMap, "subnetId", m.SubnetID)
populate(objectMap, "upgradeDescription", m.UpgradeDescription)
populate(objectMap, "useCustomVnet", m.UseCustomVnet)
populate(objectMap, "zonalResiliency", m.ZonalResiliency)
populate(objectMap, "zonalUpdateMode", m.ZonalUpdateMode)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedClusterProperties.
func (m *ManagedClusterProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "addonFeatures":
err = unpopulate(val, "AddonFeatures", &m.AddonFeatures)
delete(rawMsg, key)
case "adminPassword":
err = unpopulate(val, "AdminPassword", &m.AdminPassword)
delete(rawMsg, key)
case "adminUserName":
err = unpopulate(val, "AdminUserName", &m.AdminUserName)
delete(rawMsg, key)
case "allocatedOutboundPorts":
err = unpopulate(val, "AllocatedOutboundPorts", &m.AllocatedOutboundPorts)
delete(rawMsg, key)
case "allowRdpAccess":
err = unpopulate(val, "AllowRdpAccess", &m.AllowRdpAccess)
delete(rawMsg, key)
case "applicationTypeVersionsCleanupPolicy":
err = unpopulate(val, "ApplicationTypeVersionsCleanupPolicy", &m.ApplicationTypeVersionsCleanupPolicy)
delete(rawMsg, key)
case "autoGeneratedDomainNameLabelScope":
err = unpopulate(val, "AutoGeneratedDomainNameLabelScope", &m.AutoGeneratedDomainNameLabelScope)
delete(rawMsg, key)
case "auxiliarySubnets":
err = unpopulate(val, "AuxiliarySubnets", &m.AuxiliarySubnets)
delete(rawMsg, key)
case "azureActiveDirectory":
err = unpopulate(val, "AzureActiveDirectory", &m.AzureActiveDirectory)
delete(rawMsg, key)
case "clientConnectionPort":
err = unpopulate(val, "ClientConnectionPort", &m.ClientConnectionPort)
delete(rawMsg, key)
case "clients":
err = unpopulate(val, "Clients", &m.Clients)
delete(rawMsg, key)
case "clusterCertificateThumbprints":
err = unpopulate(val, "ClusterCertificateThumbprints", &m.ClusterCertificateThumbprints)
delete(rawMsg, key)
case "clusterCodeVersion":
err = unpopulate(val, "ClusterCodeVersion", &m.ClusterCodeVersion)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &m.ClusterID)
delete(rawMsg, key)
case "clusterState":
err = unpopulate(val, "ClusterState", &m.ClusterState)
delete(rawMsg, key)
case "clusterUpgradeCadence":
err = unpopulate(val, "ClusterUpgradeCadence", &m.ClusterUpgradeCadence)
delete(rawMsg, key)
case "clusterUpgradeMode":
err = unpopulate(val, "ClusterUpgradeMode", &m.ClusterUpgradeMode)
delete(rawMsg, key)
case "dnsName":
err = unpopulate(val, "DNSName", &m.DNSName)
delete(rawMsg, key)
case "ddosProtectionPlanId":
err = unpopulate(val, "DdosProtectionPlanID", &m.DdosProtectionPlanID)
delete(rawMsg, key)
case "enableAutoOSUpgrade":
err = unpopulate(val, "EnableAutoOSUpgrade", &m.EnableAutoOSUpgrade)
delete(rawMsg, key)
case "enableHttpGatewayExclusiveAuthMode":
err = unpopulate(val, "EnableHTTPGatewayExclusiveAuthMode", &m.EnableHTTPGatewayExclusiveAuthMode)
delete(rawMsg, key)
case "enableIpv6":
err = unpopulate(val, "EnableIPv6", &m.EnableIPv6)
delete(rawMsg, key)
case "enableServicePublicIP":
err = unpopulate(val, "EnableServicePublicIP", &m.EnableServicePublicIP)
delete(rawMsg, key)
case "fabricSettings":
err = unpopulate(val, "FabricSettings", &m.FabricSettings)
delete(rawMsg, key)
case "fqdn":
err = unpopulate(val, "Fqdn", &m.Fqdn)
delete(rawMsg, key)
case "httpGatewayConnectionPort":
err = unpopulate(val, "HTTPGatewayConnectionPort", &m.HTTPGatewayConnectionPort)
delete(rawMsg, key)
case "httpGatewayTokenAuthConnectionPort":
err = unpopulate(val, "HTTPGatewayTokenAuthConnectionPort", &m.HTTPGatewayTokenAuthConnectionPort)
delete(rawMsg, key)
case "ipTags":
err = unpopulate(val, "IPTags", &m.IPTags)
delete(rawMsg, key)
case "ipv4Address":
err = unpopulate(val, "IPv4Address", &m.IPv4Address)
delete(rawMsg, key)
case "ipv6Address":
err = unpopulate(val, "IPv6Address", &m.IPv6Address)
delete(rawMsg, key)
case "loadBalancingRules":
err = unpopulate(val, "LoadBalancingRules", &m.LoadBalancingRules)
delete(rawMsg, key)
case "networkSecurityRules":
err = unpopulate(val, "NetworkSecurityRules", &m.NetworkSecurityRules)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &m.ProvisioningState)
delete(rawMsg, key)
case "publicIPPrefixId":
err = unpopulate(val, "PublicIPPrefixID", &m.PublicIPPrefixID)
delete(rawMsg, key)
case "publicIPv6PrefixId":
err = unpopulate(val, "PublicIPv6PrefixID", &m.PublicIPv6PrefixID)
delete(rawMsg, key)
case "serviceEndpoints":
err = unpopulate(val, "ServiceEndpoints", &m.ServiceEndpoints)
delete(rawMsg, key)
case "subnetId":
err = unpopulate(val, "SubnetID", &m.SubnetID)
delete(rawMsg, key)
case "upgradeDescription":
err = unpopulate(val, "UpgradeDescription", &m.UpgradeDescription)
delete(rawMsg, key)
case "useCustomVnet":
err = unpopulate(val, "UseCustomVnet", &m.UseCustomVnet)
delete(rawMsg, key)
case "zonalResiliency":
err = unpopulate(val, "ZonalResiliency", &m.ZonalResiliency)
delete(rawMsg, key)
case "zonalUpdateMode":
err = unpopulate(val, "ZonalUpdateMode", &m.ZonalUpdateMode)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedClusterUpdateParameters.
func (m ManagedClusterUpdateParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", m.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedClusterUpdateParameters.
func (m *ManagedClusterUpdateParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "tags":
err = unpopulate(val, "Tags", &m.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedClusterVersionDetails.
func (m ManagedClusterVersionDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "clusterCodeVersion", m.ClusterCodeVersion)
populate(objectMap, "osType", m.OSType)
populate(objectMap, "supportExpiryUtc", m.SupportExpiryUTC)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedClusterVersionDetails.
func (m *ManagedClusterVersionDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "clusterCodeVersion":
err = unpopulate(val, "ClusterCodeVersion", &m.ClusterCodeVersion)
delete(rawMsg, key)
case "osType":
err = unpopulate(val, "OSType", &m.OSType)
delete(rawMsg, key)
case "supportExpiryUtc":
err = unpopulate(val, "SupportExpiryUTC", &m.SupportExpiryUTC)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedIdentity.
func (m ManagedIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "principalId", m.PrincipalID)
populate(objectMap, "tenantId", m.TenantID)
populate(objectMap, "type", m.Type)
populate(objectMap, "userAssignedIdentities", m.UserAssignedIdentities)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedIdentity.
func (m *ManagedIdentity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "principalId":
err = unpopulate(val, "PrincipalID", &m.PrincipalID)
delete(rawMsg, key)
case "tenantId":
err = unpopulate(val, "TenantID", &m.TenantID)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &m.Type)
delete(rawMsg, key)
case "userAssignedIdentities":
err = unpopulate(val, "UserAssignedIdentities", &m.UserAssignedIdentities)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedMaintenanceWindowStatus.
func (m ManagedMaintenanceWindowStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "canApplyUpdates", m.CanApplyUpdates)
populate(objectMap, "isRegionReady", m.IsRegionReady)
populate(objectMap, "isWindowActive", m.IsWindowActive)
populate(objectMap, "isWindowEnabled", m.IsWindowEnabled)
populateDateTimeRFC3339(objectMap, "lastWindowEndTimeUTC", m.LastWindowEndTimeUTC)
populateDateTimeRFC3339(objectMap, "lastWindowStartTimeUTC", m.LastWindowStartTimeUTC)
populateDateTimeRFC3339(objectMap, "lastWindowStatusUpdateAtUTC", m.LastWindowStatusUpdateAtUTC)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedMaintenanceWindowStatus.
func (m *ManagedMaintenanceWindowStatus) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "canApplyUpdates":
err = unpopulate(val, "CanApplyUpdates", &m.CanApplyUpdates)
delete(rawMsg, key)
case "isRegionReady":
err = unpopulate(val, "IsRegionReady", &m.IsRegionReady)
delete(rawMsg, key)
case "isWindowActive":
err = unpopulate(val, "IsWindowActive", &m.IsWindowActive)
delete(rawMsg, key)
case "isWindowEnabled":
err = unpopulate(val, "IsWindowEnabled", &m.IsWindowEnabled)
delete(rawMsg, key)
case "lastWindowEndTimeUTC":
err = unpopulateDateTimeRFC3339(val, "LastWindowEndTimeUTC", &m.LastWindowEndTimeUTC)
delete(rawMsg, key)
case "lastWindowStartTimeUTC":
err = unpopulateDateTimeRFC3339(val, "LastWindowStartTimeUTC", &m.LastWindowStartTimeUTC)
delete(rawMsg, key)
case "lastWindowStatusUpdateAtUTC":
err = unpopulateDateTimeRFC3339(val, "LastWindowStatusUpdateAtUTC", &m.LastWindowStatusUpdateAtUTC)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedVMSize.
func (m ManagedVMSize) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", m.ID)
populate(objectMap, "name", m.Name)
populate(objectMap, "properties", m.Properties)
populate(objectMap, "type", m.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedVMSize.
func (m *ManagedVMSize) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &m.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &m.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &m.Properties)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &m.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ManagedVMSizesResult.
func (m ManagedVMSizesResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", m.NextLink)
populate(objectMap, "value", m.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedVMSizesResult.
func (m *ManagedVMSizesResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &m.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &m.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NamedPartitionScheme.
func (n NamedPartitionScheme) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "names", n.Names)
objectMap["partitionScheme"] = PartitionSchemeNamed
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NamedPartitionScheme.
func (n *NamedPartitionScheme) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "names":
err = unpopulate(val, "Names", &n.Names)
delete(rawMsg, key)
case "partitionScheme":
err = unpopulate(val, "PartitionScheme", &n.PartitionScheme)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NetworkSecurityRule.
func (n NetworkSecurityRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "access", n.Access)
populate(objectMap, "description", n.Description)
populate(objectMap, "destinationAddressPrefix", n.DestinationAddressPrefix)
populate(objectMap, "destinationAddressPrefixes", n.DestinationAddressPrefixes)
populate(objectMap, "destinationPortRange", n.DestinationPortRange)
populate(objectMap, "destinationPortRanges", n.DestinationPortRanges)
populate(objectMap, "direction", n.Direction)
populate(objectMap, "name", n.Name)
populate(objectMap, "priority", n.Priority)
populate(objectMap, "protocol", n.Protocol)
populate(objectMap, "sourceAddressPrefix", n.SourceAddressPrefix)
populate(objectMap, "sourceAddressPrefixes", n.SourceAddressPrefixes)
populate(objectMap, "sourcePortRange", n.SourcePortRange)
populate(objectMap, "sourcePortRanges", n.SourcePortRanges)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkSecurityRule.
func (n *NetworkSecurityRule) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "access":
err = unpopulate(val, "Access", &n.Access)
delete(rawMsg, key)
case "description":
err = unpopulate(val, "Description", &n.Description)
delete(rawMsg, key)
case "destinationAddressPrefix":
err = unpopulate(val, "DestinationAddressPrefix", &n.DestinationAddressPrefix)
delete(rawMsg, key)
case "destinationAddressPrefixes":
err = unpopulate(val, "DestinationAddressPrefixes", &n.DestinationAddressPrefixes)
delete(rawMsg, key)
case "destinationPortRange":
err = unpopulate(val, "DestinationPortRange", &n.DestinationPortRange)
delete(rawMsg, key)
case "destinationPortRanges":
err = unpopulate(val, "DestinationPortRanges", &n.DestinationPortRanges)
delete(rawMsg, key)
case "direction":
err = unpopulate(val, "Direction", &n.Direction)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &n.Name)
delete(rawMsg, key)
case "priority":
err = unpopulate(val, "Priority", &n.Priority)
delete(rawMsg, key)
case "protocol":
err = unpopulate(val, "Protocol", &n.Protocol)
delete(rawMsg, key)
case "sourceAddressPrefix":
err = unpopulate(val, "SourceAddressPrefix", &n.SourceAddressPrefix)
delete(rawMsg, key)
case "sourceAddressPrefixes":
err = unpopulate(val, "SourceAddressPrefixes", &n.SourceAddressPrefixes)
delete(rawMsg, key)
case "sourcePortRange":
err = unpopulate(val, "SourcePortRange", &n.SourcePortRange)
delete(rawMsg, key)
case "sourcePortRanges":
err = unpopulate(val, "SourcePortRanges", &n.SourcePortRanges)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeType.
func (n NodeType) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", n.ID)
populate(objectMap, "name", n.Name)
populate(objectMap, "properties", n.Properties)
populate(objectMap, "sku", n.SKU)
populate(objectMap, "systemData", n.SystemData)
populate(objectMap, "tags", n.Tags)
populate(objectMap, "type", n.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeType.
func (n *NodeType) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &n.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &n.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &n.Properties)
delete(rawMsg, key)
case "sku":
err = unpopulate(val, "SKU", &n.SKU)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &n.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &n.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &n.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeActionParameters.
func (n NodeTypeActionParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "force", n.Force)
populate(objectMap, "nodes", n.Nodes)
populate(objectMap, "updateType", n.UpdateType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeActionParameters.
func (n *NodeTypeActionParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "force":
err = unpopulate(val, "Force", &n.Force)
delete(rawMsg, key)
case "nodes":
err = unpopulate(val, "Nodes", &n.Nodes)
delete(rawMsg, key)
case "updateType":
err = unpopulate(val, "UpdateType", &n.UpdateType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeAvailableSKU.
func (n NodeTypeAvailableSKU) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "capacity", n.Capacity)
populate(objectMap, "resourceType", n.ResourceType)
populate(objectMap, "sku", n.SKU)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeAvailableSKU.
func (n *NodeTypeAvailableSKU) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "capacity":
err = unpopulate(val, "Capacity", &n.Capacity)
delete(rawMsg, key)
case "resourceType":
err = unpopulate(val, "ResourceType", &n.ResourceType)
delete(rawMsg, key)
case "sku":
err = unpopulate(val, "SKU", &n.SKU)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeListResult.
func (n NodeTypeListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", n.NextLink)
populate(objectMap, "value", n.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeListResult.
func (n *NodeTypeListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &n.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &n.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeListSKUResult.
func (n NodeTypeListSKUResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", n.NextLink)
populate(objectMap, "value", n.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeListSKUResult.
func (n *NodeTypeListSKUResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &n.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &n.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeNatConfig.
func (n NodeTypeNatConfig) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backendPort", n.BackendPort)
populate(objectMap, "frontendPortRangeEnd", n.FrontendPortRangeEnd)
populate(objectMap, "frontendPortRangeStart", n.FrontendPortRangeStart)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeNatConfig.
func (n *NodeTypeNatConfig) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "backendPort":
err = unpopulate(val, "BackendPort", &n.BackendPort)
delete(rawMsg, key)
case "frontendPortRangeEnd":
err = unpopulate(val, "FrontendPortRangeEnd", &n.FrontendPortRangeEnd)
delete(rawMsg, key)
case "frontendPortRangeStart":
err = unpopulate(val, "FrontendPortRangeStart", &n.FrontendPortRangeStart)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeProperties.
func (n NodeTypeProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalDataDisks", n.AdditionalDataDisks)
populate(objectMap, "additionalNetworkInterfaceConfigurations", n.AdditionalNetworkInterfaceConfigurations)
populate(objectMap, "applicationPorts", n.ApplicationPorts)
populate(objectMap, "capacities", n.Capacities)
populate(objectMap, "computerNamePrefix", n.ComputerNamePrefix)
populate(objectMap, "dataDiskLetter", n.DataDiskLetter)
populate(objectMap, "dataDiskSizeGB", n.DataDiskSizeGB)
populate(objectMap, "dataDiskType", n.DataDiskType)
populate(objectMap, "dscpConfigurationId", n.DscpConfigurationID)
populate(objectMap, "enableAcceleratedNetworking", n.EnableAcceleratedNetworking)
populate(objectMap, "enableEncryptionAtHost", n.EnableEncryptionAtHost)
populate(objectMap, "enableNodePublicIP", n.EnableNodePublicIP)
populate(objectMap, "enableNodePublicIPv6", n.EnableNodePublicIPv6)
populate(objectMap, "enableOverProvisioning", n.EnableOverProvisioning)
populate(objectMap, "ephemeralPorts", n.EphemeralPorts)
populate(objectMap, "evictionPolicy", n.EvictionPolicy)
populate(objectMap, "frontendConfigurations", n.FrontendConfigurations)
populate(objectMap, "hostGroupId", n.HostGroupID)
populate(objectMap, "isPrimary", n.IsPrimary)
populate(objectMap, "isSpotVM", n.IsSpotVM)
populate(objectMap, "isStateless", n.IsStateless)
populate(objectMap, "multiplePlacementGroups", n.MultiplePlacementGroups)
populate(objectMap, "natConfigurations", n.NatConfigurations)
populate(objectMap, "natGatewayId", n.NatGatewayID)
populate(objectMap, "networkSecurityRules", n.NetworkSecurityRules)
populate(objectMap, "placementProperties", n.PlacementProperties)
populate(objectMap, "provisioningState", n.ProvisioningState)
populate(objectMap, "secureBootEnabled", n.SecureBootEnabled)
populate(objectMap, "securityType", n.SecurityType)
populate(objectMap, "serviceArtifactReferenceId", n.ServiceArtifactReferenceID)
populate(objectMap, "spotRestoreTimeout", n.SpotRestoreTimeout)
populate(objectMap, "subnetId", n.SubnetID)
populate(objectMap, "useDefaultPublicLoadBalancer", n.UseDefaultPublicLoadBalancer)
populate(objectMap, "useEphemeralOSDisk", n.UseEphemeralOSDisk)
populate(objectMap, "useTempDataDisk", n.UseTempDataDisk)
populate(objectMap, "vmApplications", n.VMApplications)
populate(objectMap, "vmExtensions", n.VMExtensions)
populate(objectMap, "vmImageOffer", n.VMImageOffer)
populate(objectMap, "vmImagePlan", n.VMImagePlan)
populate(objectMap, "vmImagePublisher", n.VMImagePublisher)
populate(objectMap, "vmImageResourceId", n.VMImageResourceID)
populate(objectMap, "vmImageSku", n.VMImageSKU)
populate(objectMap, "vmImageVersion", n.VMImageVersion)
populate(objectMap, "vmInstanceCount", n.VMInstanceCount)
populate(objectMap, "vmManagedIdentity", n.VMManagedIdentity)
populate(objectMap, "vmSecrets", n.VMSecrets)
populate(objectMap, "vmSetupActions", n.VMSetupActions)
populate(objectMap, "vmSharedGalleryImageId", n.VMSharedGalleryImageID)
populate(objectMap, "vmSize", n.VMSize)
populate(objectMap, "zones", n.Zones)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeProperties.
func (n *NodeTypeProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "additionalDataDisks":
err = unpopulate(val, "AdditionalDataDisks", &n.AdditionalDataDisks)
delete(rawMsg, key)
case "additionalNetworkInterfaceConfigurations":
err = unpopulate(val, "AdditionalNetworkInterfaceConfigurations", &n.AdditionalNetworkInterfaceConfigurations)
delete(rawMsg, key)
case "applicationPorts":
err = unpopulate(val, "ApplicationPorts", &n.ApplicationPorts)
delete(rawMsg, key)
case "capacities":
err = unpopulate(val, "Capacities", &n.Capacities)
delete(rawMsg, key)
case "computerNamePrefix":
err = unpopulate(val, "ComputerNamePrefix", &n.ComputerNamePrefix)
delete(rawMsg, key)
case "dataDiskLetter":
err = unpopulate(val, "DataDiskLetter", &n.DataDiskLetter)
delete(rawMsg, key)
case "dataDiskSizeGB":
err = unpopulate(val, "DataDiskSizeGB", &n.DataDiskSizeGB)
delete(rawMsg, key)
case "dataDiskType":
err = unpopulate(val, "DataDiskType", &n.DataDiskType)
delete(rawMsg, key)
case "dscpConfigurationId":
err = unpopulate(val, "DscpConfigurationID", &n.DscpConfigurationID)
delete(rawMsg, key)
case "enableAcceleratedNetworking":
err = unpopulate(val, "EnableAcceleratedNetworking", &n.EnableAcceleratedNetworking)
delete(rawMsg, key)
case "enableEncryptionAtHost":
err = unpopulate(val, "EnableEncryptionAtHost", &n.EnableEncryptionAtHost)
delete(rawMsg, key)
case "enableNodePublicIP":
err = unpopulate(val, "EnableNodePublicIP", &n.EnableNodePublicIP)
delete(rawMsg, key)
case "enableNodePublicIPv6":
err = unpopulate(val, "EnableNodePublicIPv6", &n.EnableNodePublicIPv6)
delete(rawMsg, key)
case "enableOverProvisioning":
err = unpopulate(val, "EnableOverProvisioning", &n.EnableOverProvisioning)
delete(rawMsg, key)
case "ephemeralPorts":
err = unpopulate(val, "EphemeralPorts", &n.EphemeralPorts)
delete(rawMsg, key)
case "evictionPolicy":
err = unpopulate(val, "EvictionPolicy", &n.EvictionPolicy)
delete(rawMsg, key)
case "frontendConfigurations":
err = unpopulate(val, "FrontendConfigurations", &n.FrontendConfigurations)
delete(rawMsg, key)
case "hostGroupId":
err = unpopulate(val, "HostGroupID", &n.HostGroupID)
delete(rawMsg, key)
case "isPrimary":
err = unpopulate(val, "IsPrimary", &n.IsPrimary)
delete(rawMsg, key)
case "isSpotVM":
err = unpopulate(val, "IsSpotVM", &n.IsSpotVM)
delete(rawMsg, key)
case "isStateless":
err = unpopulate(val, "IsStateless", &n.IsStateless)
delete(rawMsg, key)
case "multiplePlacementGroups":
err = unpopulate(val, "MultiplePlacementGroups", &n.MultiplePlacementGroups)
delete(rawMsg, key)
case "natConfigurations":
err = unpopulate(val, "NatConfigurations", &n.NatConfigurations)
delete(rawMsg, key)
case "natGatewayId":
err = unpopulate(val, "NatGatewayID", &n.NatGatewayID)
delete(rawMsg, key)
case "networkSecurityRules":
err = unpopulate(val, "NetworkSecurityRules", &n.NetworkSecurityRules)
delete(rawMsg, key)
case "placementProperties":
err = unpopulate(val, "PlacementProperties", &n.PlacementProperties)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &n.ProvisioningState)
delete(rawMsg, key)
case "secureBootEnabled":
err = unpopulate(val, "SecureBootEnabled", &n.SecureBootEnabled)
delete(rawMsg, key)
case "securityType":
err = unpopulate(val, "SecurityType", &n.SecurityType)
delete(rawMsg, key)
case "serviceArtifactReferenceId":
err = unpopulate(val, "ServiceArtifactReferenceID", &n.ServiceArtifactReferenceID)
delete(rawMsg, key)
case "spotRestoreTimeout":
err = unpopulate(val, "SpotRestoreTimeout", &n.SpotRestoreTimeout)
delete(rawMsg, key)
case "subnetId":
err = unpopulate(val, "SubnetID", &n.SubnetID)
delete(rawMsg, key)
case "useDefaultPublicLoadBalancer":
err = unpopulate(val, "UseDefaultPublicLoadBalancer", &n.UseDefaultPublicLoadBalancer)
delete(rawMsg, key)
case "useEphemeralOSDisk":
err = unpopulate(val, "UseEphemeralOSDisk", &n.UseEphemeralOSDisk)
delete(rawMsg, key)
case "useTempDataDisk":
err = unpopulate(val, "UseTempDataDisk", &n.UseTempDataDisk)
delete(rawMsg, key)
case "vmApplications":
err = unpopulate(val, "VMApplications", &n.VMApplications)
delete(rawMsg, key)
case "vmExtensions":
err = unpopulate(val, "VMExtensions", &n.VMExtensions)
delete(rawMsg, key)
case "vmImageOffer":
err = unpopulate(val, "VMImageOffer", &n.VMImageOffer)
delete(rawMsg, key)
case "vmImagePlan":
err = unpopulate(val, "VMImagePlan", &n.VMImagePlan)
delete(rawMsg, key)
case "vmImagePublisher":
err = unpopulate(val, "VMImagePublisher", &n.VMImagePublisher)
delete(rawMsg, key)
case "vmImageResourceId":
err = unpopulate(val, "VMImageResourceID", &n.VMImageResourceID)
delete(rawMsg, key)
case "vmImageSku":
err = unpopulate(val, "VMImageSKU", &n.VMImageSKU)
delete(rawMsg, key)
case "vmImageVersion":
err = unpopulate(val, "VMImageVersion", &n.VMImageVersion)
delete(rawMsg, key)
case "vmInstanceCount":
err = unpopulate(val, "VMInstanceCount", &n.VMInstanceCount)
delete(rawMsg, key)
case "vmManagedIdentity":
err = unpopulate(val, "VMManagedIdentity", &n.VMManagedIdentity)
delete(rawMsg, key)
case "vmSecrets":
err = unpopulate(val, "VMSecrets", &n.VMSecrets)
delete(rawMsg, key)
case "vmSetupActions":
err = unpopulate(val, "VMSetupActions", &n.VMSetupActions)
delete(rawMsg, key)
case "vmSharedGalleryImageId":
err = unpopulate(val, "VMSharedGalleryImageID", &n.VMSharedGalleryImageID)
delete(rawMsg, key)
case "vmSize":
err = unpopulate(val, "VMSize", &n.VMSize)
delete(rawMsg, key)
case "zones":
err = unpopulate(val, "Zones", &n.Zones)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeSKU.
func (n NodeTypeSKU) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "capacity", n.Capacity)
populate(objectMap, "name", n.Name)
populate(objectMap, "tier", n.Tier)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeSKU.
func (n *NodeTypeSKU) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "capacity":
err = unpopulate(val, "Capacity", &n.Capacity)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &n.Name)
delete(rawMsg, key)
case "tier":
err = unpopulate(val, "Tier", &n.Tier)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeSKUCapacity.
func (n NodeTypeSKUCapacity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "default", n.Default)
populate(objectMap, "maximum", n.Maximum)
populate(objectMap, "minimum", n.Minimum)
populate(objectMap, "scaleType", n.ScaleType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeSKUCapacity.
func (n *NodeTypeSKUCapacity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "default":
err = unpopulate(val, "Default", &n.Default)
delete(rawMsg, key)
case "maximum":
err = unpopulate(val, "Maximum", &n.Maximum)
delete(rawMsg, key)
case "minimum":
err = unpopulate(val, "Minimum", &n.Minimum)
delete(rawMsg, key)
case "scaleType":
err = unpopulate(val, "ScaleType", &n.ScaleType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeSupportedSKU.
func (n NodeTypeSupportedSKU) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", n.Name)
populate(objectMap, "tier", n.Tier)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeSupportedSKU.
func (n *NodeTypeSupportedSKU) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &n.Name)
delete(rawMsg, key)
case "tier":
err = unpopulate(val, "Tier", &n.Tier)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NodeTypeUpdateParameters.
func (n NodeTypeUpdateParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sku", n.SKU)
populate(objectMap, "tags", n.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodeTypeUpdateParameters.
func (n *NodeTypeUpdateParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "sku":
err = unpopulate(val, "SKU", &n.SKU)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &n.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type OperationListResult.
func (o OperationListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", o.NextLink)
populate(objectMap, "value", o.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult.
func (o *OperationListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", o, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &o.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &o.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", o, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type OperationResult.
func (o OperationResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "display", o.Display)
populate(objectMap, "isDataAction", o.IsDataAction)
populate(objectMap, "name", o.Name)
populate(objectMap, "nextLink", o.NextLink)
populate(objectMap, "origin", o.Origin)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationResult.
func (o *OperationResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", o, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "display":
err = unpopulate(val, "Display", &o.Display)
delete(rawMsg, key)
case "isDataAction":
err = unpopulate(val, "IsDataAction", &o.IsDataAction)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &o.Name)
delete(rawMsg, key)
case "nextLink":
err = unpopulate(val, "NextLink", &o.NextLink)
delete(rawMsg, key)
case "origin":
err = unpopulate(val, "Origin", &o.Origin)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", o, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Partition.
func (p Partition) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["partitionScheme"] = p.PartitionScheme
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Partition.
func (p *Partition) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "partitionScheme":
err = unpopulate(val, "PartitionScheme", &p.PartitionScheme)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PartitionInstanceCountScaleMechanism.
func (p PartitionInstanceCountScaleMechanism) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["kind"] = ServiceScalingMechanismKindScalePartitionInstanceCount
populate(objectMap, "maxInstanceCount", p.MaxInstanceCount)
populate(objectMap, "minInstanceCount", p.MinInstanceCount)
populate(objectMap, "scaleIncrement", p.ScaleIncrement)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PartitionInstanceCountScaleMechanism.
func (p *PartitionInstanceCountScaleMechanism) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "kind":
err = unpopulate(val, "Kind", &p.Kind)
delete(rawMsg, key)
case "maxInstanceCount":
err = unpopulate(val, "MaxInstanceCount", &p.MaxInstanceCount)
delete(rawMsg, key)
case "minInstanceCount":
err = unpopulate(val, "MinInstanceCount", &p.MinInstanceCount)
delete(rawMsg, key)
case "scaleIncrement":
err = unpopulate(val, "ScaleIncrement", &p.ScaleIncrement)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ResourceAzStatus.
func (r ResourceAzStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "details", r.Details)
populate(objectMap, "isZoneResilient", r.IsZoneResilient)
populate(objectMap, "resourceName", r.ResourceName)
populate(objectMap, "resourceType", r.ResourceType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceAzStatus.
func (r *ResourceAzStatus) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "details":
err = unpopulate(val, "Details", &r.Details)
delete(rawMsg, key)
case "isZoneResilient":
err = unpopulate(val, "IsZoneResilient", &r.IsZoneResilient)
delete(rawMsg, key)
case "resourceName":
err = unpopulate(val, "ResourceName", &r.ResourceName)
delete(rawMsg, key)
case "resourceType":
err = unpopulate(val, "ResourceType", &r.ResourceType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RollingUpgradeMonitoringPolicy.
func (r RollingUpgradeMonitoringPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "failureAction", r.FailureAction)
populate(objectMap, "healthCheckRetryTimeout", r.HealthCheckRetryTimeout)
populate(objectMap, "healthCheckStableDuration", r.HealthCheckStableDuration)
populate(objectMap, "healthCheckWaitDuration", r.HealthCheckWaitDuration)
populate(objectMap, "upgradeDomainTimeout", r.UpgradeDomainTimeout)
populate(objectMap, "upgradeTimeout", r.UpgradeTimeout)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RollingUpgradeMonitoringPolicy.
func (r *RollingUpgradeMonitoringPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "failureAction":
err = unpopulate(val, "FailureAction", &r.FailureAction)
delete(rawMsg, key)
case "healthCheckRetryTimeout":
err = unpopulate(val, "HealthCheckRetryTimeout", &r.HealthCheckRetryTimeout)
delete(rawMsg, key)
case "healthCheckStableDuration":
err = unpopulate(val, "HealthCheckStableDuration", &r.HealthCheckStableDuration)
delete(rawMsg, key)
case "healthCheckWaitDuration":
err = unpopulate(val, "HealthCheckWaitDuration", &r.HealthCheckWaitDuration)
delete(rawMsg, key)
case "upgradeDomainTimeout":
err = unpopulate(val, "UpgradeDomainTimeout", &r.UpgradeDomainTimeout)
delete(rawMsg, key)
case "upgradeTimeout":
err = unpopulate(val, "UpgradeTimeout", &r.UpgradeTimeout)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RuntimeResumeApplicationUpgradeParameters.
func (r RuntimeResumeApplicationUpgradeParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "upgradeDomainName", r.UpgradeDomainName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RuntimeResumeApplicationUpgradeParameters.
func (r *RuntimeResumeApplicationUpgradeParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "upgradeDomainName":
err = unpopulate(val, "UpgradeDomainName", &r.UpgradeDomainName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SKU.
func (s SKU) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", s.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SKU.
func (s *SKU) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ScalingMechanism.
func (s ScalingMechanism) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["kind"] = s.Kind
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ScalingMechanism.
func (s *ScalingMechanism) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "kind":
err = unpopulate(val, "Kind", &s.Kind)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ScalingPolicy.
func (s ScalingPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "scalingMechanism", s.ScalingMechanism)
populate(objectMap, "scalingTrigger", s.ScalingTrigger)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ScalingPolicy.
func (s *ScalingPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "scalingMechanism":
s.ScalingMechanism, err = unmarshalScalingMechanismClassification(val)
delete(rawMsg, key)
case "scalingTrigger":
s.ScalingTrigger, err = unmarshalScalingTriggerClassification(val)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ScalingTrigger.
func (s ScalingTrigger) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["kind"] = s.Kind
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ScalingTrigger.
func (s *ScalingTrigger) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "kind":
err = unpopulate(val, "Kind", &s.Kind)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceCorrelation.
func (s ServiceCorrelation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "scheme", s.Scheme)
populate(objectMap, "serviceName", s.ServiceName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceCorrelation.
func (s *ServiceCorrelation) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "scheme":
err = unpopulate(val, "Scheme", &s.Scheme)
delete(rawMsg, key)
case "serviceName":
err = unpopulate(val, "ServiceName", &s.ServiceName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceEndpoint.
func (s ServiceEndpoint) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "locations", s.Locations)
populate(objectMap, "service", s.Service)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceEndpoint.
func (s *ServiceEndpoint) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "locations":
err = unpopulate(val, "Locations", &s.Locations)
delete(rawMsg, key)
case "service":
err = unpopulate(val, "Service", &s.Service)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceLoadMetric.
func (s ServiceLoadMetric) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "defaultLoad", s.DefaultLoad)
populate(objectMap, "name", s.Name)
populate(objectMap, "primaryDefaultLoad", s.PrimaryDefaultLoad)
populate(objectMap, "secondaryDefaultLoad", s.SecondaryDefaultLoad)
populate(objectMap, "weight", s.Weight)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceLoadMetric.
func (s *ServiceLoadMetric) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "defaultLoad":
err = unpopulate(val, "DefaultLoad", &s.DefaultLoad)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "primaryDefaultLoad":
err = unpopulate(val, "PrimaryDefaultLoad", &s.PrimaryDefaultLoad)
delete(rawMsg, key)
case "secondaryDefaultLoad":
err = unpopulate(val, "SecondaryDefaultLoad", &s.SecondaryDefaultLoad)
delete(rawMsg, key)
case "weight":
err = unpopulate(val, "Weight", &s.Weight)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServicePlacementInvalidDomainPolicy.
func (s ServicePlacementInvalidDomainPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "domainName", s.DomainName)
objectMap["type"] = ServicePlacementPolicyTypeInvalidDomain
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePlacementInvalidDomainPolicy.
func (s *ServicePlacementInvalidDomainPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "domainName":
err = unpopulate(val, "DomainName", &s.DomainName)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServicePlacementNonPartiallyPlaceServicePolicy.
func (s ServicePlacementNonPartiallyPlaceServicePolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["type"] = ServicePlacementPolicyTypeNonPartiallyPlaceService
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePlacementNonPartiallyPlaceServicePolicy.
func (s *ServicePlacementNonPartiallyPlaceServicePolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServicePlacementPolicy.
func (s ServicePlacementPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["type"] = s.Type
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePlacementPolicy.
func (s *ServicePlacementPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServicePlacementPreferPrimaryDomainPolicy.
func (s ServicePlacementPreferPrimaryDomainPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "domainName", s.DomainName)
objectMap["type"] = ServicePlacementPolicyTypePreferredPrimaryDomain
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePlacementPreferPrimaryDomainPolicy.
func (s *ServicePlacementPreferPrimaryDomainPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "domainName":
err = unpopulate(val, "DomainName", &s.DomainName)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServicePlacementRequireDomainDistributionPolicy.
func (s ServicePlacementRequireDomainDistributionPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "domainName", s.DomainName)
objectMap["type"] = ServicePlacementPolicyTypeRequiredDomainDistribution
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePlacementRequireDomainDistributionPolicy.
func (s *ServicePlacementRequireDomainDistributionPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "domainName":
err = unpopulate(val, "DomainName", &s.DomainName)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServicePlacementRequiredDomainPolicy.
func (s ServicePlacementRequiredDomainPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "domainName", s.DomainName)
objectMap["type"] = ServicePlacementPolicyTypeRequiredDomain
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePlacementRequiredDomainPolicy.
func (s *ServicePlacementRequiredDomainPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "domainName":
err = unpopulate(val, "DomainName", &s.DomainName)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceResource.
func (s ServiceResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", s.ID)
populate(objectMap, "location", s.Location)
populate(objectMap, "name", s.Name)
populate(objectMap, "properties", s.Properties)
populate(objectMap, "systemData", s.SystemData)
populate(objectMap, "tags", s.Tags)
populate(objectMap, "type", s.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceResource.
func (s *ServiceResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &s.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &s.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "properties":
s.Properties, err = unmarshalServiceResourcePropertiesClassification(val)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &s.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &s.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &s.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceResourceList.
func (s ServiceResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", s.NextLink)
populate(objectMap, "value", s.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceResourceList.
func (s *ServiceResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &s.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &s.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceResourceProperties.
func (s ServiceResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "correlationScheme", s.CorrelationScheme)
populate(objectMap, "defaultMoveCost", s.DefaultMoveCost)
populate(objectMap, "partitionDescription", s.PartitionDescription)
populate(objectMap, "placementConstraints", s.PlacementConstraints)
populate(objectMap, "provisioningState", s.ProvisioningState)
populate(objectMap, "scalingPolicies", s.ScalingPolicies)
populate(objectMap, "serviceDnsName", s.ServiceDNSName)
objectMap["serviceKind"] = s.ServiceKind
populate(objectMap, "serviceLoadMetrics", s.ServiceLoadMetrics)
populate(objectMap, "servicePackageActivationMode", s.ServicePackageActivationMode)
populate(objectMap, "servicePlacementPolicies", s.ServicePlacementPolicies)
populate(objectMap, "serviceTypeName", s.ServiceTypeName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceResourceProperties.
func (s *ServiceResourceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "correlationScheme":
err = unpopulate(val, "CorrelationScheme", &s.CorrelationScheme)
delete(rawMsg, key)
case "defaultMoveCost":
err = unpopulate(val, "DefaultMoveCost", &s.DefaultMoveCost)
delete(rawMsg, key)
case "partitionDescription":
s.PartitionDescription, err = unmarshalPartitionClassification(val)
delete(rawMsg, key)
case "placementConstraints":
err = unpopulate(val, "PlacementConstraints", &s.PlacementConstraints)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &s.ProvisioningState)
delete(rawMsg, key)
case "scalingPolicies":
err = unpopulate(val, "ScalingPolicies", &s.ScalingPolicies)
delete(rawMsg, key)
case "serviceDnsName":
err = unpopulate(val, "ServiceDNSName", &s.ServiceDNSName)
delete(rawMsg, key)
case "serviceKind":
err = unpopulate(val, "ServiceKind", &s.ServiceKind)
delete(rawMsg, key)
case "serviceLoadMetrics":
err = unpopulate(val, "ServiceLoadMetrics", &s.ServiceLoadMetrics)
delete(rawMsg, key)
case "servicePackageActivationMode":
err = unpopulate(val, "ServicePackageActivationMode", &s.ServicePackageActivationMode)
delete(rawMsg, key)
case "servicePlacementPolicies":
s.ServicePlacementPolicies, err = unmarshalServicePlacementPolicyClassificationArray(val)
delete(rawMsg, key)
case "serviceTypeName":
err = unpopulate(val, "ServiceTypeName", &s.ServiceTypeName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceTypeHealthPolicy.
func (s ServiceTypeHealthPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "maxPercentUnhealthyPartitionsPerService", s.MaxPercentUnhealthyPartitionsPerService)
populate(objectMap, "maxPercentUnhealthyReplicasPerPartition", s.MaxPercentUnhealthyReplicasPerPartition)
populate(objectMap, "maxPercentUnhealthyServices", s.MaxPercentUnhealthyServices)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceTypeHealthPolicy.
func (s *ServiceTypeHealthPolicy) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "maxPercentUnhealthyPartitionsPerService":
err = unpopulate(val, "MaxPercentUnhealthyPartitionsPerService", &s.MaxPercentUnhealthyPartitionsPerService)
delete(rawMsg, key)
case "maxPercentUnhealthyReplicasPerPartition":
err = unpopulate(val, "MaxPercentUnhealthyReplicasPerPartition", &s.MaxPercentUnhealthyReplicasPerPartition)
delete(rawMsg, key)
case "maxPercentUnhealthyServices":
err = unpopulate(val, "MaxPercentUnhealthyServices", &s.MaxPercentUnhealthyServices)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ServiceUpdateParameters.
func (s ServiceUpdateParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", s.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceUpdateParameters.
func (s *ServiceUpdateParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "tags":
err = unpopulate(val, "Tags", &s.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SettingsParameterDescription.
func (s SettingsParameterDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", s.Name)
populate(objectMap, "value", s.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SettingsParameterDescription.
func (s *SettingsParameterDescription) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &s.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SettingsSectionDescription.
func (s SettingsSectionDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", s.Name)
populate(objectMap, "parameters", s.Parameters)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SettingsSectionDescription.
func (s *SettingsSectionDescription) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "parameters":
err = unpopulate(val, "Parameters", &s.Parameters)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SingletonPartitionScheme.
func (s SingletonPartitionScheme) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["partitionScheme"] = PartitionSchemeSingleton
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SingletonPartitionScheme.
func (s *SingletonPartitionScheme) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "partitionScheme":
err = unpopulate(val, "PartitionScheme", &s.PartitionScheme)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type StatefulServiceProperties.
func (s StatefulServiceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "correlationScheme", s.CorrelationScheme)
populate(objectMap, "defaultMoveCost", s.DefaultMoveCost)
populate(objectMap, "hasPersistedState", s.HasPersistedState)
populate(objectMap, "minReplicaSetSize", s.MinReplicaSetSize)
populate(objectMap, "partitionDescription", s.PartitionDescription)
populate(objectMap, "placementConstraints", s.PlacementConstraints)
populate(objectMap, "provisioningState", s.ProvisioningState)
populate(objectMap, "quorumLossWaitDuration", s.QuorumLossWaitDuration)
populate(objectMap, "replicaRestartWaitDuration", s.ReplicaRestartWaitDuration)
populate(objectMap, "scalingPolicies", s.ScalingPolicies)
populate(objectMap, "serviceDnsName", s.ServiceDNSName)
objectMap["serviceKind"] = ServiceKindStateful
populate(objectMap, "serviceLoadMetrics", s.ServiceLoadMetrics)
populate(objectMap, "servicePackageActivationMode", s.ServicePackageActivationMode)
populate(objectMap, "servicePlacementPolicies", s.ServicePlacementPolicies)
populate(objectMap, "servicePlacementTimeLimit", s.ServicePlacementTimeLimit)
populate(objectMap, "serviceTypeName", s.ServiceTypeName)
populate(objectMap, "standByReplicaKeepDuration", s.StandByReplicaKeepDuration)
populate(objectMap, "targetReplicaSetSize", s.TargetReplicaSetSize)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StatefulServiceProperties.
func (s *StatefulServiceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "correlationScheme":
err = unpopulate(val, "CorrelationScheme", &s.CorrelationScheme)
delete(rawMsg, key)
case "defaultMoveCost":
err = unpopulate(val, "DefaultMoveCost", &s.DefaultMoveCost)
delete(rawMsg, key)
case "hasPersistedState":
err = unpopulate(val, "HasPersistedState", &s.HasPersistedState)
delete(rawMsg, key)
case "minReplicaSetSize":
err = unpopulate(val, "MinReplicaSetSize", &s.MinReplicaSetSize)
delete(rawMsg, key)
case "partitionDescription":
s.PartitionDescription, err = unmarshalPartitionClassification(val)
delete(rawMsg, key)
case "placementConstraints":
err = unpopulate(val, "PlacementConstraints", &s.PlacementConstraints)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &s.ProvisioningState)
delete(rawMsg, key)
case "quorumLossWaitDuration":
err = unpopulate(val, "QuorumLossWaitDuration", &s.QuorumLossWaitDuration)
delete(rawMsg, key)
case "replicaRestartWaitDuration":
err = unpopulate(val, "ReplicaRestartWaitDuration", &s.ReplicaRestartWaitDuration)
delete(rawMsg, key)
case "scalingPolicies":
err = unpopulate(val, "ScalingPolicies", &s.ScalingPolicies)
delete(rawMsg, key)
case "serviceDnsName":
err = unpopulate(val, "ServiceDNSName", &s.ServiceDNSName)
delete(rawMsg, key)
case "serviceKind":
err = unpopulate(val, "ServiceKind", &s.ServiceKind)
delete(rawMsg, key)
case "serviceLoadMetrics":
err = unpopulate(val, "ServiceLoadMetrics", &s.ServiceLoadMetrics)
delete(rawMsg, key)
case "servicePackageActivationMode":
err = unpopulate(val, "ServicePackageActivationMode", &s.ServicePackageActivationMode)
delete(rawMsg, key)
case "servicePlacementPolicies":
s.ServicePlacementPolicies, err = unmarshalServicePlacementPolicyClassificationArray(val)
delete(rawMsg, key)
case "servicePlacementTimeLimit":
err = unpopulate(val, "ServicePlacementTimeLimit", &s.ServicePlacementTimeLimit)
delete(rawMsg, key)
case "serviceTypeName":
err = unpopulate(val, "ServiceTypeName", &s.ServiceTypeName)
delete(rawMsg, key)
case "standByReplicaKeepDuration":
err = unpopulate(val, "StandByReplicaKeepDuration", &s.StandByReplicaKeepDuration)
delete(rawMsg, key)
case "targetReplicaSetSize":
err = unpopulate(val, "TargetReplicaSetSize", &s.TargetReplicaSetSize)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type StatelessServiceProperties.
func (s StatelessServiceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "correlationScheme", s.CorrelationScheme)
populate(objectMap, "defaultMoveCost", s.DefaultMoveCost)
populate(objectMap, "instanceCount", s.InstanceCount)
populate(objectMap, "minInstanceCount", s.MinInstanceCount)
populate(objectMap, "minInstancePercentage", s.MinInstancePercentage)
populate(objectMap, "partitionDescription", s.PartitionDescription)
populate(objectMap, "placementConstraints", s.PlacementConstraints)
populate(objectMap, "provisioningState", s.ProvisioningState)
populate(objectMap, "scalingPolicies", s.ScalingPolicies)
populate(objectMap, "serviceDnsName", s.ServiceDNSName)
objectMap["serviceKind"] = ServiceKindStateless
populate(objectMap, "serviceLoadMetrics", s.ServiceLoadMetrics)
populate(objectMap, "servicePackageActivationMode", s.ServicePackageActivationMode)
populate(objectMap, "servicePlacementPolicies", s.ServicePlacementPolicies)
populate(objectMap, "serviceTypeName", s.ServiceTypeName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StatelessServiceProperties.
func (s *StatelessServiceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "correlationScheme":
err = unpopulate(val, "CorrelationScheme", &s.CorrelationScheme)
delete(rawMsg, key)
case "defaultMoveCost":
err = unpopulate(val, "DefaultMoveCost", &s.DefaultMoveCost)
delete(rawMsg, key)
case "instanceCount":
err = unpopulate(val, "InstanceCount", &s.InstanceCount)
delete(rawMsg, key)
case "minInstanceCount":
err = unpopulate(val, "MinInstanceCount", &s.MinInstanceCount)
delete(rawMsg, key)
case "minInstancePercentage":
err = unpopulate(val, "MinInstancePercentage", &s.MinInstancePercentage)
delete(rawMsg, key)
case "partitionDescription":
s.PartitionDescription, err = unmarshalPartitionClassification(val)
delete(rawMsg, key)
case "placementConstraints":
err = unpopulate(val, "PlacementConstraints", &s.PlacementConstraints)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &s.ProvisioningState)
delete(rawMsg, key)
case "scalingPolicies":
err = unpopulate(val, "ScalingPolicies", &s.ScalingPolicies)
delete(rawMsg, key)
case "serviceDnsName":
err = unpopulate(val, "ServiceDNSName", &s.ServiceDNSName)
delete(rawMsg, key)
case "serviceKind":
err = unpopulate(val, "ServiceKind", &s.ServiceKind)
delete(rawMsg, key)
case "serviceLoadMetrics":
err = unpopulate(val, "ServiceLoadMetrics", &s.ServiceLoadMetrics)
delete(rawMsg, key)
case "servicePackageActivationMode":
err = unpopulate(val, "ServicePackageActivationMode", &s.ServicePackageActivationMode)
delete(rawMsg, key)
case "servicePlacementPolicies":
s.ServicePlacementPolicies, err = unmarshalServicePlacementPolicyClassificationArray(val)
delete(rawMsg, key)
case "serviceTypeName":
err = unpopulate(val, "ServiceTypeName", &s.ServiceTypeName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SubResource.
func (s SubResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", s.ID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SubResource.
func (s *SubResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &s.ID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Subnet.
func (s Subnet) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enableIpv6", s.EnableIPv6)
populate(objectMap, "name", s.Name)
populate(objectMap, "networkSecurityGroupId", s.NetworkSecurityGroupID)
populate(objectMap, "privateEndpointNetworkPolicies", s.PrivateEndpointNetworkPolicies)
populate(objectMap, "privateLinkServiceNetworkPolicies", s.PrivateLinkServiceNetworkPolicies)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Subnet.
func (s *Subnet) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "enableIpv6":
err = unpopulate(val, "EnableIPv6", &s.EnableIPv6)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "networkSecurityGroupId":
err = unpopulate(val, "NetworkSecurityGroupID", &s.NetworkSecurityGroupID)
delete(rawMsg, key)
case "privateEndpointNetworkPolicies":
err = unpopulate(val, "PrivateEndpointNetworkPolicies", &s.PrivateEndpointNetworkPolicies)
delete(rawMsg, key)
case "privateLinkServiceNetworkPolicies":
err = unpopulate(val, "PrivateLinkServiceNetworkPolicies", &s.PrivateLinkServiceNetworkPolicies)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SystemData.
func (s SystemData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "createdAt", s.CreatedAt)
populate(objectMap, "createdBy", s.CreatedBy)
populate(objectMap, "createdByType", s.CreatedByType)
populateDateTimeRFC3339(objectMap, "lastModifiedAt", s.LastModifiedAt)
populate(objectMap, "lastModifiedBy", s.LastModifiedBy)
populate(objectMap, "lastModifiedByType", s.LastModifiedByType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SystemData.
func (s *SystemData) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "createdAt":
err = unpopulateDateTimeRFC3339(val, "CreatedAt", &s.CreatedAt)
delete(rawMsg, key)
case "createdBy":
err = unpopulate(val, "CreatedBy", &s.CreatedBy)
delete(rawMsg, key)
case "createdByType":
err = unpopulate(val, "CreatedByType", &s.CreatedByType)
delete(rawMsg, key)
case "lastModifiedAt":
err = unpopulateDateTimeRFC3339(val, "LastModifiedAt", &s.LastModifiedAt)
delete(rawMsg, key)
case "lastModifiedBy":
err = unpopulate(val, "LastModifiedBy", &s.LastModifiedBy)
delete(rawMsg, key)
case "lastModifiedByType":
err = unpopulate(val, "LastModifiedByType", &s.LastModifiedByType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UniformInt64RangePartitionScheme.
func (u UniformInt64RangePartitionScheme) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "count", u.Count)
populate(objectMap, "highKey", u.HighKey)
populate(objectMap, "lowKey", u.LowKey)
objectMap["partitionScheme"] = PartitionSchemeUniformInt64Range
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UniformInt64RangePartitionScheme.
func (u *UniformInt64RangePartitionScheme) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "count":
err = unpopulate(val, "Count", &u.Count)
delete(rawMsg, key)
case "highKey":
err = unpopulate(val, "HighKey", &u.HighKey)
delete(rawMsg, key)
case "lowKey":
err = unpopulate(val, "LowKey", &u.LowKey)
delete(rawMsg, key)
case "partitionScheme":
err = unpopulate(val, "PartitionScheme", &u.PartitionScheme)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UserAssignedIdentity.
func (u UserAssignedIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "clientId", u.ClientID)
populate(objectMap, "principalId", u.PrincipalID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserAssignedIdentity.
func (u *UserAssignedIdentity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "clientId":
err = unpopulate(val, "ClientID", &u.ClientID)
delete(rawMsg, key)
case "principalId":
err = unpopulate(val, "PrincipalID", &u.PrincipalID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VMApplication.
func (v VMApplication) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "configurationReference", v.ConfigurationReference)
populate(objectMap, "enableAutomaticUpgrade", v.EnableAutomaticUpgrade)
populate(objectMap, "order", v.Order)
populate(objectMap, "packageReferenceId", v.PackageReferenceID)
populate(objectMap, "treatFailureAsDeploymentFailure", v.TreatFailureAsDeploymentFailure)
populate(objectMap, "vmGalleryTags", v.VMGalleryTags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VMApplication.
func (v *VMApplication) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "configurationReference":
err = unpopulate(val, "ConfigurationReference", &v.ConfigurationReference)
delete(rawMsg, key)
case "enableAutomaticUpgrade":
err = unpopulate(val, "EnableAutomaticUpgrade", &v.EnableAutomaticUpgrade)
delete(rawMsg, key)
case "order":
err = unpopulate(val, "Order", &v.Order)
delete(rawMsg, key)
case "packageReferenceId":
err = unpopulate(val, "PackageReferenceID", &v.PackageReferenceID)
delete(rawMsg, key)
case "treatFailureAsDeploymentFailure":
err = unpopulate(val, "TreatFailureAsDeploymentFailure", &v.TreatFailureAsDeploymentFailure)
delete(rawMsg, key)
case "vmGalleryTags":
err = unpopulate(val, "VMGalleryTags", &v.VMGalleryTags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VMImagePlan.
func (v VMImagePlan) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", v.Name)
populate(objectMap, "product", v.Product)
populate(objectMap, "promotionCode", v.PromotionCode)
populate(objectMap, "publisher", v.Publisher)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VMImagePlan.
func (v *VMImagePlan) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &v.Name)
delete(rawMsg, key)
case "product":
err = unpopulate(val, "Product", &v.Product)
delete(rawMsg, key)
case "promotionCode":
err = unpopulate(val, "PromotionCode", &v.PromotionCode)
delete(rawMsg, key)
case "publisher":
err = unpopulate(val, "Publisher", &v.Publisher)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VMManagedIdentity.
func (v VMManagedIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "userAssignedIdentities", v.UserAssignedIdentities)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VMManagedIdentity.
func (v *VMManagedIdentity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "userAssignedIdentities":
err = unpopulate(val, "UserAssignedIdentities", &v.UserAssignedIdentities)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VMSSExtension.
func (v VMSSExtension) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", v.Name)
populate(objectMap, "properties", v.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VMSSExtension.
func (v *VMSSExtension) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &v.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &v.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VMSSExtensionProperties.
func (v VMSSExtensionProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "autoUpgradeMinorVersion", v.AutoUpgradeMinorVersion)
populate(objectMap, "enableAutomaticUpgrade", v.EnableAutomaticUpgrade)
populate(objectMap, "forceUpdateTag", v.ForceUpdateTag)
populateAny(objectMap, "protectedSettings", v.ProtectedSettings)
populate(objectMap, "provisionAfterExtensions", v.ProvisionAfterExtensions)
populate(objectMap, "provisioningState", v.ProvisioningState)
populate(objectMap, "publisher", v.Publisher)
populateAny(objectMap, "settings", v.Settings)
populate(objectMap, "setupOrder", v.SetupOrder)
populate(objectMap, "type", v.Type)
populate(objectMap, "typeHandlerVersion", v.TypeHandlerVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VMSSExtensionProperties.
func (v *VMSSExtensionProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "autoUpgradeMinorVersion":
err = unpopulate(val, "AutoUpgradeMinorVersion", &v.AutoUpgradeMinorVersion)
delete(rawMsg, key)
case "enableAutomaticUpgrade":
err = unpopulate(val, "EnableAutomaticUpgrade", &v.EnableAutomaticUpgrade)
delete(rawMsg, key)
case "forceUpdateTag":
err = unpopulate(val, "ForceUpdateTag", &v.ForceUpdateTag)
delete(rawMsg, key)
case "protectedSettings":
err = unpopulate(val, "ProtectedSettings", &v.ProtectedSettings)
delete(rawMsg, key)
case "provisionAfterExtensions":
err = unpopulate(val, "ProvisionAfterExtensions", &v.ProvisionAfterExtensions)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &v.ProvisioningState)
delete(rawMsg, key)
case "publisher":
err = unpopulate(val, "Publisher", &v.Publisher)
delete(rawMsg, key)
case "settings":
err = unpopulate(val, "Settings", &v.Settings)
delete(rawMsg, key)
case "setupOrder":
err = unpopulate(val, "SetupOrder", &v.SetupOrder)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
case "typeHandlerVersion":
err = unpopulate(val, "TypeHandlerVersion", &v.TypeHandlerVersion)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VMSize.
func (v VMSize) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "size", v.Size)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VMSize.
func (v *VMSize) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "size":
err = unpopulate(val, "Size", &v.Size)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VaultCertificate.
func (v VaultCertificate) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "certificateStore", v.CertificateStore)
populate(objectMap, "certificateUrl", v.CertificateURL)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VaultCertificate.
func (v *VaultCertificate) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "certificateStore":
err = unpopulate(val, "CertificateStore", &v.CertificateStore)
delete(rawMsg, key)
case "certificateUrl":
err = unpopulate(val, "CertificateURL", &v.CertificateURL)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VaultSecretGroup.
func (v VaultSecretGroup) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sourceVault", v.SourceVault)
populate(objectMap, "vaultCertificates", v.VaultCertificates)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VaultSecretGroup.
func (v *VaultSecretGroup) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "sourceVault":
err = unpopulate(val, "SourceVault", &v.SourceVault)
delete(rawMsg, key)
case "vaultCertificates":
err = unpopulate(val, "VaultCertificates", &v.VaultCertificates)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VmssDataDisk.
func (v VmssDataDisk) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "diskLetter", v.DiskLetter)
populate(objectMap, "diskSizeGB", v.DiskSizeGB)
populate(objectMap, "diskType", v.DiskType)
populate(objectMap, "lun", v.Lun)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VmssDataDisk.
func (v *VmssDataDisk) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "diskLetter":
err = unpopulate(val, "DiskLetter", &v.DiskLetter)
delete(rawMsg, key)
case "diskSizeGB":
err = unpopulate(val, "DiskSizeGB", &v.DiskSizeGB)
delete(rawMsg, key)
case "diskType":
err = unpopulate(val, "DiskType", &v.DiskType)
delete(rawMsg, key)
case "lun":
err = unpopulate(val, "Lun", &v.Lun)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
func populate(m map[string]any, k string, v any) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else if !reflect.ValueOf(v).IsNil() {
m[k] = v
}
}
func populateAny(m map[string]any, k string, v any) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else {
m[k] = v
}
}
func unpopulate(data json.RawMessage, fn string, v any) error {
if data == nil || string(data) == "null" {
return nil
}
if err := json.Unmarshal(data, v); err != nil {
return fmt.Errorf("struct field %s: %v", fn, err)
}
return nil
}