sdk/resourcemanager/networkcloud/armnetworkcloud/models_serde.go (6,766 lines of code) (raw):
// 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 armnetworkcloud
import (
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
)
// MarshalJSON implements the json.Marshaller interface for type AADConfiguration.
func (a AADConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adminGroupObjectIds", a.AdminGroupObjectIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AADConfiguration.
func (a *AADConfiguration) 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 "adminGroupObjectIds":
err = unpopulate(val, "AdminGroupObjectIDs", &a.AdminGroupObjectIDs)
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 AdministrativeCredentials.
func (a AdministrativeCredentials) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "password", a.Password)
populate(objectMap, "username", a.Username)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdministrativeCredentials.
func (a *AdministrativeCredentials) 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 "password":
err = unpopulate(val, "Password", &a.Password)
delete(rawMsg, key)
case "username":
err = unpopulate(val, "Username", &a.Username)
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 AdministratorConfiguration.
func (a AdministratorConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adminUsername", a.AdminUsername)
populate(objectMap, "sshPublicKeys", a.SSHPublicKeys)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdministratorConfiguration.
func (a *AdministratorConfiguration) 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 "adminUsername":
err = unpopulate(val, "AdminUsername", &a.AdminUsername)
delete(rawMsg, key)
case "sshPublicKeys":
err = unpopulate(val, "SSHPublicKeys", &a.SSHPublicKeys)
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 AdministratorConfigurationPatch.
func (a AdministratorConfigurationPatch) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sshPublicKeys", a.SSHPublicKeys)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdministratorConfigurationPatch.
func (a *AdministratorConfigurationPatch) 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 "sshPublicKeys":
err = unpopulate(val, "SSHPublicKeys", &a.SSHPublicKeys)
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 AgentOptions.
func (a AgentOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "hugepagesCount", a.HugepagesCount)
populate(objectMap, "hugepagesSize", a.HugepagesSize)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AgentOptions.
func (a *AgentOptions) 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 "hugepagesCount":
err = unpopulate(val, "HugepagesCount", &a.HugepagesCount)
delete(rawMsg, key)
case "hugepagesSize":
err = unpopulate(val, "HugepagesSize", &a.HugepagesSize)
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 AgentPool.
func (a AgentPool) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", a.ExtendedLocation)
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 AgentPool.
func (a *AgentPool) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &a.ExtendedLocation)
delete(rawMsg, 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 AgentPoolList.
func (a AgentPoolList) 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 AgentPoolList.
func (a *AgentPoolList) 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 AgentPoolPatchParameters.
func (a AgentPoolPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "tags", a.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AgentPoolPatchParameters.
func (a *AgentPoolPatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, 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 AgentPoolPatchProperties.
func (a AgentPoolPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorConfiguration", a.AdministratorConfiguration)
populate(objectMap, "count", a.Count)
populate(objectMap, "upgradeSettings", a.UpgradeSettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AgentPoolPatchProperties.
func (a *AgentPoolPatchProperties) 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 "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &a.AdministratorConfiguration)
delete(rawMsg, key)
case "count":
err = unpopulate(val, "Count", &a.Count)
delete(rawMsg, key)
case "upgradeSettings":
err = unpopulate(val, "UpgradeSettings", &a.UpgradeSettings)
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 AgentPoolProperties.
func (a AgentPoolProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorConfiguration", a.AdministratorConfiguration)
populate(objectMap, "agentOptions", a.AgentOptions)
populate(objectMap, "attachedNetworkConfiguration", a.AttachedNetworkConfiguration)
populate(objectMap, "availabilityZones", a.AvailabilityZones)
populate(objectMap, "count", a.Count)
populate(objectMap, "detailedStatus", a.DetailedStatus)
populate(objectMap, "detailedStatusMessage", a.DetailedStatusMessage)
populate(objectMap, "kubernetesVersion", a.KubernetesVersion)
populate(objectMap, "labels", a.Labels)
populate(objectMap, "mode", a.Mode)
populate(objectMap, "provisioningState", a.ProvisioningState)
populate(objectMap, "taints", a.Taints)
populate(objectMap, "upgradeSettings", a.UpgradeSettings)
populate(objectMap, "vmSkuName", a.VMSKUName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AgentPoolProperties.
func (a *AgentPoolProperties) 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 "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &a.AdministratorConfiguration)
delete(rawMsg, key)
case "agentOptions":
err = unpopulate(val, "AgentOptions", &a.AgentOptions)
delete(rawMsg, key)
case "attachedNetworkConfiguration":
err = unpopulate(val, "AttachedNetworkConfiguration", &a.AttachedNetworkConfiguration)
delete(rawMsg, key)
case "availabilityZones":
err = unpopulate(val, "AvailabilityZones", &a.AvailabilityZones)
delete(rawMsg, key)
case "count":
err = unpopulate(val, "Count", &a.Count)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &a.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &a.DetailedStatusMessage)
delete(rawMsg, key)
case "kubernetesVersion":
err = unpopulate(val, "KubernetesVersion", &a.KubernetesVersion)
delete(rawMsg, key)
case "labels":
err = unpopulate(val, "Labels", &a.Labels)
delete(rawMsg, key)
case "mode":
err = unpopulate(val, "Mode", &a.Mode)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &a.ProvisioningState)
delete(rawMsg, key)
case "taints":
err = unpopulate(val, "Taints", &a.Taints)
delete(rawMsg, key)
case "upgradeSettings":
err = unpopulate(val, "UpgradeSettings", &a.UpgradeSettings)
delete(rawMsg, key)
case "vmSkuName":
err = unpopulate(val, "VMSKUName", &a.VMSKUName)
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 AgentPoolUpgradeSettings.
func (a AgentPoolUpgradeSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "drainTimeout", a.DrainTimeout)
populate(objectMap, "maxSurge", a.MaxSurge)
populate(objectMap, "maxUnavailable", a.MaxUnavailable)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AgentPoolUpgradeSettings.
func (a *AgentPoolUpgradeSettings) 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 "drainTimeout":
err = unpopulate(val, "DrainTimeout", &a.DrainTimeout)
delete(rawMsg, key)
case "maxSurge":
err = unpopulate(val, "MaxSurge", &a.MaxSurge)
delete(rawMsg, key)
case "maxUnavailable":
err = unpopulate(val, "MaxUnavailable", &a.MaxUnavailable)
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 AnalyticsOutputSettings.
func (a AnalyticsOutputSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "analyticsWorkspaceId", a.AnalyticsWorkspaceID)
populate(objectMap, "associatedIdentity", a.AssociatedIdentity)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AnalyticsOutputSettings.
func (a *AnalyticsOutputSettings) 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 "analyticsWorkspaceId":
err = unpopulate(val, "AnalyticsWorkspaceID", &a.AnalyticsWorkspaceID)
delete(rawMsg, key)
case "associatedIdentity":
err = unpopulate(val, "AssociatedIdentity", &a.AssociatedIdentity)
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 AttachedNetworkConfiguration.
func (a AttachedNetworkConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "l2Networks", a.L2Networks)
populate(objectMap, "l3Networks", a.L3Networks)
populate(objectMap, "trunkedNetworks", a.TrunkedNetworks)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AttachedNetworkConfiguration.
func (a *AttachedNetworkConfiguration) 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 "l2Networks":
err = unpopulate(val, "L2Networks", &a.L2Networks)
delete(rawMsg, key)
case "l3Networks":
err = unpopulate(val, "L3Networks", &a.L3Networks)
delete(rawMsg, key)
case "trunkedNetworks":
err = unpopulate(val, "TrunkedNetworks", &a.TrunkedNetworks)
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 AvailableUpgrade.
func (a AvailableUpgrade) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "availabilityLifecycle", a.AvailabilityLifecycle)
populate(objectMap, "version", a.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AvailableUpgrade.
func (a *AvailableUpgrade) 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 "availabilityLifecycle":
err = unpopulate(val, "AvailabilityLifecycle", &a.AvailabilityLifecycle)
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 BareMetalMachine.
func (b BareMetalMachine) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", b.ExtendedLocation)
populate(objectMap, "id", b.ID)
populate(objectMap, "location", b.Location)
populate(objectMap, "name", b.Name)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "systemData", b.SystemData)
populate(objectMap, "tags", b.Tags)
populate(objectMap, "type", b.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachine.
func (b *BareMetalMachine) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &b.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &b.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &b.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &b.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &b.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineCommandSpecification.
func (b BareMetalMachineCommandSpecification) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "arguments", b.Arguments)
populate(objectMap, "command", b.Command)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineCommandSpecification.
func (b *BareMetalMachineCommandSpecification) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "arguments":
err = unpopulate(val, "Arguments", &b.Arguments)
delete(rawMsg, key)
case "command":
err = unpopulate(val, "Command", &b.Command)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineConfigurationData.
func (b BareMetalMachineConfigurationData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bmcConnectionString", b.BmcConnectionString)
populate(objectMap, "bmcCredentials", b.BmcCredentials)
populate(objectMap, "bmcMacAddress", b.BmcMacAddress)
populate(objectMap, "bootMacAddress", b.BootMacAddress)
populate(objectMap, "machineDetails", b.MachineDetails)
populate(objectMap, "machineName", b.MachineName)
populate(objectMap, "rackSlot", b.RackSlot)
populate(objectMap, "serialNumber", b.SerialNumber)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineConfigurationData.
func (b *BareMetalMachineConfigurationData) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "bmcConnectionString":
err = unpopulate(val, "BmcConnectionString", &b.BmcConnectionString)
delete(rawMsg, key)
case "bmcCredentials":
err = unpopulate(val, "BmcCredentials", &b.BmcCredentials)
delete(rawMsg, key)
case "bmcMacAddress":
err = unpopulate(val, "BmcMacAddress", &b.BmcMacAddress)
delete(rawMsg, key)
case "bootMacAddress":
err = unpopulate(val, "BootMacAddress", &b.BootMacAddress)
delete(rawMsg, key)
case "machineDetails":
err = unpopulate(val, "MachineDetails", &b.MachineDetails)
delete(rawMsg, key)
case "machineName":
err = unpopulate(val, "MachineName", &b.MachineName)
delete(rawMsg, key)
case "rackSlot":
err = unpopulate(val, "RackSlot", &b.RackSlot)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &b.SerialNumber)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineCordonParameters.
func (b BareMetalMachineCordonParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "evacuate", b.Evacuate)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineCordonParameters.
func (b *BareMetalMachineCordonParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "evacuate":
err = unpopulate(val, "Evacuate", &b.Evacuate)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineKeySet.
func (b BareMetalMachineKeySet) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", b.ExtendedLocation)
populate(objectMap, "id", b.ID)
populate(objectMap, "location", b.Location)
populate(objectMap, "name", b.Name)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "systemData", b.SystemData)
populate(objectMap, "tags", b.Tags)
populate(objectMap, "type", b.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineKeySet.
func (b *BareMetalMachineKeySet) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &b.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &b.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &b.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &b.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &b.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineKeySetList.
func (b BareMetalMachineKeySetList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", b.NextLink)
populate(objectMap, "value", b.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineKeySetList.
func (b *BareMetalMachineKeySetList) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &b.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &b.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineKeySetPatchParameters.
func (b BareMetalMachineKeySetPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "tags", b.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineKeySetPatchParameters.
func (b *BareMetalMachineKeySetPatchParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineKeySetPatchProperties.
func (b BareMetalMachineKeySetPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "expiration", b.Expiration)
populate(objectMap, "jumpHostsAllowed", b.JumpHostsAllowed)
populate(objectMap, "userList", b.UserList)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineKeySetPatchProperties.
func (b *BareMetalMachineKeySetPatchProperties) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "expiration":
err = unpopulateDateTimeRFC3339(val, "Expiration", &b.Expiration)
delete(rawMsg, key)
case "jumpHostsAllowed":
err = unpopulate(val, "JumpHostsAllowed", &b.JumpHostsAllowed)
delete(rawMsg, key)
case "userList":
err = unpopulate(val, "UserList", &b.UserList)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineKeySetProperties.
func (b BareMetalMachineKeySetProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "azureGroupId", b.AzureGroupID)
populate(objectMap, "detailedStatus", b.DetailedStatus)
populate(objectMap, "detailedStatusMessage", b.DetailedStatusMessage)
populateDateTimeRFC3339(objectMap, "expiration", b.Expiration)
populate(objectMap, "jumpHostsAllowed", b.JumpHostsAllowed)
populateDateTimeRFC3339(objectMap, "lastValidation", b.LastValidation)
populate(objectMap, "osGroupName", b.OSGroupName)
populate(objectMap, "privilegeLevel", b.PrivilegeLevel)
populate(objectMap, "provisioningState", b.ProvisioningState)
populate(objectMap, "userList", b.UserList)
populate(objectMap, "userListStatus", b.UserListStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineKeySetProperties.
func (b *BareMetalMachineKeySetProperties) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "azureGroupId":
err = unpopulate(val, "AzureGroupID", &b.AzureGroupID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &b.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &b.DetailedStatusMessage)
delete(rawMsg, key)
case "expiration":
err = unpopulateDateTimeRFC3339(val, "Expiration", &b.Expiration)
delete(rawMsg, key)
case "jumpHostsAllowed":
err = unpopulate(val, "JumpHostsAllowed", &b.JumpHostsAllowed)
delete(rawMsg, key)
case "lastValidation":
err = unpopulateDateTimeRFC3339(val, "LastValidation", &b.LastValidation)
delete(rawMsg, key)
case "osGroupName":
err = unpopulate(val, "OSGroupName", &b.OSGroupName)
delete(rawMsg, key)
case "privilegeLevel":
err = unpopulate(val, "PrivilegeLevel", &b.PrivilegeLevel)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &b.ProvisioningState)
delete(rawMsg, key)
case "userList":
err = unpopulate(val, "UserList", &b.UserList)
delete(rawMsg, key)
case "userListStatus":
err = unpopulate(val, "UserListStatus", &b.UserListStatus)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineList.
func (b BareMetalMachineList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", b.NextLink)
populate(objectMap, "value", b.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineList.
func (b *BareMetalMachineList) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &b.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &b.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachinePatchParameters.
func (b BareMetalMachinePatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "tags", b.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachinePatchParameters.
func (b *BareMetalMachinePatchParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachinePatchProperties.
func (b BareMetalMachinePatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "machineDetails", b.MachineDetails)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachinePatchProperties.
func (b *BareMetalMachinePatchProperties) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "machineDetails":
err = unpopulate(val, "MachineDetails", &b.MachineDetails)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachinePowerOffParameters.
func (b BareMetalMachinePowerOffParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "skipShutdown", b.SkipShutdown)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachinePowerOffParameters.
func (b *BareMetalMachinePowerOffParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "skipShutdown":
err = unpopulate(val, "SkipShutdown", &b.SkipShutdown)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineProperties.
func (b BareMetalMachineProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "associatedResourceIds", b.AssociatedResourceIDs)
populate(objectMap, "bmcConnectionString", b.BmcConnectionString)
populate(objectMap, "bmcCredentials", b.BmcCredentials)
populate(objectMap, "bmcMacAddress", b.BmcMacAddress)
populate(objectMap, "bootMacAddress", b.BootMacAddress)
populate(objectMap, "clusterId", b.ClusterID)
populate(objectMap, "cordonStatus", b.CordonStatus)
populate(objectMap, "detailedStatus", b.DetailedStatus)
populate(objectMap, "detailedStatusMessage", b.DetailedStatusMessage)
populate(objectMap, "hardwareInventory", b.HardwareInventory)
populate(objectMap, "hardwareValidationStatus", b.HardwareValidationStatus)
populate(objectMap, "hybridAksClustersAssociatedIds", b.HybridAksClustersAssociatedIDs)
populate(objectMap, "kubernetesNodeName", b.KubernetesNodeName)
populate(objectMap, "kubernetesVersion", b.KubernetesVersion)
populate(objectMap, "machineClusterVersion", b.MachineClusterVersion)
populate(objectMap, "machineDetails", b.MachineDetails)
populate(objectMap, "machineName", b.MachineName)
populate(objectMap, "machineRoles", b.MachineRoles)
populate(objectMap, "machineSkuId", b.MachineSKUID)
populate(objectMap, "osImage", b.OSImage)
populate(objectMap, "oamIpv4Address", b.OamIPv4Address)
populate(objectMap, "oamIpv6Address", b.OamIPv6Address)
populate(objectMap, "powerState", b.PowerState)
populate(objectMap, "provisioningState", b.ProvisioningState)
populate(objectMap, "rackId", b.RackID)
populate(objectMap, "rackSlot", b.RackSlot)
populate(objectMap, "readyState", b.ReadyState)
populate(objectMap, "runtimeProtectionStatus", b.RuntimeProtectionStatus)
populate(objectMap, "secretRotationStatus", b.SecretRotationStatus)
populate(objectMap, "serialNumber", b.SerialNumber)
populate(objectMap, "serviceTag", b.ServiceTag)
populate(objectMap, "virtualMachinesAssociatedIds", b.VirtualMachinesAssociatedIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineProperties.
func (b *BareMetalMachineProperties) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "associatedResourceIds":
err = unpopulate(val, "AssociatedResourceIDs", &b.AssociatedResourceIDs)
delete(rawMsg, key)
case "bmcConnectionString":
err = unpopulate(val, "BmcConnectionString", &b.BmcConnectionString)
delete(rawMsg, key)
case "bmcCredentials":
err = unpopulate(val, "BmcCredentials", &b.BmcCredentials)
delete(rawMsg, key)
case "bmcMacAddress":
err = unpopulate(val, "BmcMacAddress", &b.BmcMacAddress)
delete(rawMsg, key)
case "bootMacAddress":
err = unpopulate(val, "BootMacAddress", &b.BootMacAddress)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &b.ClusterID)
delete(rawMsg, key)
case "cordonStatus":
err = unpopulate(val, "CordonStatus", &b.CordonStatus)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &b.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &b.DetailedStatusMessage)
delete(rawMsg, key)
case "hardwareInventory":
err = unpopulate(val, "HardwareInventory", &b.HardwareInventory)
delete(rawMsg, key)
case "hardwareValidationStatus":
err = unpopulate(val, "HardwareValidationStatus", &b.HardwareValidationStatus)
delete(rawMsg, key)
case "hybridAksClustersAssociatedIds":
err = unpopulate(val, "HybridAksClustersAssociatedIDs", &b.HybridAksClustersAssociatedIDs)
delete(rawMsg, key)
case "kubernetesNodeName":
err = unpopulate(val, "KubernetesNodeName", &b.KubernetesNodeName)
delete(rawMsg, key)
case "kubernetesVersion":
err = unpopulate(val, "KubernetesVersion", &b.KubernetesVersion)
delete(rawMsg, key)
case "machineClusterVersion":
err = unpopulate(val, "MachineClusterVersion", &b.MachineClusterVersion)
delete(rawMsg, key)
case "machineDetails":
err = unpopulate(val, "MachineDetails", &b.MachineDetails)
delete(rawMsg, key)
case "machineName":
err = unpopulate(val, "MachineName", &b.MachineName)
delete(rawMsg, key)
case "machineRoles":
err = unpopulate(val, "MachineRoles", &b.MachineRoles)
delete(rawMsg, key)
case "machineSkuId":
err = unpopulate(val, "MachineSKUID", &b.MachineSKUID)
delete(rawMsg, key)
case "osImage":
err = unpopulate(val, "OSImage", &b.OSImage)
delete(rawMsg, key)
case "oamIpv4Address":
err = unpopulate(val, "OamIPv4Address", &b.OamIPv4Address)
delete(rawMsg, key)
case "oamIpv6Address":
err = unpopulate(val, "OamIPv6Address", &b.OamIPv6Address)
delete(rawMsg, key)
case "powerState":
err = unpopulate(val, "PowerState", &b.PowerState)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &b.ProvisioningState)
delete(rawMsg, key)
case "rackId":
err = unpopulate(val, "RackID", &b.RackID)
delete(rawMsg, key)
case "rackSlot":
err = unpopulate(val, "RackSlot", &b.RackSlot)
delete(rawMsg, key)
case "readyState":
err = unpopulate(val, "ReadyState", &b.ReadyState)
delete(rawMsg, key)
case "runtimeProtectionStatus":
err = unpopulate(val, "RuntimeProtectionStatus", &b.RuntimeProtectionStatus)
delete(rawMsg, key)
case "secretRotationStatus":
err = unpopulate(val, "SecretRotationStatus", &b.SecretRotationStatus)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &b.SerialNumber)
delete(rawMsg, key)
case "serviceTag":
err = unpopulate(val, "ServiceTag", &b.ServiceTag)
delete(rawMsg, key)
case "virtualMachinesAssociatedIds":
err = unpopulate(val, "VirtualMachinesAssociatedIDs", &b.VirtualMachinesAssociatedIDs)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineReplaceParameters.
func (b BareMetalMachineReplaceParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bmcCredentials", b.BmcCredentials)
populate(objectMap, "bmcMacAddress", b.BmcMacAddress)
populate(objectMap, "bootMacAddress", b.BootMacAddress)
populate(objectMap, "machineName", b.MachineName)
populate(objectMap, "serialNumber", b.SerialNumber)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineReplaceParameters.
func (b *BareMetalMachineReplaceParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "bmcCredentials":
err = unpopulate(val, "BmcCredentials", &b.BmcCredentials)
delete(rawMsg, key)
case "bmcMacAddress":
err = unpopulate(val, "BmcMacAddress", &b.BmcMacAddress)
delete(rawMsg, key)
case "bootMacAddress":
err = unpopulate(val, "BootMacAddress", &b.BootMacAddress)
delete(rawMsg, key)
case "machineName":
err = unpopulate(val, "MachineName", &b.MachineName)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &b.SerialNumber)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineRunCommandParameters.
func (b BareMetalMachineRunCommandParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "arguments", b.Arguments)
populate(objectMap, "limitTimeSeconds", b.LimitTimeSeconds)
populate(objectMap, "script", b.Script)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineRunCommandParameters.
func (b *BareMetalMachineRunCommandParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "arguments":
err = unpopulate(val, "Arguments", &b.Arguments)
delete(rawMsg, key)
case "limitTimeSeconds":
err = unpopulate(val, "LimitTimeSeconds", &b.LimitTimeSeconds)
delete(rawMsg, key)
case "script":
err = unpopulate(val, "Script", &b.Script)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineRunDataExtractsParameters.
func (b BareMetalMachineRunDataExtractsParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "commands", b.Commands)
populate(objectMap, "limitTimeSeconds", b.LimitTimeSeconds)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineRunDataExtractsParameters.
func (b *BareMetalMachineRunDataExtractsParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "commands":
err = unpopulate(val, "Commands", &b.Commands)
delete(rawMsg, key)
case "limitTimeSeconds":
err = unpopulate(val, "LimitTimeSeconds", &b.LimitTimeSeconds)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BareMetalMachineRunReadCommandsParameters.
func (b BareMetalMachineRunReadCommandsParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "commands", b.Commands)
populate(objectMap, "limitTimeSeconds", b.LimitTimeSeconds)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BareMetalMachineRunReadCommandsParameters.
func (b *BareMetalMachineRunReadCommandsParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "commands":
err = unpopulate(val, "Commands", &b.Commands)
delete(rawMsg, key)
case "limitTimeSeconds":
err = unpopulate(val, "LimitTimeSeconds", &b.LimitTimeSeconds)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BgpAdvertisement.
func (b BgpAdvertisement) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "advertiseToFabric", b.AdvertiseToFabric)
populate(objectMap, "communities", b.Communities)
populate(objectMap, "ipAddressPools", b.IPAddressPools)
populate(objectMap, "peers", b.Peers)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BgpAdvertisement.
func (b *BgpAdvertisement) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "advertiseToFabric":
err = unpopulate(val, "AdvertiseToFabric", &b.AdvertiseToFabric)
delete(rawMsg, key)
case "communities":
err = unpopulate(val, "Communities", &b.Communities)
delete(rawMsg, key)
case "ipAddressPools":
err = unpopulate(val, "IPAddressPools", &b.IPAddressPools)
delete(rawMsg, key)
case "peers":
err = unpopulate(val, "Peers", &b.Peers)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BgpServiceLoadBalancerConfiguration.
func (b BgpServiceLoadBalancerConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bgpAdvertisements", b.BgpAdvertisements)
populate(objectMap, "bgpPeers", b.BgpPeers)
populate(objectMap, "fabricPeeringEnabled", b.FabricPeeringEnabled)
populate(objectMap, "ipAddressPools", b.IPAddressPools)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BgpServiceLoadBalancerConfiguration.
func (b *BgpServiceLoadBalancerConfiguration) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "bgpAdvertisements":
err = unpopulate(val, "BgpAdvertisements", &b.BgpAdvertisements)
delete(rawMsg, key)
case "bgpPeers":
err = unpopulate(val, "BgpPeers", &b.BgpPeers)
delete(rawMsg, key)
case "fabricPeeringEnabled":
err = unpopulate(val, "FabricPeeringEnabled", &b.FabricPeeringEnabled)
delete(rawMsg, key)
case "ipAddressPools":
err = unpopulate(val, "IPAddressPools", &b.IPAddressPools)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BmcKeySet.
func (b BmcKeySet) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", b.ExtendedLocation)
populate(objectMap, "id", b.ID)
populate(objectMap, "location", b.Location)
populate(objectMap, "name", b.Name)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "systemData", b.SystemData)
populate(objectMap, "tags", b.Tags)
populate(objectMap, "type", b.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BmcKeySet.
func (b *BmcKeySet) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &b.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &b.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &b.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &b.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &b.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BmcKeySetList.
func (b BmcKeySetList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", b.NextLink)
populate(objectMap, "value", b.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BmcKeySetList.
func (b *BmcKeySetList) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &b.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &b.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BmcKeySetPatchParameters.
func (b BmcKeySetPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "tags", b.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BmcKeySetPatchParameters.
func (b *BmcKeySetPatchParameters) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BmcKeySetPatchProperties.
func (b BmcKeySetPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "expiration", b.Expiration)
populate(objectMap, "userList", b.UserList)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BmcKeySetPatchProperties.
func (b *BmcKeySetPatchProperties) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "expiration":
err = unpopulateDateTimeRFC3339(val, "Expiration", &b.Expiration)
delete(rawMsg, key)
case "userList":
err = unpopulate(val, "UserList", &b.UserList)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BmcKeySetProperties.
func (b BmcKeySetProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "azureGroupId", b.AzureGroupID)
populate(objectMap, "detailedStatus", b.DetailedStatus)
populate(objectMap, "detailedStatusMessage", b.DetailedStatusMessage)
populateDateTimeRFC3339(objectMap, "expiration", b.Expiration)
populateDateTimeRFC3339(objectMap, "lastValidation", b.LastValidation)
populate(objectMap, "privilegeLevel", b.PrivilegeLevel)
populate(objectMap, "provisioningState", b.ProvisioningState)
populate(objectMap, "userList", b.UserList)
populate(objectMap, "userListStatus", b.UserListStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BmcKeySetProperties.
func (b *BmcKeySetProperties) 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", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "azureGroupId":
err = unpopulate(val, "AzureGroupID", &b.AzureGroupID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &b.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &b.DetailedStatusMessage)
delete(rawMsg, key)
case "expiration":
err = unpopulateDateTimeRFC3339(val, "Expiration", &b.Expiration)
delete(rawMsg, key)
case "lastValidation":
err = unpopulateDateTimeRFC3339(val, "LastValidation", &b.LastValidation)
delete(rawMsg, key)
case "privilegeLevel":
err = unpopulate(val, "PrivilegeLevel", &b.PrivilegeLevel)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &b.ProvisioningState)
delete(rawMsg, key)
case "userList":
err = unpopulate(val, "UserList", &b.UserList)
delete(rawMsg, key)
case "userListStatus":
err = unpopulate(val, "UserListStatus", &b.UserListStatus)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type CloudServicesNetwork.
func (c CloudServicesNetwork) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", c.ExtendedLocation)
populate(objectMap, "id", c.ID)
populate(objectMap, "location", c.Location)
populate(objectMap, "name", c.Name)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "tags", c.Tags)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CloudServicesNetwork.
func (c *CloudServicesNetwork) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &c.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &c.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &c.Type)
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 CloudServicesNetworkList.
func (c CloudServicesNetworkList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CloudServicesNetworkList.
func (c *CloudServicesNetworkList) 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 "nextLink":
err = unpopulate(val, "NextLink", &c.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &c.Value)
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 CloudServicesNetworkPatchParameters.
func (c CloudServicesNetworkPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "tags", c.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CloudServicesNetworkPatchParameters.
func (c *CloudServicesNetworkPatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
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 CloudServicesNetworkPatchProperties.
func (c CloudServicesNetworkPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalEgressEndpoints", c.AdditionalEgressEndpoints)
populate(objectMap, "enableDefaultEgressEndpoints", c.EnableDefaultEgressEndpoints)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CloudServicesNetworkPatchProperties.
func (c *CloudServicesNetworkPatchProperties) 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 "additionalEgressEndpoints":
err = unpopulate(val, "AdditionalEgressEndpoints", &c.AdditionalEgressEndpoints)
delete(rawMsg, key)
case "enableDefaultEgressEndpoints":
err = unpopulate(val, "EnableDefaultEgressEndpoints", &c.EnableDefaultEgressEndpoints)
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 CloudServicesNetworkProperties.
func (c CloudServicesNetworkProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalEgressEndpoints", c.AdditionalEgressEndpoints)
populate(objectMap, "associatedResourceIds", c.AssociatedResourceIDs)
populate(objectMap, "clusterId", c.ClusterID)
populate(objectMap, "detailedStatus", c.DetailedStatus)
populate(objectMap, "detailedStatusMessage", c.DetailedStatusMessage)
populate(objectMap, "enableDefaultEgressEndpoints", c.EnableDefaultEgressEndpoints)
populate(objectMap, "enabledEgressEndpoints", c.EnabledEgressEndpoints)
populate(objectMap, "hybridAksClustersAssociatedIds", c.HybridAksClustersAssociatedIDs)
populate(objectMap, "interfaceName", c.InterfaceName)
populate(objectMap, "provisioningState", c.ProvisioningState)
populate(objectMap, "virtualMachinesAssociatedIds", c.VirtualMachinesAssociatedIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CloudServicesNetworkProperties.
func (c *CloudServicesNetworkProperties) 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 "additionalEgressEndpoints":
err = unpopulate(val, "AdditionalEgressEndpoints", &c.AdditionalEgressEndpoints)
delete(rawMsg, key)
case "associatedResourceIds":
err = unpopulate(val, "AssociatedResourceIDs", &c.AssociatedResourceIDs)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &c.ClusterID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &c.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &c.DetailedStatusMessage)
delete(rawMsg, key)
case "enableDefaultEgressEndpoints":
err = unpopulate(val, "EnableDefaultEgressEndpoints", &c.EnableDefaultEgressEndpoints)
delete(rawMsg, key)
case "enabledEgressEndpoints":
err = unpopulate(val, "EnabledEgressEndpoints", &c.EnabledEgressEndpoints)
delete(rawMsg, key)
case "hybridAksClustersAssociatedIds":
err = unpopulate(val, "HybridAksClustersAssociatedIDs", &c.HybridAksClustersAssociatedIDs)
delete(rawMsg, key)
case "interfaceName":
err = unpopulate(val, "InterfaceName", &c.InterfaceName)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &c.ProvisioningState)
delete(rawMsg, key)
case "virtualMachinesAssociatedIds":
err = unpopulate(val, "VirtualMachinesAssociatedIDs", &c.VirtualMachinesAssociatedIDs)
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 Cluster.
func (c Cluster) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", c.ExtendedLocation)
populate(objectMap, "id", c.ID)
populate(objectMap, "identity", c.Identity)
populate(objectMap, "location", c.Location)
populate(objectMap, "name", c.Name)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "tags", c.Tags)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Cluster.
func (c *Cluster) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &c.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "identity":
err = unpopulate(val, "Identity", &c.Identity)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &c.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &c.Type)
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 ClusterAvailableUpgradeVersion.
func (c ClusterAvailableUpgradeVersion) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "controlImpact", c.ControlImpact)
populate(objectMap, "expectedDuration", c.ExpectedDuration)
populate(objectMap, "impactDescription", c.ImpactDescription)
populate(objectMap, "supportExpiryDate", c.SupportExpiryDate)
populate(objectMap, "targetClusterVersion", c.TargetClusterVersion)
populate(objectMap, "workloadImpact", c.WorkloadImpact)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableUpgradeVersion.
func (c *ClusterAvailableUpgradeVersion) 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 "controlImpact":
err = unpopulate(val, "ControlImpact", &c.ControlImpact)
delete(rawMsg, key)
case "expectedDuration":
err = unpopulate(val, "ExpectedDuration", &c.ExpectedDuration)
delete(rawMsg, key)
case "impactDescription":
err = unpopulate(val, "ImpactDescription", &c.ImpactDescription)
delete(rawMsg, key)
case "supportExpiryDate":
err = unpopulate(val, "SupportExpiryDate", &c.SupportExpiryDate)
delete(rawMsg, key)
case "targetClusterVersion":
err = unpopulate(val, "TargetClusterVersion", &c.TargetClusterVersion)
delete(rawMsg, key)
case "workloadImpact":
err = unpopulate(val, "WorkloadImpact", &c.WorkloadImpact)
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 ClusterAvailableVersion.
func (c ClusterAvailableVersion) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "supportExpiryDate", c.SupportExpiryDate)
populate(objectMap, "targetClusterVersion", c.TargetClusterVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableVersion.
func (c *ClusterAvailableVersion) 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 "supportExpiryDate":
err = unpopulate(val, "SupportExpiryDate", &c.SupportExpiryDate)
delete(rawMsg, key)
case "targetClusterVersion":
err = unpopulate(val, "TargetClusterVersion", &c.TargetClusterVersion)
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 ClusterCapacity.
func (c ClusterCapacity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "availableApplianceStorageGB", c.AvailableApplianceStorageGB)
populate(objectMap, "availableCoreCount", c.AvailableCoreCount)
populate(objectMap, "availableHostStorageGB", c.AvailableHostStorageGB)
populate(objectMap, "availableMemoryGB", c.AvailableMemoryGB)
populate(objectMap, "totalApplianceStorageGB", c.TotalApplianceStorageGB)
populate(objectMap, "totalCoreCount", c.TotalCoreCount)
populate(objectMap, "totalHostStorageGB", c.TotalHostStorageGB)
populate(objectMap, "totalMemoryGB", c.TotalMemoryGB)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterCapacity.
func (c *ClusterCapacity) 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 "availableApplianceStorageGB":
err = unpopulate(val, "AvailableApplianceStorageGB", &c.AvailableApplianceStorageGB)
delete(rawMsg, key)
case "availableCoreCount":
err = unpopulate(val, "AvailableCoreCount", &c.AvailableCoreCount)
delete(rawMsg, key)
case "availableHostStorageGB":
err = unpopulate(val, "AvailableHostStorageGB", &c.AvailableHostStorageGB)
delete(rawMsg, key)
case "availableMemoryGB":
err = unpopulate(val, "AvailableMemoryGB", &c.AvailableMemoryGB)
delete(rawMsg, key)
case "totalApplianceStorageGB":
err = unpopulate(val, "TotalApplianceStorageGB", &c.TotalApplianceStorageGB)
delete(rawMsg, key)
case "totalCoreCount":
err = unpopulate(val, "TotalCoreCount", &c.TotalCoreCount)
delete(rawMsg, key)
case "totalHostStorageGB":
err = unpopulate(val, "TotalHostStorageGB", &c.TotalHostStorageGB)
delete(rawMsg, key)
case "totalMemoryGB":
err = unpopulate(val, "TotalMemoryGB", &c.TotalMemoryGB)
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 ClusterContinueUpdateVersionParameters.
func (c ClusterContinueUpdateVersionParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "machineGroupTargetingMode", c.MachineGroupTargetingMode)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterContinueUpdateVersionParameters.
func (c *ClusterContinueUpdateVersionParameters) 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 "machineGroupTargetingMode":
err = unpopulate(val, "MachineGroupTargetingMode", &c.MachineGroupTargetingMode)
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 ClusterDeployParameters.
func (c ClusterDeployParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "skipValidationsForMachines", c.SkipValidationsForMachines)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterDeployParameters.
func (c *ClusterDeployParameters) 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 "skipValidationsForMachines":
err = unpopulate(val, "SkipValidationsForMachines", &c.SkipValidationsForMachines)
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 ClusterList.
func (c ClusterList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterList.
func (c *ClusterList) 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 "nextLink":
err = unpopulate(val, "NextLink", &c.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &c.Value)
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 ClusterManager.
func (c ClusterManager) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", c.ID)
populate(objectMap, "identity", c.Identity)
populate(objectMap, "location", c.Location)
populate(objectMap, "name", c.Name)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "tags", c.Tags)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterManager.
func (c *ClusterManager) 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 "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "identity":
err = unpopulate(val, "Identity", &c.Identity)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &c.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &c.Type)
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 ClusterManagerList.
func (c ClusterManagerList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterManagerList.
func (c *ClusterManagerList) 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 "nextLink":
err = unpopulate(val, "NextLink", &c.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &c.Value)
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 ClusterManagerPatchParameters.
func (c ClusterManagerPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identity", c.Identity)
populate(objectMap, "tags", c.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterManagerPatchParameters.
func (c *ClusterManagerPatchParameters) 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 "identity":
err = unpopulate(val, "Identity", &c.Identity)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
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 ClusterManagerProperties.
func (c ClusterManagerProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "analyticsWorkspaceId", c.AnalyticsWorkspaceID)
populate(objectMap, "availabilityZones", c.AvailabilityZones)
populate(objectMap, "clusterVersions", c.ClusterVersions)
populate(objectMap, "detailedStatus", c.DetailedStatus)
populate(objectMap, "detailedStatusMessage", c.DetailedStatusMessage)
populate(objectMap, "fabricControllerId", c.FabricControllerID)
populate(objectMap, "managedResourceGroupConfiguration", c.ManagedResourceGroupConfiguration)
populate(objectMap, "managerExtendedLocation", c.ManagerExtendedLocation)
populate(objectMap, "provisioningState", c.ProvisioningState)
populate(objectMap, "vmSize", c.VMSize)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterManagerProperties.
func (c *ClusterManagerProperties) 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 "analyticsWorkspaceId":
err = unpopulate(val, "AnalyticsWorkspaceID", &c.AnalyticsWorkspaceID)
delete(rawMsg, key)
case "availabilityZones":
err = unpopulate(val, "AvailabilityZones", &c.AvailabilityZones)
delete(rawMsg, key)
case "clusterVersions":
err = unpopulate(val, "ClusterVersions", &c.ClusterVersions)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &c.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &c.DetailedStatusMessage)
delete(rawMsg, key)
case "fabricControllerId":
err = unpopulate(val, "FabricControllerID", &c.FabricControllerID)
delete(rawMsg, key)
case "managedResourceGroupConfiguration":
err = unpopulate(val, "ManagedResourceGroupConfiguration", &c.ManagedResourceGroupConfiguration)
delete(rawMsg, key)
case "managerExtendedLocation":
err = unpopulate(val, "ManagerExtendedLocation", &c.ManagerExtendedLocation)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &c.ProvisioningState)
delete(rawMsg, key)
case "vmSize":
err = unpopulate(val, "VMSize", &c.VMSize)
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 ClusterMetricsConfiguration.
func (c ClusterMetricsConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", c.ExtendedLocation)
populate(objectMap, "id", c.ID)
populate(objectMap, "location", c.Location)
populate(objectMap, "name", c.Name)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "tags", c.Tags)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMetricsConfiguration.
func (c *ClusterMetricsConfiguration) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &c.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &c.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &c.Type)
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 ClusterMetricsConfigurationList.
func (c ClusterMetricsConfigurationList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMetricsConfigurationList.
func (c *ClusterMetricsConfigurationList) 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 "nextLink":
err = unpopulate(val, "NextLink", &c.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &c.Value)
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 ClusterMetricsConfigurationPatchParameters.
func (c ClusterMetricsConfigurationPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "tags", c.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMetricsConfigurationPatchParameters.
func (c *ClusterMetricsConfigurationPatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
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 ClusterMetricsConfigurationPatchProperties.
func (c ClusterMetricsConfigurationPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "collectionInterval", c.CollectionInterval)
populate(objectMap, "enabledMetrics", c.EnabledMetrics)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMetricsConfigurationPatchProperties.
func (c *ClusterMetricsConfigurationPatchProperties) 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 "collectionInterval":
err = unpopulate(val, "CollectionInterval", &c.CollectionInterval)
delete(rawMsg, key)
case "enabledMetrics":
err = unpopulate(val, "EnabledMetrics", &c.EnabledMetrics)
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 ClusterMetricsConfigurationProperties.
func (c ClusterMetricsConfigurationProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "collectionInterval", c.CollectionInterval)
populate(objectMap, "detailedStatus", c.DetailedStatus)
populate(objectMap, "detailedStatusMessage", c.DetailedStatusMessage)
populate(objectMap, "disabledMetrics", c.DisabledMetrics)
populate(objectMap, "enabledMetrics", c.EnabledMetrics)
populate(objectMap, "provisioningState", c.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMetricsConfigurationProperties.
func (c *ClusterMetricsConfigurationProperties) 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 "collectionInterval":
err = unpopulate(val, "CollectionInterval", &c.CollectionInterval)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &c.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &c.DetailedStatusMessage)
delete(rawMsg, key)
case "disabledMetrics":
err = unpopulate(val, "DisabledMetrics", &c.DisabledMetrics)
delete(rawMsg, key)
case "enabledMetrics":
err = unpopulate(val, "EnabledMetrics", &c.EnabledMetrics)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &c.ProvisioningState)
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 ClusterPatchParameters.
func (c ClusterPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identity", c.Identity)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "tags", c.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPatchParameters.
func (c *ClusterPatchParameters) 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 "identity":
err = unpopulate(val, "Identity", &c.Identity)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
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 ClusterPatchProperties.
func (c ClusterPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "aggregatorOrSingleRackDefinition", c.AggregatorOrSingleRackDefinition)
populate(objectMap, "analyticsOutputSettings", c.AnalyticsOutputSettings)
populate(objectMap, "clusterLocation", c.ClusterLocation)
populate(objectMap, "clusterServicePrincipal", c.ClusterServicePrincipal)
populate(objectMap, "commandOutputSettings", c.CommandOutputSettings)
populate(objectMap, "computeDeploymentThreshold", c.ComputeDeploymentThreshold)
populate(objectMap, "computeRackDefinitions", c.ComputeRackDefinitions)
populate(objectMap, "runtimeProtectionConfiguration", c.RuntimeProtectionConfiguration)
populate(objectMap, "secretArchive", c.SecretArchive)
populate(objectMap, "secretArchiveSettings", c.SecretArchiveSettings)
populate(objectMap, "updateStrategy", c.UpdateStrategy)
populate(objectMap, "vulnerabilityScanningSettings", c.VulnerabilityScanningSettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPatchProperties.
func (c *ClusterPatchProperties) 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 "aggregatorOrSingleRackDefinition":
err = unpopulate(val, "AggregatorOrSingleRackDefinition", &c.AggregatorOrSingleRackDefinition)
delete(rawMsg, key)
case "analyticsOutputSettings":
err = unpopulate(val, "AnalyticsOutputSettings", &c.AnalyticsOutputSettings)
delete(rawMsg, key)
case "clusterLocation":
err = unpopulate(val, "ClusterLocation", &c.ClusterLocation)
delete(rawMsg, key)
case "clusterServicePrincipal":
err = unpopulate(val, "ClusterServicePrincipal", &c.ClusterServicePrincipal)
delete(rawMsg, key)
case "commandOutputSettings":
err = unpopulate(val, "CommandOutputSettings", &c.CommandOutputSettings)
delete(rawMsg, key)
case "computeDeploymentThreshold":
err = unpopulate(val, "ComputeDeploymentThreshold", &c.ComputeDeploymentThreshold)
delete(rawMsg, key)
case "computeRackDefinitions":
err = unpopulate(val, "ComputeRackDefinitions", &c.ComputeRackDefinitions)
delete(rawMsg, key)
case "runtimeProtectionConfiguration":
err = unpopulate(val, "RuntimeProtectionConfiguration", &c.RuntimeProtectionConfiguration)
delete(rawMsg, key)
case "secretArchive":
err = unpopulate(val, "SecretArchive", &c.SecretArchive)
delete(rawMsg, key)
case "secretArchiveSettings":
err = unpopulate(val, "SecretArchiveSettings", &c.SecretArchiveSettings)
delete(rawMsg, key)
case "updateStrategy":
err = unpopulate(val, "UpdateStrategy", &c.UpdateStrategy)
delete(rawMsg, key)
case "vulnerabilityScanningSettings":
err = unpopulate(val, "VulnerabilityScanningSettings", &c.VulnerabilityScanningSettings)
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 ClusterProperties.
func (c ClusterProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "aggregatorOrSingleRackDefinition", c.AggregatorOrSingleRackDefinition)
populate(objectMap, "analyticsOutputSettings", c.AnalyticsOutputSettings)
populate(objectMap, "analyticsWorkspaceId", c.AnalyticsWorkspaceID)
populate(objectMap, "availableUpgradeVersions", c.AvailableUpgradeVersions)
populate(objectMap, "clusterCapacity", c.ClusterCapacity)
populate(objectMap, "clusterConnectionStatus", c.ClusterConnectionStatus)
populate(objectMap, "clusterExtendedLocation", c.ClusterExtendedLocation)
populate(objectMap, "clusterLocation", c.ClusterLocation)
populate(objectMap, "clusterManagerConnectionStatus", c.ClusterManagerConnectionStatus)
populate(objectMap, "clusterManagerId", c.ClusterManagerID)
populate(objectMap, "clusterServicePrincipal", c.ClusterServicePrincipal)
populate(objectMap, "clusterType", c.ClusterType)
populate(objectMap, "clusterVersion", c.ClusterVersion)
populate(objectMap, "commandOutputSettings", c.CommandOutputSettings)
populate(objectMap, "computeDeploymentThreshold", c.ComputeDeploymentThreshold)
populate(objectMap, "computeRackDefinitions", c.ComputeRackDefinitions)
populate(objectMap, "detailedStatus", c.DetailedStatus)
populate(objectMap, "detailedStatusMessage", c.DetailedStatusMessage)
populate(objectMap, "hybridAksExtendedLocation", c.HybridAksExtendedLocation)
populate(objectMap, "managedResourceGroupConfiguration", c.ManagedResourceGroupConfiguration)
populate(objectMap, "manualActionCount", c.ManualActionCount)
populate(objectMap, "networkFabricId", c.NetworkFabricID)
populate(objectMap, "provisioningState", c.ProvisioningState)
populate(objectMap, "runtimeProtectionConfiguration", c.RuntimeProtectionConfiguration)
populate(objectMap, "secretArchive", c.SecretArchive)
populate(objectMap, "secretArchiveSettings", c.SecretArchiveSettings)
populate(objectMap, "supportExpiryDate", c.SupportExpiryDate)
populate(objectMap, "updateStrategy", c.UpdateStrategy)
populate(objectMap, "vulnerabilityScanningSettings", c.VulnerabilityScanningSettings)
populate(objectMap, "workloadResourceIds", c.WorkloadResourceIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterProperties.
func (c *ClusterProperties) 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 "aggregatorOrSingleRackDefinition":
err = unpopulate(val, "AggregatorOrSingleRackDefinition", &c.AggregatorOrSingleRackDefinition)
delete(rawMsg, key)
case "analyticsOutputSettings":
err = unpopulate(val, "AnalyticsOutputSettings", &c.AnalyticsOutputSettings)
delete(rawMsg, key)
case "analyticsWorkspaceId":
err = unpopulate(val, "AnalyticsWorkspaceID", &c.AnalyticsWorkspaceID)
delete(rawMsg, key)
case "availableUpgradeVersions":
err = unpopulate(val, "AvailableUpgradeVersions", &c.AvailableUpgradeVersions)
delete(rawMsg, key)
case "clusterCapacity":
err = unpopulate(val, "ClusterCapacity", &c.ClusterCapacity)
delete(rawMsg, key)
case "clusterConnectionStatus":
err = unpopulate(val, "ClusterConnectionStatus", &c.ClusterConnectionStatus)
delete(rawMsg, key)
case "clusterExtendedLocation":
err = unpopulate(val, "ClusterExtendedLocation", &c.ClusterExtendedLocation)
delete(rawMsg, key)
case "clusterLocation":
err = unpopulate(val, "ClusterLocation", &c.ClusterLocation)
delete(rawMsg, key)
case "clusterManagerConnectionStatus":
err = unpopulate(val, "ClusterManagerConnectionStatus", &c.ClusterManagerConnectionStatus)
delete(rawMsg, key)
case "clusterManagerId":
err = unpopulate(val, "ClusterManagerID", &c.ClusterManagerID)
delete(rawMsg, key)
case "clusterServicePrincipal":
err = unpopulate(val, "ClusterServicePrincipal", &c.ClusterServicePrincipal)
delete(rawMsg, key)
case "clusterType":
err = unpopulate(val, "ClusterType", &c.ClusterType)
delete(rawMsg, key)
case "clusterVersion":
err = unpopulate(val, "ClusterVersion", &c.ClusterVersion)
delete(rawMsg, key)
case "commandOutputSettings":
err = unpopulate(val, "CommandOutputSettings", &c.CommandOutputSettings)
delete(rawMsg, key)
case "computeDeploymentThreshold":
err = unpopulate(val, "ComputeDeploymentThreshold", &c.ComputeDeploymentThreshold)
delete(rawMsg, key)
case "computeRackDefinitions":
err = unpopulate(val, "ComputeRackDefinitions", &c.ComputeRackDefinitions)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &c.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &c.DetailedStatusMessage)
delete(rawMsg, key)
case "hybridAksExtendedLocation":
err = unpopulate(val, "HybridAksExtendedLocation", &c.HybridAksExtendedLocation)
delete(rawMsg, key)
case "managedResourceGroupConfiguration":
err = unpopulate(val, "ManagedResourceGroupConfiguration", &c.ManagedResourceGroupConfiguration)
delete(rawMsg, key)
case "manualActionCount":
err = unpopulate(val, "ManualActionCount", &c.ManualActionCount)
delete(rawMsg, key)
case "networkFabricId":
err = unpopulate(val, "NetworkFabricID", &c.NetworkFabricID)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &c.ProvisioningState)
delete(rawMsg, key)
case "runtimeProtectionConfiguration":
err = unpopulate(val, "RuntimeProtectionConfiguration", &c.RuntimeProtectionConfiguration)
delete(rawMsg, key)
case "secretArchive":
err = unpopulate(val, "SecretArchive", &c.SecretArchive)
delete(rawMsg, key)
case "secretArchiveSettings":
err = unpopulate(val, "SecretArchiveSettings", &c.SecretArchiveSettings)
delete(rawMsg, key)
case "supportExpiryDate":
err = unpopulate(val, "SupportExpiryDate", &c.SupportExpiryDate)
delete(rawMsg, key)
case "updateStrategy":
err = unpopulate(val, "UpdateStrategy", &c.UpdateStrategy)
delete(rawMsg, key)
case "vulnerabilityScanningSettings":
err = unpopulate(val, "VulnerabilityScanningSettings", &c.VulnerabilityScanningSettings)
delete(rawMsg, key)
case "workloadResourceIds":
err = unpopulate(val, "WorkloadResourceIDs", &c.WorkloadResourceIDs)
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 ClusterScanRuntimeParameters.
func (c ClusterScanRuntimeParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "scanActivity", c.ScanActivity)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterScanRuntimeParameters.
func (c *ClusterScanRuntimeParameters) 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 "scanActivity":
err = unpopulate(val, "ScanActivity", &c.ScanActivity)
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 ClusterSecretArchive.
func (c ClusterSecretArchive) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "keyVaultId", c.KeyVaultID)
populate(objectMap, "useKeyVault", c.UseKeyVault)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterSecretArchive.
func (c *ClusterSecretArchive) 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 "keyVaultId":
err = unpopulate(val, "KeyVaultID", &c.KeyVaultID)
delete(rawMsg, key)
case "useKeyVault":
err = unpopulate(val, "UseKeyVault", &c.UseKeyVault)
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 ClusterUpdateStrategy.
func (c ClusterUpdateStrategy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "maxUnavailable", c.MaxUnavailable)
populate(objectMap, "strategyType", c.StrategyType)
populate(objectMap, "thresholdType", c.ThresholdType)
populate(objectMap, "thresholdValue", c.ThresholdValue)
populate(objectMap, "waitTimeMinutes", c.WaitTimeMinutes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpdateStrategy.
func (c *ClusterUpdateStrategy) 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 "maxUnavailable":
err = unpopulate(val, "MaxUnavailable", &c.MaxUnavailable)
delete(rawMsg, key)
case "strategyType":
err = unpopulate(val, "StrategyType", &c.StrategyType)
delete(rawMsg, key)
case "thresholdType":
err = unpopulate(val, "ThresholdType", &c.ThresholdType)
delete(rawMsg, key)
case "thresholdValue":
err = unpopulate(val, "ThresholdValue", &c.ThresholdValue)
delete(rawMsg, key)
case "waitTimeMinutes":
err = unpopulate(val, "WaitTimeMinutes", &c.WaitTimeMinutes)
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 ClusterUpdateVersionParameters.
func (c ClusterUpdateVersionParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "targetClusterVersion", c.TargetClusterVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpdateVersionParameters.
func (c *ClusterUpdateVersionParameters) 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 "targetClusterVersion":
err = unpopulate(val, "TargetClusterVersion", &c.TargetClusterVersion)
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 CommandOutputSettings.
func (c CommandOutputSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "associatedIdentity", c.AssociatedIdentity)
populate(objectMap, "containerUrl", c.ContainerURL)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CommandOutputSettings.
func (c *CommandOutputSettings) 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 "associatedIdentity":
err = unpopulate(val, "AssociatedIdentity", &c.AssociatedIdentity)
delete(rawMsg, key)
case "containerUrl":
err = unpopulate(val, "ContainerURL", &c.ContainerURL)
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 Console.
func (c Console) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", c.ExtendedLocation)
populate(objectMap, "id", c.ID)
populate(objectMap, "location", c.Location)
populate(objectMap, "name", c.Name)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "tags", c.Tags)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Console.
func (c *Console) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &c.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &c.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &c.Type)
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 ConsoleList.
func (c ConsoleList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ConsoleList.
func (c *ConsoleList) 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 "nextLink":
err = unpopulate(val, "NextLink", &c.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &c.Value)
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 ConsolePatchParameters.
func (c ConsolePatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "tags", c.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ConsolePatchParameters.
func (c *ConsolePatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &c.Tags)
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 ConsolePatchProperties.
func (c ConsolePatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enabled", c.Enabled)
populateDateTimeRFC3339(objectMap, "expiration", c.Expiration)
populate(objectMap, "sshPublicKey", c.SSHPublicKey)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ConsolePatchProperties.
func (c *ConsolePatchProperties) 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 "enabled":
err = unpopulate(val, "Enabled", &c.Enabled)
delete(rawMsg, key)
case "expiration":
err = unpopulateDateTimeRFC3339(val, "Expiration", &c.Expiration)
delete(rawMsg, key)
case "sshPublicKey":
err = unpopulate(val, "SSHPublicKey", &c.SSHPublicKey)
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 ConsoleProperties.
func (c ConsoleProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "detailedStatus", c.DetailedStatus)
populate(objectMap, "detailedStatusMessage", c.DetailedStatusMessage)
populate(objectMap, "enabled", c.Enabled)
populateDateTimeRFC3339(objectMap, "expiration", c.Expiration)
populate(objectMap, "privateLinkServiceId", c.PrivateLinkServiceID)
populate(objectMap, "provisioningState", c.ProvisioningState)
populate(objectMap, "sshPublicKey", c.SSHPublicKey)
populate(objectMap, "virtualMachineAccessId", c.VirtualMachineAccessID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ConsoleProperties.
func (c *ConsoleProperties) 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 "detailedStatus":
err = unpopulate(val, "DetailedStatus", &c.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &c.DetailedStatusMessage)
delete(rawMsg, key)
case "enabled":
err = unpopulate(val, "Enabled", &c.Enabled)
delete(rawMsg, key)
case "expiration":
err = unpopulateDateTimeRFC3339(val, "Expiration", &c.Expiration)
delete(rawMsg, key)
case "privateLinkServiceId":
err = unpopulate(val, "PrivateLinkServiceID", &c.PrivateLinkServiceID)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &c.ProvisioningState)
delete(rawMsg, key)
case "sshPublicKey":
err = unpopulate(val, "SSHPublicKey", &c.SSHPublicKey)
delete(rawMsg, key)
case "virtualMachineAccessId":
err = unpopulate(val, "VirtualMachineAccessID", &c.VirtualMachineAccessID)
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 ControlPlaneNodeConfiguration.
func (c ControlPlaneNodeConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorConfiguration", c.AdministratorConfiguration)
populate(objectMap, "availabilityZones", c.AvailabilityZones)
populate(objectMap, "count", c.Count)
populate(objectMap, "vmSkuName", c.VMSKUName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ControlPlaneNodeConfiguration.
func (c *ControlPlaneNodeConfiguration) 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 "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &c.AdministratorConfiguration)
delete(rawMsg, key)
case "availabilityZones":
err = unpopulate(val, "AvailabilityZones", &c.AvailabilityZones)
delete(rawMsg, key)
case "count":
err = unpopulate(val, "Count", &c.Count)
delete(rawMsg, key)
case "vmSkuName":
err = unpopulate(val, "VMSKUName", &c.VMSKUName)
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 ControlPlaneNodePatchConfiguration.
func (c ControlPlaneNodePatchConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorConfiguration", c.AdministratorConfiguration)
populate(objectMap, "count", c.Count)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ControlPlaneNodePatchConfiguration.
func (c *ControlPlaneNodePatchConfiguration) 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 "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &c.AdministratorConfiguration)
delete(rawMsg, key)
case "count":
err = unpopulate(val, "Count", &c.Count)
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 EgressEndpoint.
func (e EgressEndpoint) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "category", e.Category)
populate(objectMap, "endpoints", e.Endpoints)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EgressEndpoint.
func (e *EgressEndpoint) 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 "category":
err = unpopulate(val, "Category", &e.Category)
delete(rawMsg, key)
case "endpoints":
err = unpopulate(val, "Endpoints", &e.Endpoints)
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 EndpointDependency.
func (e EndpointDependency) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "domainName", e.DomainName)
populate(objectMap, "port", e.Port)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EndpointDependency.
func (e *EndpointDependency) 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 "domainName":
err = unpopulate(val, "DomainName", &e.DomainName)
delete(rawMsg, key)
case "port":
err = unpopulate(val, "Port", &e.Port)
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 ErrorAdditionalInfo.
func (e ErrorAdditionalInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateAny(objectMap, "info", e.Info)
populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorAdditionalInfo.
func (e *ErrorAdditionalInfo) 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 "info":
err = unpopulate(val, "Info", &e.Info)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &e.Type)
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 ErrorDetail.
func (e ErrorDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalInfo", e.AdditionalInfo)
populate(objectMap, "code", e.Code)
populate(objectMap, "details", e.Details)
populate(objectMap, "message", e.Message)
populate(objectMap, "target", e.Target)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail.
func (e *ErrorDetail) 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 "additionalInfo":
err = unpopulate(val, "AdditionalInfo", &e.AdditionalInfo)
delete(rawMsg, key)
case "code":
err = unpopulate(val, "Code", &e.Code)
delete(rawMsg, key)
case "details":
err = unpopulate(val, "Details", &e.Details)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &e.Message)
delete(rawMsg, key)
case "target":
err = unpopulate(val, "Target", &e.Target)
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 ExtendedLocation.
func (e ExtendedLocation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", e.Name)
populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtendedLocation.
func (e *ExtendedLocation) 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 "name":
err = unpopulate(val, "Name", &e.Name)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &e.Type)
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 FeatureStatus.
func (f FeatureStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "detailedStatus", f.DetailedStatus)
populate(objectMap, "detailedStatusMessage", f.DetailedStatusMessage)
populate(objectMap, "name", f.Name)
populate(objectMap, "version", f.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeatureStatus.
func (f *FeatureStatus) 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 "detailedStatus":
err = unpopulate(val, "DetailedStatus", &f.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &f.DetailedStatusMessage)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &f.Name)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &f.Version)
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 HardwareInventory.
func (h HardwareInventory) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalHostInformation", h.AdditionalHostInformation)
populate(objectMap, "interfaces", h.Interfaces)
populate(objectMap, "nics", h.Nics)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HardwareInventory.
func (h *HardwareInventory) 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", h, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "additionalHostInformation":
err = unpopulate(val, "AdditionalHostInformation", &h.AdditionalHostInformation)
delete(rawMsg, key)
case "interfaces":
err = unpopulate(val, "Interfaces", &h.Interfaces)
delete(rawMsg, key)
case "nics":
err = unpopulate(val, "Nics", &h.Nics)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", h, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type HardwareInventoryNetworkInterface.
func (h HardwareInventoryNetworkInterface) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "linkStatus", h.LinkStatus)
populate(objectMap, "macAddress", h.MacAddress)
populate(objectMap, "name", h.Name)
populate(objectMap, "networkInterfaceId", h.NetworkInterfaceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HardwareInventoryNetworkInterface.
func (h *HardwareInventoryNetworkInterface) 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", h, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "linkStatus":
err = unpopulate(val, "LinkStatus", &h.LinkStatus)
delete(rawMsg, key)
case "macAddress":
err = unpopulate(val, "MacAddress", &h.MacAddress)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &h.Name)
delete(rawMsg, key)
case "networkInterfaceId":
err = unpopulate(val, "NetworkInterfaceID", &h.NetworkInterfaceID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", h, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type HardwareValidationStatus.
func (h HardwareValidationStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "lastValidationTime", h.LastValidationTime)
populate(objectMap, "result", h.Result)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HardwareValidationStatus.
func (h *HardwareValidationStatus) 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", h, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "lastValidationTime":
err = unpopulateDateTimeRFC3339(val, "LastValidationTime", &h.LastValidationTime)
delete(rawMsg, key)
case "result":
err = unpopulate(val, "Result", &h.Result)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", h, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type IPAddressPool.
func (i IPAddressPool) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "addresses", i.Addresses)
populate(objectMap, "autoAssign", i.AutoAssign)
populate(objectMap, "name", i.Name)
populate(objectMap, "onlyUseHostIps", i.OnlyUseHostIPs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IPAddressPool.
func (i *IPAddressPool) 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 "addresses":
err = unpopulate(val, "Addresses", &i.Addresses)
delete(rawMsg, key)
case "autoAssign":
err = unpopulate(val, "AutoAssign", &i.AutoAssign)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &i.Name)
delete(rawMsg, key)
case "onlyUseHostIps":
err = unpopulate(val, "OnlyUseHostIPs", &i.OnlyUseHostIPs)
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 IdentitySelector.
func (i IdentitySelector) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identityType", i.IdentityType)
populate(objectMap, "userAssignedIdentityResourceId", i.UserAssignedIdentityResourceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IdentitySelector.
func (i *IdentitySelector) 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 "identityType":
err = unpopulate(val, "IdentityType", &i.IdentityType)
delete(rawMsg, key)
case "userAssignedIdentityResourceId":
err = unpopulate(val, "UserAssignedIdentityResourceID", &i.UserAssignedIdentityResourceID)
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 ImageRepositoryCredentials.
func (i ImageRepositoryCredentials) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "password", i.Password)
populate(objectMap, "registryUrl", i.RegistryURL)
populate(objectMap, "username", i.Username)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ImageRepositoryCredentials.
func (i *ImageRepositoryCredentials) 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 "password":
err = unpopulate(val, "Password", &i.Password)
delete(rawMsg, key)
case "registryUrl":
err = unpopulate(val, "RegistryURL", &i.RegistryURL)
delete(rawMsg, key)
case "username":
err = unpopulate(val, "Username", &i.Username)
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 InitialAgentPoolConfiguration.
func (i InitialAgentPoolConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorConfiguration", i.AdministratorConfiguration)
populate(objectMap, "agentOptions", i.AgentOptions)
populate(objectMap, "attachedNetworkConfiguration", i.AttachedNetworkConfiguration)
populate(objectMap, "availabilityZones", i.AvailabilityZones)
populate(objectMap, "count", i.Count)
populate(objectMap, "labels", i.Labels)
populate(objectMap, "mode", i.Mode)
populate(objectMap, "name", i.Name)
populate(objectMap, "taints", i.Taints)
populate(objectMap, "upgradeSettings", i.UpgradeSettings)
populate(objectMap, "vmSkuName", i.VMSKUName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type InitialAgentPoolConfiguration.
func (i *InitialAgentPoolConfiguration) 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 "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &i.AdministratorConfiguration)
delete(rawMsg, key)
case "agentOptions":
err = unpopulate(val, "AgentOptions", &i.AgentOptions)
delete(rawMsg, key)
case "attachedNetworkConfiguration":
err = unpopulate(val, "AttachedNetworkConfiguration", &i.AttachedNetworkConfiguration)
delete(rawMsg, key)
case "availabilityZones":
err = unpopulate(val, "AvailabilityZones", &i.AvailabilityZones)
delete(rawMsg, key)
case "count":
err = unpopulate(val, "Count", &i.Count)
delete(rawMsg, key)
case "labels":
err = unpopulate(val, "Labels", &i.Labels)
delete(rawMsg, key)
case "mode":
err = unpopulate(val, "Mode", &i.Mode)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &i.Name)
delete(rawMsg, key)
case "taints":
err = unpopulate(val, "Taints", &i.Taints)
delete(rawMsg, key)
case "upgradeSettings":
err = unpopulate(val, "UpgradeSettings", &i.UpgradeSettings)
delete(rawMsg, key)
case "vmSkuName":
err = unpopulate(val, "VMSKUName", &i.VMSKUName)
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 KeySetUser.
func (k KeySetUser) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "azureUserName", k.AzureUserName)
populate(objectMap, "description", k.Description)
populate(objectMap, "sshPublicKey", k.SSHPublicKey)
populate(objectMap, "userPrincipalName", k.UserPrincipalName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KeySetUser.
func (k *KeySetUser) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "azureUserName":
err = unpopulate(val, "AzureUserName", &k.AzureUserName)
delete(rawMsg, key)
case "description":
err = unpopulate(val, "Description", &k.Description)
delete(rawMsg, key)
case "sshPublicKey":
err = unpopulate(val, "SSHPublicKey", &k.SSHPublicKey)
delete(rawMsg, key)
case "userPrincipalName":
err = unpopulate(val, "UserPrincipalName", &k.UserPrincipalName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KeySetUserStatus.
func (k KeySetUserStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "azureUserName", k.AzureUserName)
populate(objectMap, "status", k.Status)
populate(objectMap, "statusMessage", k.StatusMessage)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KeySetUserStatus.
func (k *KeySetUserStatus) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "azureUserName":
err = unpopulate(val, "AzureUserName", &k.AzureUserName)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &k.Status)
delete(rawMsg, key)
case "statusMessage":
err = unpopulate(val, "StatusMessage", &k.StatusMessage)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesCluster.
func (k KubernetesCluster) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", k.ExtendedLocation)
populate(objectMap, "id", k.ID)
populate(objectMap, "location", k.Location)
populate(objectMap, "name", k.Name)
populate(objectMap, "properties", k.Properties)
populate(objectMap, "systemData", k.SystemData)
populate(objectMap, "tags", k.Tags)
populate(objectMap, "type", k.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesCluster.
func (k *KubernetesCluster) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &k.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &k.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &k.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &k.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &k.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &k.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &k.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &k.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterFeature.
func (k KubernetesClusterFeature) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", k.ID)
populate(objectMap, "location", k.Location)
populate(objectMap, "name", k.Name)
populate(objectMap, "properties", k.Properties)
populate(objectMap, "systemData", k.SystemData)
populate(objectMap, "tags", k.Tags)
populate(objectMap, "type", k.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterFeature.
func (k *KubernetesClusterFeature) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &k.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &k.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &k.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &k.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &k.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &k.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &k.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterFeatureList.
func (k KubernetesClusterFeatureList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", k.NextLink)
populate(objectMap, "value", k.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterFeatureList.
func (k *KubernetesClusterFeatureList) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &k.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &k.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterFeaturePatchParameters.
func (k KubernetesClusterFeaturePatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", k.Properties)
populate(objectMap, "tags", k.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterFeaturePatchParameters.
func (k *KubernetesClusterFeaturePatchParameters) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &k.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &k.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterFeaturePatchProperties.
func (k KubernetesClusterFeaturePatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "options", k.Options)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterFeaturePatchProperties.
func (k *KubernetesClusterFeaturePatchProperties) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "options":
err = unpopulate(val, "Options", &k.Options)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterFeatureProperties.
func (k KubernetesClusterFeatureProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "availabilityLifecycle", k.AvailabilityLifecycle)
populate(objectMap, "detailedStatus", k.DetailedStatus)
populate(objectMap, "detailedStatusMessage", k.DetailedStatusMessage)
populate(objectMap, "options", k.Options)
populate(objectMap, "provisioningState", k.ProvisioningState)
populate(objectMap, "required", k.Required)
populate(objectMap, "version", k.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterFeatureProperties.
func (k *KubernetesClusterFeatureProperties) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "availabilityLifecycle":
err = unpopulate(val, "AvailabilityLifecycle", &k.AvailabilityLifecycle)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &k.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &k.DetailedStatusMessage)
delete(rawMsg, key)
case "options":
err = unpopulate(val, "Options", &k.Options)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &k.ProvisioningState)
delete(rawMsg, key)
case "required":
err = unpopulate(val, "Required", &k.Required)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &k.Version)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterList.
func (k KubernetesClusterList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", k.NextLink)
populate(objectMap, "value", k.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterList.
func (k *KubernetesClusterList) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &k.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &k.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterNode.
func (k KubernetesClusterNode) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "agentPoolId", k.AgentPoolID)
populate(objectMap, "availabilityZone", k.AvailabilityZone)
populate(objectMap, "bareMetalMachineId", k.BareMetalMachineID)
populate(objectMap, "cpuCores", k.CPUCores)
populate(objectMap, "detailedStatus", k.DetailedStatus)
populate(objectMap, "detailedStatusMessage", k.DetailedStatusMessage)
populate(objectMap, "diskSizeGB", k.DiskSizeGB)
populate(objectMap, "image", k.Image)
populate(objectMap, "kubernetesVersion", k.KubernetesVersion)
populate(objectMap, "labels", k.Labels)
populate(objectMap, "memorySizeGB", k.MemorySizeGB)
populate(objectMap, "mode", k.Mode)
populate(objectMap, "name", k.Name)
populate(objectMap, "networkAttachments", k.NetworkAttachments)
populate(objectMap, "powerState", k.PowerState)
populate(objectMap, "role", k.Role)
populate(objectMap, "taints", k.Taints)
populate(objectMap, "vmSkuName", k.VMSKUName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterNode.
func (k *KubernetesClusterNode) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "agentPoolId":
err = unpopulate(val, "AgentPoolID", &k.AgentPoolID)
delete(rawMsg, key)
case "availabilityZone":
err = unpopulate(val, "AvailabilityZone", &k.AvailabilityZone)
delete(rawMsg, key)
case "bareMetalMachineId":
err = unpopulate(val, "BareMetalMachineID", &k.BareMetalMachineID)
delete(rawMsg, key)
case "cpuCores":
err = unpopulate(val, "CPUCores", &k.CPUCores)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &k.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &k.DetailedStatusMessage)
delete(rawMsg, key)
case "diskSizeGB":
err = unpopulate(val, "DiskSizeGB", &k.DiskSizeGB)
delete(rawMsg, key)
case "image":
err = unpopulate(val, "Image", &k.Image)
delete(rawMsg, key)
case "kubernetesVersion":
err = unpopulate(val, "KubernetesVersion", &k.KubernetesVersion)
delete(rawMsg, key)
case "labels":
err = unpopulate(val, "Labels", &k.Labels)
delete(rawMsg, key)
case "memorySizeGB":
err = unpopulate(val, "MemorySizeGB", &k.MemorySizeGB)
delete(rawMsg, key)
case "mode":
err = unpopulate(val, "Mode", &k.Mode)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &k.Name)
delete(rawMsg, key)
case "networkAttachments":
err = unpopulate(val, "NetworkAttachments", &k.NetworkAttachments)
delete(rawMsg, key)
case "powerState":
err = unpopulate(val, "PowerState", &k.PowerState)
delete(rawMsg, key)
case "role":
err = unpopulate(val, "Role", &k.Role)
delete(rawMsg, key)
case "taints":
err = unpopulate(val, "Taints", &k.Taints)
delete(rawMsg, key)
case "vmSkuName":
err = unpopulate(val, "VMSKUName", &k.VMSKUName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterPatchParameters.
func (k KubernetesClusterPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", k.Properties)
populate(objectMap, "tags", k.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterPatchParameters.
func (k *KubernetesClusterPatchParameters) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &k.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &k.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterPatchProperties.
func (k KubernetesClusterPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorConfiguration", k.AdministratorConfiguration)
populate(objectMap, "controlPlaneNodeConfiguration", k.ControlPlaneNodeConfiguration)
populate(objectMap, "kubernetesVersion", k.KubernetesVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterPatchProperties.
func (k *KubernetesClusterPatchProperties) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &k.AdministratorConfiguration)
delete(rawMsg, key)
case "controlPlaneNodeConfiguration":
err = unpopulate(val, "ControlPlaneNodeConfiguration", &k.ControlPlaneNodeConfiguration)
delete(rawMsg, key)
case "kubernetesVersion":
err = unpopulate(val, "KubernetesVersion", &k.KubernetesVersion)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterProperties.
func (k KubernetesClusterProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "aadConfiguration", k.AADConfiguration)
populate(objectMap, "administratorConfiguration", k.AdministratorConfiguration)
populate(objectMap, "attachedNetworkIds", k.AttachedNetworkIDs)
populate(objectMap, "availableUpgrades", k.AvailableUpgrades)
populate(objectMap, "clusterId", k.ClusterID)
populate(objectMap, "connectedClusterId", k.ConnectedClusterID)
populate(objectMap, "controlPlaneKubernetesVersion", k.ControlPlaneKubernetesVersion)
populate(objectMap, "controlPlaneNodeConfiguration", k.ControlPlaneNodeConfiguration)
populate(objectMap, "detailedStatus", k.DetailedStatus)
populate(objectMap, "detailedStatusMessage", k.DetailedStatusMessage)
populate(objectMap, "featureStatuses", k.FeatureStatuses)
populate(objectMap, "initialAgentPoolConfigurations", k.InitialAgentPoolConfigurations)
populate(objectMap, "kubernetesVersion", k.KubernetesVersion)
populate(objectMap, "managedResourceGroupConfiguration", k.ManagedResourceGroupConfiguration)
populate(objectMap, "networkConfiguration", k.NetworkConfiguration)
populate(objectMap, "nodes", k.Nodes)
populate(objectMap, "provisioningState", k.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterProperties.
func (k *KubernetesClusterProperties) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "aadConfiguration":
err = unpopulate(val, "AADConfiguration", &k.AADConfiguration)
delete(rawMsg, key)
case "administratorConfiguration":
err = unpopulate(val, "AdministratorConfiguration", &k.AdministratorConfiguration)
delete(rawMsg, key)
case "attachedNetworkIds":
err = unpopulate(val, "AttachedNetworkIDs", &k.AttachedNetworkIDs)
delete(rawMsg, key)
case "availableUpgrades":
err = unpopulate(val, "AvailableUpgrades", &k.AvailableUpgrades)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &k.ClusterID)
delete(rawMsg, key)
case "connectedClusterId":
err = unpopulate(val, "ConnectedClusterID", &k.ConnectedClusterID)
delete(rawMsg, key)
case "controlPlaneKubernetesVersion":
err = unpopulate(val, "ControlPlaneKubernetesVersion", &k.ControlPlaneKubernetesVersion)
delete(rawMsg, key)
case "controlPlaneNodeConfiguration":
err = unpopulate(val, "ControlPlaneNodeConfiguration", &k.ControlPlaneNodeConfiguration)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &k.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &k.DetailedStatusMessage)
delete(rawMsg, key)
case "featureStatuses":
err = unpopulate(val, "FeatureStatuses", &k.FeatureStatuses)
delete(rawMsg, key)
case "initialAgentPoolConfigurations":
err = unpopulate(val, "InitialAgentPoolConfigurations", &k.InitialAgentPoolConfigurations)
delete(rawMsg, key)
case "kubernetesVersion":
err = unpopulate(val, "KubernetesVersion", &k.KubernetesVersion)
delete(rawMsg, key)
case "managedResourceGroupConfiguration":
err = unpopulate(val, "ManagedResourceGroupConfiguration", &k.ManagedResourceGroupConfiguration)
delete(rawMsg, key)
case "networkConfiguration":
err = unpopulate(val, "NetworkConfiguration", &k.NetworkConfiguration)
delete(rawMsg, key)
case "nodes":
err = unpopulate(val, "Nodes", &k.Nodes)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &k.ProvisioningState)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterRestartNodeParameters.
func (k KubernetesClusterRestartNodeParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nodeName", k.NodeName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterRestartNodeParameters.
func (k *KubernetesClusterRestartNodeParameters) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nodeName":
err = unpopulate(val, "NodeName", &k.NodeName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesLabel.
func (k KubernetesLabel) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "key", k.Key)
populate(objectMap, "value", k.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesLabel.
func (k *KubernetesLabel) 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", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "key":
err = unpopulate(val, "Key", &k.Key)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &k.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type L2Network.
func (l L2Network) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", l.ExtendedLocation)
populate(objectMap, "id", l.ID)
populate(objectMap, "location", l.Location)
populate(objectMap, "name", l.Name)
populate(objectMap, "properties", l.Properties)
populate(objectMap, "systemData", l.SystemData)
populate(objectMap, "tags", l.Tags)
populate(objectMap, "type", l.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L2Network.
func (l *L2Network) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &l.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &l.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &l.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &l.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &l.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &l.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &l.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &l.Type)
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 L2NetworkAttachmentConfiguration.
func (l L2NetworkAttachmentConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "networkId", l.NetworkID)
populate(objectMap, "pluginType", l.PluginType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L2NetworkAttachmentConfiguration.
func (l *L2NetworkAttachmentConfiguration) 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 "networkId":
err = unpopulate(val, "NetworkID", &l.NetworkID)
delete(rawMsg, key)
case "pluginType":
err = unpopulate(val, "PluginType", &l.PluginType)
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 L2NetworkList.
func (l L2NetworkList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", l.NextLink)
populate(objectMap, "value", l.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L2NetworkList.
func (l *L2NetworkList) 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 "nextLink":
err = unpopulate(val, "NextLink", &l.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &l.Value)
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 L2NetworkPatchParameters.
func (l L2NetworkPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", l.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L2NetworkPatchParameters.
func (l *L2NetworkPatchParameters) 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 "tags":
err = unpopulate(val, "Tags", &l.Tags)
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 L2NetworkProperties.
func (l L2NetworkProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "associatedResourceIds", l.AssociatedResourceIDs)
populate(objectMap, "clusterId", l.ClusterID)
populate(objectMap, "detailedStatus", l.DetailedStatus)
populate(objectMap, "detailedStatusMessage", l.DetailedStatusMessage)
populate(objectMap, "hybridAksClustersAssociatedIds", l.HybridAksClustersAssociatedIDs)
populate(objectMap, "hybridAksPluginType", l.HybridAksPluginType)
populate(objectMap, "interfaceName", l.InterfaceName)
populate(objectMap, "l2IsolationDomainId", l.L2IsolationDomainID)
populate(objectMap, "provisioningState", l.ProvisioningState)
populate(objectMap, "virtualMachinesAssociatedIds", l.VirtualMachinesAssociatedIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L2NetworkProperties.
func (l *L2NetworkProperties) 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 "associatedResourceIds":
err = unpopulate(val, "AssociatedResourceIDs", &l.AssociatedResourceIDs)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &l.ClusterID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &l.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &l.DetailedStatusMessage)
delete(rawMsg, key)
case "hybridAksClustersAssociatedIds":
err = unpopulate(val, "HybridAksClustersAssociatedIDs", &l.HybridAksClustersAssociatedIDs)
delete(rawMsg, key)
case "hybridAksPluginType":
err = unpopulate(val, "HybridAksPluginType", &l.HybridAksPluginType)
delete(rawMsg, key)
case "interfaceName":
err = unpopulate(val, "InterfaceName", &l.InterfaceName)
delete(rawMsg, key)
case "l2IsolationDomainId":
err = unpopulate(val, "L2IsolationDomainID", &l.L2IsolationDomainID)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &l.ProvisioningState)
delete(rawMsg, key)
case "virtualMachinesAssociatedIds":
err = unpopulate(val, "VirtualMachinesAssociatedIDs", &l.VirtualMachinesAssociatedIDs)
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 L2ServiceLoadBalancerConfiguration.
func (l L2ServiceLoadBalancerConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipAddressPools", l.IPAddressPools)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L2ServiceLoadBalancerConfiguration.
func (l *L2ServiceLoadBalancerConfiguration) 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 "ipAddressPools":
err = unpopulate(val, "IPAddressPools", &l.IPAddressPools)
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 L3Network.
func (l L3Network) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", l.ExtendedLocation)
populate(objectMap, "id", l.ID)
populate(objectMap, "location", l.Location)
populate(objectMap, "name", l.Name)
populate(objectMap, "properties", l.Properties)
populate(objectMap, "systemData", l.SystemData)
populate(objectMap, "tags", l.Tags)
populate(objectMap, "type", l.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L3Network.
func (l *L3Network) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &l.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &l.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &l.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &l.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &l.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &l.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &l.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &l.Type)
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 L3NetworkAttachmentConfiguration.
func (l L3NetworkAttachmentConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipamEnabled", l.IpamEnabled)
populate(objectMap, "networkId", l.NetworkID)
populate(objectMap, "pluginType", l.PluginType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L3NetworkAttachmentConfiguration.
func (l *L3NetworkAttachmentConfiguration) 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 "ipamEnabled":
err = unpopulate(val, "IpamEnabled", &l.IpamEnabled)
delete(rawMsg, key)
case "networkId":
err = unpopulate(val, "NetworkID", &l.NetworkID)
delete(rawMsg, key)
case "pluginType":
err = unpopulate(val, "PluginType", &l.PluginType)
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 L3NetworkList.
func (l L3NetworkList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", l.NextLink)
populate(objectMap, "value", l.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L3NetworkList.
func (l *L3NetworkList) 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 "nextLink":
err = unpopulate(val, "NextLink", &l.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &l.Value)
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 L3NetworkPatchParameters.
func (l L3NetworkPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", l.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L3NetworkPatchParameters.
func (l *L3NetworkPatchParameters) 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 "tags":
err = unpopulate(val, "Tags", &l.Tags)
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 L3NetworkProperties.
func (l L3NetworkProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "associatedResourceIds", l.AssociatedResourceIDs)
populate(objectMap, "clusterId", l.ClusterID)
populate(objectMap, "detailedStatus", l.DetailedStatus)
populate(objectMap, "detailedStatusMessage", l.DetailedStatusMessage)
populate(objectMap, "hybridAksClustersAssociatedIds", l.HybridAksClustersAssociatedIDs)
populate(objectMap, "hybridAksIpamEnabled", l.HybridAksIpamEnabled)
populate(objectMap, "hybridAksPluginType", l.HybridAksPluginType)
populate(objectMap, "ipAllocationType", l.IPAllocationType)
populate(objectMap, "ipv4ConnectedPrefix", l.IPv4ConnectedPrefix)
populate(objectMap, "ipv6ConnectedPrefix", l.IPv6ConnectedPrefix)
populate(objectMap, "interfaceName", l.InterfaceName)
populate(objectMap, "l3IsolationDomainId", l.L3IsolationDomainID)
populate(objectMap, "provisioningState", l.ProvisioningState)
populate(objectMap, "virtualMachinesAssociatedIds", l.VirtualMachinesAssociatedIDs)
populate(objectMap, "vlan", l.Vlan)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type L3NetworkProperties.
func (l *L3NetworkProperties) 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 "associatedResourceIds":
err = unpopulate(val, "AssociatedResourceIDs", &l.AssociatedResourceIDs)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &l.ClusterID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &l.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &l.DetailedStatusMessage)
delete(rawMsg, key)
case "hybridAksClustersAssociatedIds":
err = unpopulate(val, "HybridAksClustersAssociatedIDs", &l.HybridAksClustersAssociatedIDs)
delete(rawMsg, key)
case "hybridAksIpamEnabled":
err = unpopulate(val, "HybridAksIpamEnabled", &l.HybridAksIpamEnabled)
delete(rawMsg, key)
case "hybridAksPluginType":
err = unpopulate(val, "HybridAksPluginType", &l.HybridAksPluginType)
delete(rawMsg, key)
case "ipAllocationType":
err = unpopulate(val, "IPAllocationType", &l.IPAllocationType)
delete(rawMsg, key)
case "ipv4ConnectedPrefix":
err = unpopulate(val, "IPv4ConnectedPrefix", &l.IPv4ConnectedPrefix)
delete(rawMsg, key)
case "ipv6ConnectedPrefix":
err = unpopulate(val, "IPv6ConnectedPrefix", &l.IPv6ConnectedPrefix)
delete(rawMsg, key)
case "interfaceName":
err = unpopulate(val, "InterfaceName", &l.InterfaceName)
delete(rawMsg, key)
case "l3IsolationDomainId":
err = unpopulate(val, "L3IsolationDomainID", &l.L3IsolationDomainID)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &l.ProvisioningState)
delete(rawMsg, key)
case "virtualMachinesAssociatedIds":
err = unpopulate(val, "VirtualMachinesAssociatedIDs", &l.VirtualMachinesAssociatedIDs)
delete(rawMsg, key)
case "vlan":
err = unpopulate(val, "Vlan", &l.Vlan)
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 LldpNeighbor.
func (l LldpNeighbor) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "portDescription", l.PortDescription)
populate(objectMap, "portName", l.PortName)
populate(objectMap, "systemDescription", l.SystemDescription)
populate(objectMap, "systemName", l.SystemName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LldpNeighbor.
func (l *LldpNeighbor) 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 "portDescription":
err = unpopulate(val, "PortDescription", &l.PortDescription)
delete(rawMsg, key)
case "portName":
err = unpopulate(val, "PortName", &l.PortName)
delete(rawMsg, key)
case "systemDescription":
err = unpopulate(val, "SystemDescription", &l.SystemDescription)
delete(rawMsg, key)
case "systemName":
err = unpopulate(val, "SystemName", &l.SystemName)
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 MachineDisk.
func (m MachineDisk) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "capacityGB", m.CapacityGB)
populate(objectMap, "connection", m.Connection)
populate(objectMap, "type", m.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MachineDisk.
func (m *MachineDisk) 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 "capacityGB":
err = unpopulate(val, "CapacityGB", &m.CapacityGB)
delete(rawMsg, key)
case "connection":
err = unpopulate(val, "Connection", &m.Connection)
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 MachineSKUProperties.
func (m MachineSKUProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bootstrapProtocol", m.BootstrapProtocol)
populate(objectMap, "cpuCores", m.CPUCores)
populate(objectMap, "cpuSockets", m.CPUSockets)
populate(objectMap, "disks", m.Disks)
populate(objectMap, "generation", m.Generation)
populate(objectMap, "hardwareVersion", m.HardwareVersion)
populate(objectMap, "memoryCapacityGB", m.MemoryCapacityGB)
populate(objectMap, "model", m.Model)
populate(objectMap, "networkInterfaces", m.NetworkInterfaces)
populate(objectMap, "totalThreads", m.TotalThreads)
populate(objectMap, "vendor", m.Vendor)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MachineSKUProperties.
func (m *MachineSKUProperties) 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 "bootstrapProtocol":
err = unpopulate(val, "BootstrapProtocol", &m.BootstrapProtocol)
delete(rawMsg, key)
case "cpuCores":
err = unpopulate(val, "CPUCores", &m.CPUCores)
delete(rawMsg, key)
case "cpuSockets":
err = unpopulate(val, "CPUSockets", &m.CPUSockets)
delete(rawMsg, key)
case "disks":
err = unpopulate(val, "Disks", &m.Disks)
delete(rawMsg, key)
case "generation":
err = unpopulate(val, "Generation", &m.Generation)
delete(rawMsg, key)
case "hardwareVersion":
err = unpopulate(val, "HardwareVersion", &m.HardwareVersion)
delete(rawMsg, key)
case "memoryCapacityGB":
err = unpopulate(val, "MemoryCapacityGB", &m.MemoryCapacityGB)
delete(rawMsg, key)
case "model":
err = unpopulate(val, "Model", &m.Model)
delete(rawMsg, key)
case "networkInterfaces":
err = unpopulate(val, "NetworkInterfaces", &m.NetworkInterfaces)
delete(rawMsg, key)
case "totalThreads":
err = unpopulate(val, "TotalThreads", &m.TotalThreads)
delete(rawMsg, key)
case "vendor":
err = unpopulate(val, "Vendor", &m.Vendor)
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 MachineSKUSlot.
func (m MachineSKUSlot) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", m.Properties)
populate(objectMap, "rackSlot", m.RackSlot)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MachineSKUSlot.
func (m *MachineSKUSlot) 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 "properties":
err = unpopulate(val, "Properties", &m.Properties)
delete(rawMsg, key)
case "rackSlot":
err = unpopulate(val, "RackSlot", &m.RackSlot)
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 ManagedResourceGroupConfiguration.
func (m ManagedResourceGroupConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "location", m.Location)
populate(objectMap, "name", m.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ManagedResourceGroupConfiguration.
func (m *ManagedResourceGroupConfiguration) 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 "location":
err = unpopulate(val, "Location", &m.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &m.Name)
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 ManagedServiceIdentity.
func (m ManagedServiceIdentity) 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 ManagedServiceIdentity.
func (m *ManagedServiceIdentity) 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 NetworkAttachment.
func (n NetworkAttachment) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "attachedNetworkId", n.AttachedNetworkID)
populate(objectMap, "defaultGateway", n.DefaultGateway)
populate(objectMap, "ipAllocationMethod", n.IPAllocationMethod)
populate(objectMap, "ipv4Address", n.IPv4Address)
populate(objectMap, "ipv6Address", n.IPv6Address)
populate(objectMap, "macAddress", n.MacAddress)
populate(objectMap, "networkAttachmentName", n.NetworkAttachmentName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkAttachment.
func (n *NetworkAttachment) 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 "attachedNetworkId":
err = unpopulate(val, "AttachedNetworkID", &n.AttachedNetworkID)
delete(rawMsg, key)
case "defaultGateway":
err = unpopulate(val, "DefaultGateway", &n.DefaultGateway)
delete(rawMsg, key)
case "ipAllocationMethod":
err = unpopulate(val, "IPAllocationMethod", &n.IPAllocationMethod)
delete(rawMsg, key)
case "ipv4Address":
err = unpopulate(val, "IPv4Address", &n.IPv4Address)
delete(rawMsg, key)
case "ipv6Address":
err = unpopulate(val, "IPv6Address", &n.IPv6Address)
delete(rawMsg, key)
case "macAddress":
err = unpopulate(val, "MacAddress", &n.MacAddress)
delete(rawMsg, key)
case "networkAttachmentName":
err = unpopulate(val, "NetworkAttachmentName", &n.NetworkAttachmentName)
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 NetworkConfiguration.
func (n NetworkConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "attachedNetworkConfiguration", n.AttachedNetworkConfiguration)
populate(objectMap, "bgpServiceLoadBalancerConfiguration", n.BgpServiceLoadBalancerConfiguration)
populate(objectMap, "cloudServicesNetworkId", n.CloudServicesNetworkID)
populate(objectMap, "cniNetworkId", n.CniNetworkID)
populate(objectMap, "dnsServiceIp", n.DNSServiceIP)
populate(objectMap, "l2ServiceLoadBalancerConfiguration", n.L2ServiceLoadBalancerConfiguration)
populate(objectMap, "podCidrs", n.PodCidrs)
populate(objectMap, "serviceCidrs", n.ServiceCidrs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkConfiguration.
func (n *NetworkConfiguration) 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 "attachedNetworkConfiguration":
err = unpopulate(val, "AttachedNetworkConfiguration", &n.AttachedNetworkConfiguration)
delete(rawMsg, key)
case "bgpServiceLoadBalancerConfiguration":
err = unpopulate(val, "BgpServiceLoadBalancerConfiguration", &n.BgpServiceLoadBalancerConfiguration)
delete(rawMsg, key)
case "cloudServicesNetworkId":
err = unpopulate(val, "CloudServicesNetworkID", &n.CloudServicesNetworkID)
delete(rawMsg, key)
case "cniNetworkId":
err = unpopulate(val, "CniNetworkID", &n.CniNetworkID)
delete(rawMsg, key)
case "dnsServiceIp":
err = unpopulate(val, "DNSServiceIP", &n.DNSServiceIP)
delete(rawMsg, key)
case "l2ServiceLoadBalancerConfiguration":
err = unpopulate(val, "L2ServiceLoadBalancerConfiguration", &n.L2ServiceLoadBalancerConfiguration)
delete(rawMsg, key)
case "podCidrs":
err = unpopulate(val, "PodCidrs", &n.PodCidrs)
delete(rawMsg, key)
case "serviceCidrs":
err = unpopulate(val, "ServiceCidrs", &n.ServiceCidrs)
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 NetworkInterface.
func (n NetworkInterface) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "address", n.Address)
populate(objectMap, "deviceConnectionType", n.DeviceConnectionType)
populate(objectMap, "model", n.Model)
populate(objectMap, "physicalSlot", n.PhysicalSlot)
populate(objectMap, "portCount", n.PortCount)
populate(objectMap, "portSpeed", n.PortSpeed)
populate(objectMap, "vendor", n.Vendor)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkInterface.
func (n *NetworkInterface) 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 "address":
err = unpopulate(val, "Address", &n.Address)
delete(rawMsg, key)
case "deviceConnectionType":
err = unpopulate(val, "DeviceConnectionType", &n.DeviceConnectionType)
delete(rawMsg, key)
case "model":
err = unpopulate(val, "Model", &n.Model)
delete(rawMsg, key)
case "physicalSlot":
err = unpopulate(val, "PhysicalSlot", &n.PhysicalSlot)
delete(rawMsg, key)
case "portCount":
err = unpopulate(val, "PortCount", &n.PortCount)
delete(rawMsg, key)
case "portSpeed":
err = unpopulate(val, "PortSpeed", &n.PortSpeed)
delete(rawMsg, key)
case "vendor":
err = unpopulate(val, "Vendor", &n.Vendor)
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 Nic.
func (n Nic) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "lldpNeighbor", n.LldpNeighbor)
populate(objectMap, "macAddress", n.MacAddress)
populate(objectMap, "name", n.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Nic.
func (n *Nic) 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 "lldpNeighbor":
err = unpopulate(val, "LldpNeighbor", &n.LldpNeighbor)
delete(rawMsg, key)
case "macAddress":
err = unpopulate(val, "MacAddress", &n.MacAddress)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &n.Name)
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 NodePoolAdministratorConfigurationPatch.
func (n NodePoolAdministratorConfigurationPatch) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sshPublicKeys", n.SSHPublicKeys)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NodePoolAdministratorConfigurationPatch.
func (n *NodePoolAdministratorConfigurationPatch) 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 "sshPublicKeys":
err = unpopulate(val, "SSHPublicKeys", &n.SSHPublicKeys)
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 Operation.
func (o Operation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "actionType", o.ActionType)
populate(objectMap, "display", o.Display)
populate(objectMap, "isDataAction", o.IsDataAction)
populate(objectMap, "name", o.Name)
populate(objectMap, "origin", o.Origin)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Operation.
func (o *Operation) 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 "actionType":
err = unpopulate(val, "ActionType", &o.ActionType)
delete(rawMsg, 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 "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 OperationDisplay.
func (o OperationDisplay) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", o.Description)
populate(objectMap, "operation", o.Operation)
populate(objectMap, "provider", o.Provider)
populate(objectMap, "resource", o.Resource)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay.
func (o *OperationDisplay) 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 "description":
err = unpopulate(val, "Description", &o.Description)
delete(rawMsg, key)
case "operation":
err = unpopulate(val, "Operation", &o.Operation)
delete(rawMsg, key)
case "provider":
err = unpopulate(val, "Provider", &o.Provider)
delete(rawMsg, key)
case "resource":
err = unpopulate(val, "Resource", &o.Resource)
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 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 OperationStatusResult.
func (o OperationStatusResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "endTime", o.EndTime)
populate(objectMap, "error", o.Error)
populate(objectMap, "id", o.ID)
populate(objectMap, "name", o.Name)
populate(objectMap, "operations", o.Operations)
populate(objectMap, "percentComplete", o.PercentComplete)
populate(objectMap, "properties", o.Properties)
populate(objectMap, "resourceId", o.ResourceID)
populateDateTimeRFC3339(objectMap, "startTime", o.StartTime)
populate(objectMap, "status", o.Status)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusResult.
func (o *OperationStatusResult) 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 "endTime":
err = unpopulateDateTimeRFC3339(val, "EndTime", &o.EndTime)
delete(rawMsg, key)
case "error":
err = unpopulate(val, "Error", &o.Error)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &o.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &o.Name)
delete(rawMsg, key)
case "operations":
err = unpopulate(val, "Operations", &o.Operations)
delete(rawMsg, key)
case "percentComplete":
err = unpopulate(val, "PercentComplete", &o.PercentComplete)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &o.Properties)
delete(rawMsg, key)
case "resourceId":
err = unpopulate(val, "ResourceID", &o.ResourceID)
delete(rawMsg, key)
case "startTime":
err = unpopulateDateTimeRFC3339(val, "StartTime", &o.StartTime)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &o.Status)
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 OperationStatusResultProperties.
func (o OperationStatusResultProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "exitCode", o.ExitCode)
populate(objectMap, "outputHead", o.OutputHead)
populate(objectMap, "resultRef", o.ResultRef)
populate(objectMap, "resultUrl", o.ResultURL)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusResultProperties.
func (o *OperationStatusResultProperties) 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 "exitCode":
err = unpopulate(val, "ExitCode", &o.ExitCode)
delete(rawMsg, key)
case "outputHead":
err = unpopulate(val, "OutputHead", &o.OutputHead)
delete(rawMsg, key)
case "resultRef":
err = unpopulate(val, "ResultRef", &o.ResultRef)
delete(rawMsg, key)
case "resultUrl":
err = unpopulate(val, "ResultURL", &o.ResultURL)
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 OsDisk.
func (o OsDisk) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "createOption", o.CreateOption)
populate(objectMap, "deleteOption", o.DeleteOption)
populate(objectMap, "diskSizeGB", o.DiskSizeGB)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OsDisk.
func (o *OsDisk) 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 "createOption":
err = unpopulate(val, "CreateOption", &o.CreateOption)
delete(rawMsg, key)
case "deleteOption":
err = unpopulate(val, "DeleteOption", &o.DeleteOption)
delete(rawMsg, key)
case "diskSizeGB":
err = unpopulate(val, "DiskSizeGB", &o.DiskSizeGB)
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 Rack.
func (r Rack) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", r.ExtendedLocation)
populate(objectMap, "id", r.ID)
populate(objectMap, "location", r.Location)
populate(objectMap, "name", r.Name)
populate(objectMap, "properties", r.Properties)
populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "tags", r.Tags)
populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Rack.
func (r *Rack) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &r.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &r.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &r.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &r.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
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 RackDefinition.
func (r RackDefinition) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "availabilityZone", r.AvailabilityZone)
populate(objectMap, "bareMetalMachineConfigurationData", r.BareMetalMachineConfigurationData)
populate(objectMap, "networkRackId", r.NetworkRackID)
populate(objectMap, "rackLocation", r.RackLocation)
populate(objectMap, "rackSkuId", r.RackSKUID)
populate(objectMap, "rackSerialNumber", r.RackSerialNumber)
populate(objectMap, "storageApplianceConfigurationData", r.StorageApplianceConfigurationData)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackDefinition.
func (r *RackDefinition) 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 "availabilityZone":
err = unpopulate(val, "AvailabilityZone", &r.AvailabilityZone)
delete(rawMsg, key)
case "bareMetalMachineConfigurationData":
err = unpopulate(val, "BareMetalMachineConfigurationData", &r.BareMetalMachineConfigurationData)
delete(rawMsg, key)
case "networkRackId":
err = unpopulate(val, "NetworkRackID", &r.NetworkRackID)
delete(rawMsg, key)
case "rackLocation":
err = unpopulate(val, "RackLocation", &r.RackLocation)
delete(rawMsg, key)
case "rackSkuId":
err = unpopulate(val, "RackSKUID", &r.RackSKUID)
delete(rawMsg, key)
case "rackSerialNumber":
err = unpopulate(val, "RackSerialNumber", &r.RackSerialNumber)
delete(rawMsg, key)
case "storageApplianceConfigurationData":
err = unpopulate(val, "StorageApplianceConfigurationData", &r.StorageApplianceConfigurationData)
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 RackList.
func (r RackList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", r.NextLink)
populate(objectMap, "value", r.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackList.
func (r *RackList) 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 "nextLink":
err = unpopulate(val, "NextLink", &r.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &r.Value)
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 RackPatchParameters.
func (r RackPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", r.Properties)
populate(objectMap, "tags", r.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackPatchParameters.
func (r *RackPatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &r.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &r.Tags)
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 RackProperties.
func (r RackProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "availabilityZone", r.AvailabilityZone)
populate(objectMap, "clusterId", r.ClusterID)
populate(objectMap, "detailedStatus", r.DetailedStatus)
populate(objectMap, "detailedStatusMessage", r.DetailedStatusMessage)
populate(objectMap, "provisioningState", r.ProvisioningState)
populate(objectMap, "rackLocation", r.RackLocation)
populate(objectMap, "rackSkuId", r.RackSKUID)
populate(objectMap, "rackSerialNumber", r.RackSerialNumber)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackProperties.
func (r *RackProperties) 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 "availabilityZone":
err = unpopulate(val, "AvailabilityZone", &r.AvailabilityZone)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &r.ClusterID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &r.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &r.DetailedStatusMessage)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &r.ProvisioningState)
delete(rawMsg, key)
case "rackLocation":
err = unpopulate(val, "RackLocation", &r.RackLocation)
delete(rawMsg, key)
case "rackSkuId":
err = unpopulate(val, "RackSKUID", &r.RackSKUID)
delete(rawMsg, key)
case "rackSerialNumber":
err = unpopulate(val, "RackSerialNumber", &r.RackSerialNumber)
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 RackSKU.
func (r RackSKU) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", r.ID)
populate(objectMap, "name", r.Name)
populate(objectMap, "properties", r.Properties)
populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackSKU.
func (r *RackSKU) 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 "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &r.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
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 RackSKUList.
func (r RackSKUList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", r.NextLink)
populate(objectMap, "value", r.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackSKUList.
func (r *RackSKUList) 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 "nextLink":
err = unpopulate(val, "NextLink", &r.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &r.Value)
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 RackSKUProperties.
func (r RackSKUProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "computeMachines", r.ComputeMachines)
populate(objectMap, "controllerMachines", r.ControllerMachines)
populate(objectMap, "description", r.Description)
populate(objectMap, "maxClusterSlots", r.MaxClusterSlots)
populate(objectMap, "provisioningState", r.ProvisioningState)
populate(objectMap, "rackType", r.RackType)
populate(objectMap, "storageAppliances", r.StorageAppliances)
populate(objectMap, "supportedRackSkuIds", r.SupportedRackSKUIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RackSKUProperties.
func (r *RackSKUProperties) 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 "computeMachines":
err = unpopulate(val, "ComputeMachines", &r.ComputeMachines)
delete(rawMsg, key)
case "controllerMachines":
err = unpopulate(val, "ControllerMachines", &r.ControllerMachines)
delete(rawMsg, key)
case "description":
err = unpopulate(val, "Description", &r.Description)
delete(rawMsg, key)
case "maxClusterSlots":
err = unpopulate(val, "MaxClusterSlots", &r.MaxClusterSlots)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &r.ProvisioningState)
delete(rawMsg, key)
case "rackType":
err = unpopulate(val, "RackType", &r.RackType)
delete(rawMsg, key)
case "storageAppliances":
err = unpopulate(val, "StorageAppliances", &r.StorageAppliances)
delete(rawMsg, key)
case "supportedRackSkuIds":
err = unpopulate(val, "SupportedRackSKUIDs", &r.SupportedRackSKUIDs)
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 RacksPatchProperties.
func (r RacksPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "rackLocation", r.RackLocation)
populate(objectMap, "rackSerialNumber", r.RackSerialNumber)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RacksPatchProperties.
func (r *RacksPatchProperties) 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 "rackLocation":
err = unpopulate(val, "RackLocation", &r.RackLocation)
delete(rawMsg, key)
case "rackSerialNumber":
err = unpopulate(val, "RackSerialNumber", &r.RackSerialNumber)
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 RuntimeProtectionConfiguration.
func (r RuntimeProtectionConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enforcementLevel", r.EnforcementLevel)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RuntimeProtectionConfiguration.
func (r *RuntimeProtectionConfiguration) 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 "enforcementLevel":
err = unpopulate(val, "EnforcementLevel", &r.EnforcementLevel)
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 RuntimeProtectionStatus.
func (r RuntimeProtectionStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "definitionsLastUpdated", r.DefinitionsLastUpdated)
populate(objectMap, "definitionsVersion", r.DefinitionsVersion)
populateDateTimeRFC3339(objectMap, "scanCompletedTime", r.ScanCompletedTime)
populateDateTimeRFC3339(objectMap, "scanScheduledTime", r.ScanScheduledTime)
populateDateTimeRFC3339(objectMap, "scanStartedTime", r.ScanStartedTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RuntimeProtectionStatus.
func (r *RuntimeProtectionStatus) 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 "definitionsLastUpdated":
err = unpopulateDateTimeRFC3339(val, "DefinitionsLastUpdated", &r.DefinitionsLastUpdated)
delete(rawMsg, key)
case "definitionsVersion":
err = unpopulate(val, "DefinitionsVersion", &r.DefinitionsVersion)
delete(rawMsg, key)
case "scanCompletedTime":
err = unpopulateDateTimeRFC3339(val, "ScanCompletedTime", &r.ScanCompletedTime)
delete(rawMsg, key)
case "scanScheduledTime":
err = unpopulateDateTimeRFC3339(val, "ScanScheduledTime", &r.ScanScheduledTime)
delete(rawMsg, key)
case "scanStartedTime":
err = unpopulateDateTimeRFC3339(val, "ScanStartedTime", &r.ScanStartedTime)
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 SSHPublicKey.
func (s SSHPublicKey) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "keyData", s.KeyData)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SSHPublicKey.
func (s *SSHPublicKey) 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 "keyData":
err = unpopulate(val, "KeyData", &s.KeyData)
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 SecretArchiveReference.
func (s SecretArchiveReference) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "keyVaultId", s.KeyVaultID)
populate(objectMap, "secretName", s.SecretName)
populate(objectMap, "secretVersion", s.SecretVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecretArchiveReference.
func (s *SecretArchiveReference) 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 "keyVaultId":
err = unpopulate(val, "KeyVaultID", &s.KeyVaultID)
delete(rawMsg, key)
case "secretName":
err = unpopulate(val, "SecretName", &s.SecretName)
delete(rawMsg, key)
case "secretVersion":
err = unpopulate(val, "SecretVersion", &s.SecretVersion)
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 SecretArchiveSettings.
func (s SecretArchiveSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "associatedIdentity", s.AssociatedIdentity)
populate(objectMap, "vaultUri", s.VaultURI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecretArchiveSettings.
func (s *SecretArchiveSettings) 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 "associatedIdentity":
err = unpopulate(val, "AssociatedIdentity", &s.AssociatedIdentity)
delete(rawMsg, key)
case "vaultUri":
err = unpopulate(val, "VaultURI", &s.VaultURI)
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 SecretRotationStatus.
func (s SecretRotationStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "expirePeriodDays", s.ExpirePeriodDays)
populateDateTimeRFC3339(objectMap, "lastRotationTime", s.LastRotationTime)
populate(objectMap, "rotationPeriodDays", s.RotationPeriodDays)
populate(objectMap, "secretArchiveReference", s.SecretArchiveReference)
populate(objectMap, "secretType", s.SecretType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecretRotationStatus.
func (s *SecretRotationStatus) 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 "expirePeriodDays":
err = unpopulate(val, "ExpirePeriodDays", &s.ExpirePeriodDays)
delete(rawMsg, key)
case "lastRotationTime":
err = unpopulateDateTimeRFC3339(val, "LastRotationTime", &s.LastRotationTime)
delete(rawMsg, key)
case "rotationPeriodDays":
err = unpopulate(val, "RotationPeriodDays", &s.RotationPeriodDays)
delete(rawMsg, key)
case "secretArchiveReference":
err = unpopulate(val, "SecretArchiveReference", &s.SecretArchiveReference)
delete(rawMsg, key)
case "secretType":
err = unpopulate(val, "SecretType", &s.SecretType)
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 ServiceLoadBalancerBgpPeer.
func (s ServiceLoadBalancerBgpPeer) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bfdEnabled", s.BfdEnabled)
populate(objectMap, "bgpMultiHop", s.BgpMultiHop)
populate(objectMap, "holdTime", s.HoldTime)
populate(objectMap, "keepAliveTime", s.KeepAliveTime)
populate(objectMap, "myAsn", s.MyAsn)
populate(objectMap, "name", s.Name)
populate(objectMap, "password", s.Password)
populate(objectMap, "peerAddress", s.PeerAddress)
populate(objectMap, "peerAsn", s.PeerAsn)
populate(objectMap, "peerPort", s.PeerPort)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServiceLoadBalancerBgpPeer.
func (s *ServiceLoadBalancerBgpPeer) 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 "bfdEnabled":
err = unpopulate(val, "BfdEnabled", &s.BfdEnabled)
delete(rawMsg, key)
case "bgpMultiHop":
err = unpopulate(val, "BgpMultiHop", &s.BgpMultiHop)
delete(rawMsg, key)
case "holdTime":
err = unpopulate(val, "HoldTime", &s.HoldTime)
delete(rawMsg, key)
case "keepAliveTime":
err = unpopulate(val, "KeepAliveTime", &s.KeepAliveTime)
delete(rawMsg, key)
case "myAsn":
err = unpopulate(val, "MyAsn", &s.MyAsn)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "password":
err = unpopulate(val, "Password", &s.Password)
delete(rawMsg, key)
case "peerAddress":
err = unpopulate(val, "PeerAddress", &s.PeerAddress)
delete(rawMsg, key)
case "peerAsn":
err = unpopulate(val, "PeerAsn", &s.PeerAsn)
delete(rawMsg, key)
case "peerPort":
err = unpopulate(val, "PeerPort", &s.PeerPort)
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 ServicePrincipalInformation.
func (s ServicePrincipalInformation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "applicationId", s.ApplicationID)
populate(objectMap, "password", s.Password)
populate(objectMap, "principalId", s.PrincipalID)
populate(objectMap, "tenantId", s.TenantID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ServicePrincipalInformation.
func (s *ServicePrincipalInformation) 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 "applicationId":
err = unpopulate(val, "ApplicationID", &s.ApplicationID)
delete(rawMsg, key)
case "password":
err = unpopulate(val, "Password", &s.Password)
delete(rawMsg, key)
case "principalId":
err = unpopulate(val, "PrincipalID", &s.PrincipalID)
delete(rawMsg, key)
case "tenantId":
err = unpopulate(val, "TenantID", &s.TenantID)
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 StorageAppliance.
func (s StorageAppliance) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", s.ExtendedLocation)
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 StorageAppliance.
func (s *StorageAppliance) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &s.ExtendedLocation)
delete(rawMsg, 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":
err = unpopulate(val, "Properties", &s.Properties)
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 StorageApplianceConfigurationData.
func (s StorageApplianceConfigurationData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adminCredentials", s.AdminCredentials)
populate(objectMap, "rackSlot", s.RackSlot)
populate(objectMap, "serialNumber", s.SerialNumber)
populate(objectMap, "storageApplianceName", s.StorageApplianceName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageApplianceConfigurationData.
func (s *StorageApplianceConfigurationData) 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 "adminCredentials":
err = unpopulate(val, "AdminCredentials", &s.AdminCredentials)
delete(rawMsg, key)
case "rackSlot":
err = unpopulate(val, "RackSlot", &s.RackSlot)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &s.SerialNumber)
delete(rawMsg, key)
case "storageApplianceName":
err = unpopulate(val, "StorageApplianceName", &s.StorageApplianceName)
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 StorageApplianceEnableRemoteVendorManagementParameters.
func (s StorageApplianceEnableRemoteVendorManagementParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "supportEndpoints", s.SupportEndpoints)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageApplianceEnableRemoteVendorManagementParameters.
func (s *StorageApplianceEnableRemoteVendorManagementParameters) 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 "supportEndpoints":
err = unpopulate(val, "SupportEndpoints", &s.SupportEndpoints)
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 StorageApplianceList.
func (s StorageApplianceList) 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 StorageApplianceList.
func (s *StorageApplianceList) 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 StorageAppliancePatchParameters.
func (s StorageAppliancePatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", s.Properties)
populate(objectMap, "tags", s.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageAppliancePatchParameters.
func (s *StorageAppliancePatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &s.Properties)
delete(rawMsg, 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 StorageAppliancePatchProperties.
func (s StorageAppliancePatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "serialNumber", s.SerialNumber)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageAppliancePatchProperties.
func (s *StorageAppliancePatchProperties) 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 "serialNumber":
err = unpopulate(val, "SerialNumber", &s.SerialNumber)
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 StorageApplianceProperties.
func (s StorageApplianceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "administratorCredentials", s.AdministratorCredentials)
populate(objectMap, "capacity", s.Capacity)
populate(objectMap, "capacityUsed", s.CapacityUsed)
populate(objectMap, "clusterId", s.ClusterID)
populate(objectMap, "detailedStatus", s.DetailedStatus)
populate(objectMap, "detailedStatusMessage", s.DetailedStatusMessage)
populate(objectMap, "managementIpv4Address", s.ManagementIPv4Address)
populate(objectMap, "manufacturer", s.Manufacturer)
populate(objectMap, "model", s.Model)
populate(objectMap, "provisioningState", s.ProvisioningState)
populate(objectMap, "rackId", s.RackID)
populate(objectMap, "rackSlot", s.RackSlot)
populate(objectMap, "remoteVendorManagementFeature", s.RemoteVendorManagementFeature)
populate(objectMap, "remoteVendorManagementStatus", s.RemoteVendorManagementStatus)
populate(objectMap, "secretRotationStatus", s.SecretRotationStatus)
populate(objectMap, "serialNumber", s.SerialNumber)
populate(objectMap, "storageApplianceSkuId", s.StorageApplianceSKUID)
populate(objectMap, "version", s.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageApplianceProperties.
func (s *StorageApplianceProperties) 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 "administratorCredentials":
err = unpopulate(val, "AdministratorCredentials", &s.AdministratorCredentials)
delete(rawMsg, key)
case "capacity":
err = unpopulate(val, "Capacity", &s.Capacity)
delete(rawMsg, key)
case "capacityUsed":
err = unpopulate(val, "CapacityUsed", &s.CapacityUsed)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &s.ClusterID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &s.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &s.DetailedStatusMessage)
delete(rawMsg, key)
case "managementIpv4Address":
err = unpopulate(val, "ManagementIPv4Address", &s.ManagementIPv4Address)
delete(rawMsg, key)
case "manufacturer":
err = unpopulate(val, "Manufacturer", &s.Manufacturer)
delete(rawMsg, key)
case "model":
err = unpopulate(val, "Model", &s.Model)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &s.ProvisioningState)
delete(rawMsg, key)
case "rackId":
err = unpopulate(val, "RackID", &s.RackID)
delete(rawMsg, key)
case "rackSlot":
err = unpopulate(val, "RackSlot", &s.RackSlot)
delete(rawMsg, key)
case "remoteVendorManagementFeature":
err = unpopulate(val, "RemoteVendorManagementFeature", &s.RemoteVendorManagementFeature)
delete(rawMsg, key)
case "remoteVendorManagementStatus":
err = unpopulate(val, "RemoteVendorManagementStatus", &s.RemoteVendorManagementStatus)
delete(rawMsg, key)
case "secretRotationStatus":
err = unpopulate(val, "SecretRotationStatus", &s.SecretRotationStatus)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &s.SerialNumber)
delete(rawMsg, key)
case "storageApplianceSkuId":
err = unpopulate(val, "StorageApplianceSKUID", &s.StorageApplianceSKUID)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &s.Version)
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 StorageApplianceSKUProperties.
func (s StorageApplianceSKUProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "capacityGB", s.CapacityGB)
populate(objectMap, "model", s.Model)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageApplianceSKUProperties.
func (s *StorageApplianceSKUProperties) 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 "capacityGB":
err = unpopulate(val, "CapacityGB", &s.CapacityGB)
delete(rawMsg, key)
case "model":
err = unpopulate(val, "Model", &s.Model)
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 StorageApplianceSKUSlot.
func (s StorageApplianceSKUSlot) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", s.Properties)
populate(objectMap, "rackSlot", s.RackSlot)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageApplianceSKUSlot.
func (s *StorageApplianceSKUSlot) 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 "properties":
err = unpopulate(val, "Properties", &s.Properties)
delete(rawMsg, key)
case "rackSlot":
err = unpopulate(val, "RackSlot", &s.RackSlot)
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 StorageProfile.
func (s StorageProfile) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "osDisk", s.OSDisk)
populate(objectMap, "volumeAttachments", s.VolumeAttachments)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageProfile.
func (s *StorageProfile) 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 "osDisk":
err = unpopulate(val, "OSDisk", &s.OSDisk)
delete(rawMsg, key)
case "volumeAttachments":
err = unpopulate(val, "VolumeAttachments", &s.VolumeAttachments)
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 StringKeyValuePair.
func (s StringKeyValuePair) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "key", s.Key)
populate(objectMap, "value", s.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StringKeyValuePair.
func (s *StringKeyValuePair) 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 "key":
err = unpopulate(val, "Key", &s.Key)
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 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 TrunkedNetwork.
func (t TrunkedNetwork) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", t.ExtendedLocation)
populate(objectMap, "id", t.ID)
populate(objectMap, "location", t.Location)
populate(objectMap, "name", t.Name)
populate(objectMap, "properties", t.Properties)
populate(objectMap, "systemData", t.SystemData)
populate(objectMap, "tags", t.Tags)
populate(objectMap, "type", t.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TrunkedNetwork.
func (t *TrunkedNetwork) 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", t, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &t.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &t.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &t.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &t.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &t.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &t.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &t.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &t.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", t, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type TrunkedNetworkAttachmentConfiguration.
func (t TrunkedNetworkAttachmentConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "networkId", t.NetworkID)
populate(objectMap, "pluginType", t.PluginType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TrunkedNetworkAttachmentConfiguration.
func (t *TrunkedNetworkAttachmentConfiguration) 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", t, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "networkId":
err = unpopulate(val, "NetworkID", &t.NetworkID)
delete(rawMsg, key)
case "pluginType":
err = unpopulate(val, "PluginType", &t.PluginType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", t, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type TrunkedNetworkList.
func (t TrunkedNetworkList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", t.NextLink)
populate(objectMap, "value", t.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TrunkedNetworkList.
func (t *TrunkedNetworkList) 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", t, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &t.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &t.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", t, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type TrunkedNetworkPatchParameters.
func (t TrunkedNetworkPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", t.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TrunkedNetworkPatchParameters.
func (t *TrunkedNetworkPatchParameters) 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", t, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "tags":
err = unpopulate(val, "Tags", &t.Tags)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", t, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type TrunkedNetworkProperties.
func (t TrunkedNetworkProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "associatedResourceIds", t.AssociatedResourceIDs)
populate(objectMap, "clusterId", t.ClusterID)
populate(objectMap, "detailedStatus", t.DetailedStatus)
populate(objectMap, "detailedStatusMessage", t.DetailedStatusMessage)
populate(objectMap, "hybridAksClustersAssociatedIds", t.HybridAksClustersAssociatedIDs)
populate(objectMap, "hybridAksPluginType", t.HybridAksPluginType)
populate(objectMap, "interfaceName", t.InterfaceName)
populate(objectMap, "isolationDomainIds", t.IsolationDomainIDs)
populate(objectMap, "provisioningState", t.ProvisioningState)
populate(objectMap, "virtualMachinesAssociatedIds", t.VirtualMachinesAssociatedIDs)
populate(objectMap, "vlans", t.Vlans)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TrunkedNetworkProperties.
func (t *TrunkedNetworkProperties) 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", t, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "associatedResourceIds":
err = unpopulate(val, "AssociatedResourceIDs", &t.AssociatedResourceIDs)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &t.ClusterID)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &t.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &t.DetailedStatusMessage)
delete(rawMsg, key)
case "hybridAksClustersAssociatedIds":
err = unpopulate(val, "HybridAksClustersAssociatedIDs", &t.HybridAksClustersAssociatedIDs)
delete(rawMsg, key)
case "hybridAksPluginType":
err = unpopulate(val, "HybridAksPluginType", &t.HybridAksPluginType)
delete(rawMsg, key)
case "interfaceName":
err = unpopulate(val, "InterfaceName", &t.InterfaceName)
delete(rawMsg, key)
case "isolationDomainIds":
err = unpopulate(val, "IsolationDomainIDs", &t.IsolationDomainIDs)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &t.ProvisioningState)
delete(rawMsg, key)
case "virtualMachinesAssociatedIds":
err = unpopulate(val, "VirtualMachinesAssociatedIDs", &t.VirtualMachinesAssociatedIDs)
delete(rawMsg, key)
case "vlans":
err = unpopulate(val, "Vlans", &t.Vlans)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", t, 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 ValidationThreshold.
func (v ValidationThreshold) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "grouping", v.Grouping)
populate(objectMap, "type", v.Type)
populate(objectMap, "value", v.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ValidationThreshold.
func (v *ValidationThreshold) 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 "grouping":
err = unpopulate(val, "Grouping", &v.Grouping)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &v.Value)
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 VirtualMachine.
func (v VirtualMachine) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", v.ExtendedLocation)
populate(objectMap, "id", v.ID)
populate(objectMap, "location", v.Location)
populate(objectMap, "name", v.Name)
populate(objectMap, "properties", v.Properties)
populate(objectMap, "systemData", v.SystemData)
populate(objectMap, "tags", v.Tags)
populate(objectMap, "type", v.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachine.
func (v *VirtualMachine) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &v.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &v.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &v.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &v.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &v.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &v.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &v.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &v.Type)
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 VirtualMachineList.
func (v VirtualMachineList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", v.NextLink)
populate(objectMap, "value", v.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachineList.
func (v *VirtualMachineList) 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 "nextLink":
err = unpopulate(val, "NextLink", &v.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &v.Value)
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 VirtualMachinePatchParameters.
func (v VirtualMachinePatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", v.Properties)
populate(objectMap, "tags", v.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachinePatchParameters.
func (v *VirtualMachinePatchParameters) 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 "properties":
err = unpopulate(val, "Properties", &v.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &v.Tags)
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 VirtualMachinePatchProperties.
func (v VirtualMachinePatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "vmImageRepositoryCredentials", v.VMImageRepositoryCredentials)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachinePatchProperties.
func (v *VirtualMachinePatchProperties) 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 "vmImageRepositoryCredentials":
err = unpopulate(val, "VMImageRepositoryCredentials", &v.VMImageRepositoryCredentials)
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 VirtualMachinePlacementHint.
func (v VirtualMachinePlacementHint) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "hintType", v.HintType)
populate(objectMap, "resourceId", v.ResourceID)
populate(objectMap, "schedulingExecution", v.SchedulingExecution)
populate(objectMap, "scope", v.Scope)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachinePlacementHint.
func (v *VirtualMachinePlacementHint) 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 "hintType":
err = unpopulate(val, "HintType", &v.HintType)
delete(rawMsg, key)
case "resourceId":
err = unpopulate(val, "ResourceID", &v.ResourceID)
delete(rawMsg, key)
case "schedulingExecution":
err = unpopulate(val, "SchedulingExecution", &v.SchedulingExecution)
delete(rawMsg, key)
case "scope":
err = unpopulate(val, "Scope", &v.Scope)
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 VirtualMachinePowerOffParameters.
func (v VirtualMachinePowerOffParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "skipShutdown", v.SkipShutdown)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachinePowerOffParameters.
func (v *VirtualMachinePowerOffParameters) 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 "skipShutdown":
err = unpopulate(val, "SkipShutdown", &v.SkipShutdown)
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 VirtualMachineProperties.
func (v VirtualMachineProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adminUsername", v.AdminUsername)
populate(objectMap, "availabilityZone", v.AvailabilityZone)
populate(objectMap, "bareMetalMachineId", v.BareMetalMachineID)
populate(objectMap, "bootMethod", v.BootMethod)
populate(objectMap, "cpuCores", v.CPUCores)
populate(objectMap, "cloudServicesNetworkAttachment", v.CloudServicesNetworkAttachment)
populate(objectMap, "clusterId", v.ClusterID)
populate(objectMap, "consoleExtendedLocation", v.ConsoleExtendedLocation)
populate(objectMap, "detailedStatus", v.DetailedStatus)
populate(objectMap, "detailedStatusMessage", v.DetailedStatusMessage)
populate(objectMap, "isolateEmulatorThread", v.IsolateEmulatorThread)
populate(objectMap, "memorySizeGB", v.MemorySizeGB)
populate(objectMap, "networkAttachments", v.NetworkAttachments)
populate(objectMap, "networkData", v.NetworkData)
populate(objectMap, "placementHints", v.PlacementHints)
populate(objectMap, "powerState", v.PowerState)
populate(objectMap, "provisioningState", v.ProvisioningState)
populate(objectMap, "sshPublicKeys", v.SSHPublicKeys)
populate(objectMap, "storageProfile", v.StorageProfile)
populate(objectMap, "userData", v.UserData)
populate(objectMap, "vmDeviceModel", v.VMDeviceModel)
populate(objectMap, "vmImage", v.VMImage)
populate(objectMap, "vmImageRepositoryCredentials", v.VMImageRepositoryCredentials)
populate(objectMap, "virtioInterface", v.VirtioInterface)
populate(objectMap, "volumes", v.Volumes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachineProperties.
func (v *VirtualMachineProperties) 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 "adminUsername":
err = unpopulate(val, "AdminUsername", &v.AdminUsername)
delete(rawMsg, key)
case "availabilityZone":
err = unpopulate(val, "AvailabilityZone", &v.AvailabilityZone)
delete(rawMsg, key)
case "bareMetalMachineId":
err = unpopulate(val, "BareMetalMachineID", &v.BareMetalMachineID)
delete(rawMsg, key)
case "bootMethod":
err = unpopulate(val, "BootMethod", &v.BootMethod)
delete(rawMsg, key)
case "cpuCores":
err = unpopulate(val, "CPUCores", &v.CPUCores)
delete(rawMsg, key)
case "cloudServicesNetworkAttachment":
err = unpopulate(val, "CloudServicesNetworkAttachment", &v.CloudServicesNetworkAttachment)
delete(rawMsg, key)
case "clusterId":
err = unpopulate(val, "ClusterID", &v.ClusterID)
delete(rawMsg, key)
case "consoleExtendedLocation":
err = unpopulate(val, "ConsoleExtendedLocation", &v.ConsoleExtendedLocation)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &v.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &v.DetailedStatusMessage)
delete(rawMsg, key)
case "isolateEmulatorThread":
err = unpopulate(val, "IsolateEmulatorThread", &v.IsolateEmulatorThread)
delete(rawMsg, key)
case "memorySizeGB":
err = unpopulate(val, "MemorySizeGB", &v.MemorySizeGB)
delete(rawMsg, key)
case "networkAttachments":
err = unpopulate(val, "NetworkAttachments", &v.NetworkAttachments)
delete(rawMsg, key)
case "networkData":
err = unpopulate(val, "NetworkData", &v.NetworkData)
delete(rawMsg, key)
case "placementHints":
err = unpopulate(val, "PlacementHints", &v.PlacementHints)
delete(rawMsg, key)
case "powerState":
err = unpopulate(val, "PowerState", &v.PowerState)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &v.ProvisioningState)
delete(rawMsg, key)
case "sshPublicKeys":
err = unpopulate(val, "SSHPublicKeys", &v.SSHPublicKeys)
delete(rawMsg, key)
case "storageProfile":
err = unpopulate(val, "StorageProfile", &v.StorageProfile)
delete(rawMsg, key)
case "userData":
err = unpopulate(val, "UserData", &v.UserData)
delete(rawMsg, key)
case "vmDeviceModel":
err = unpopulate(val, "VMDeviceModel", &v.VMDeviceModel)
delete(rawMsg, key)
case "vmImage":
err = unpopulate(val, "VMImage", &v.VMImage)
delete(rawMsg, key)
case "vmImageRepositoryCredentials":
err = unpopulate(val, "VMImageRepositoryCredentials", &v.VMImageRepositoryCredentials)
delete(rawMsg, key)
case "virtioInterface":
err = unpopulate(val, "VirtioInterface", &v.VirtioInterface)
delete(rawMsg, key)
case "volumes":
err = unpopulate(val, "Volumes", &v.Volumes)
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 Volume.
func (v Volume) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extendedLocation", v.ExtendedLocation)
populate(objectMap, "id", v.ID)
populate(objectMap, "location", v.Location)
populate(objectMap, "name", v.Name)
populate(objectMap, "properties", v.Properties)
populate(objectMap, "systemData", v.SystemData)
populate(objectMap, "tags", v.Tags)
populate(objectMap, "type", v.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Volume.
func (v *Volume) 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 "extendedLocation":
err = unpopulate(val, "ExtendedLocation", &v.ExtendedLocation)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &v.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &v.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &v.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &v.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &v.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &v.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &v.Type)
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 VolumeList.
func (v VolumeList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", v.NextLink)
populate(objectMap, "value", v.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VolumeList.
func (v *VolumeList) 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 "nextLink":
err = unpopulate(val, "NextLink", &v.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &v.Value)
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 VolumePatchParameters.
func (v VolumePatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", v.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VolumePatchParameters.
func (v *VolumePatchParameters) 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 "tags":
err = unpopulate(val, "Tags", &v.Tags)
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 VolumeProperties.
func (v VolumeProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "attachedTo", v.AttachedTo)
populate(objectMap, "detailedStatus", v.DetailedStatus)
populate(objectMap, "detailedStatusMessage", v.DetailedStatusMessage)
populate(objectMap, "provisioningState", v.ProvisioningState)
populate(objectMap, "serialNumber", v.SerialNumber)
populate(objectMap, "sizeMiB", v.SizeMiB)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VolumeProperties.
func (v *VolumeProperties) 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 "attachedTo":
err = unpopulate(val, "AttachedTo", &v.AttachedTo)
delete(rawMsg, key)
case "detailedStatus":
err = unpopulate(val, "DetailedStatus", &v.DetailedStatus)
delete(rawMsg, key)
case "detailedStatusMessage":
err = unpopulate(val, "DetailedStatusMessage", &v.DetailedStatusMessage)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &v.ProvisioningState)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &v.SerialNumber)
delete(rawMsg, key)
case "sizeMiB":
err = unpopulate(val, "SizeMiB", &v.SizeMiB)
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 VulnerabilityScanningSettings.
func (v VulnerabilityScanningSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "containerScan", v.ContainerScan)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VulnerabilityScanningSettings.
func (v *VulnerabilityScanningSettings) 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 "containerScan":
err = unpopulate(val, "ContainerScan", &v.ContainerScan)
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 VulnerabilityScanningSettingsPatch.
func (v VulnerabilityScanningSettingsPatch) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "containerScan", v.ContainerScan)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VulnerabilityScanningSettingsPatch.
func (v *VulnerabilityScanningSettingsPatch) 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 "containerScan":
err = unpopulate(val, "ContainerScan", &v.ContainerScan)
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
}