sdk/resourcemanager/azurestackhci/armazurestackhci/models_serde.go (5,021 lines of code) (raw):
//go:build go1.18
// +build go1.18
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
package armazurestackhci
import (
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
)
// MarshalJSON implements the json.Marshaller interface for type ArcIdentityResponse.
func (a ArcIdentityResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", a.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ArcIdentityResponse.
func (a *ArcIdentityResponse) UnmarshalJSON(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)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ArcIdentityResponseProperties.
func (a ArcIdentityResponseProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "arcApplicationClientId", a.ArcApplicationClientID)
populate(objectMap, "arcApplicationObjectId", a.ArcApplicationObjectID)
populate(objectMap, "arcApplicationTenantId", a.ArcApplicationTenantID)
populate(objectMap, "arcServicePrincipalObjectId", a.ArcServicePrincipalObjectID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ArcIdentityResponseProperties.
func (a *ArcIdentityResponseProperties) UnmarshalJSON(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 "arcApplicationClientId":
err = unpopulate(val, "ArcApplicationClientID", &a.ArcApplicationClientID)
delete(rawMsg, key)
case "arcApplicationObjectId":
err = unpopulate(val, "ArcApplicationObjectID", &a.ArcApplicationObjectID)
delete(rawMsg, key)
case "arcApplicationTenantId":
err = unpopulate(val, "ArcApplicationTenantID", &a.ArcApplicationTenantID)
delete(rawMsg, key)
case "arcServicePrincipalObjectId":
err = unpopulate(val, "ArcServicePrincipalObjectID", &a.ArcServicePrincipalObjectID)
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 ArcSetting.
func (a ArcSetting) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ArcSetting.
func (a *ArcSetting) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "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 "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 ArcSettingList.
func (a ArcSettingList) 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 ArcSettingList.
func (a *ArcSettingList) UnmarshalJSON(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 ArcSettingProperties.
func (a ArcSettingProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "aggregateState", a.AggregateState)
populate(objectMap, "arcApplicationClientId", a.ArcApplicationClientID)
populate(objectMap, "arcApplicationObjectId", a.ArcApplicationObjectID)
populate(objectMap, "arcApplicationTenantId", a.ArcApplicationTenantID)
populate(objectMap, "arcInstanceResourceGroup", a.ArcInstanceResourceGroup)
populate(objectMap, "arcServicePrincipalObjectId", a.ArcServicePrincipalObjectID)
populateAny(objectMap, "connectivityProperties", a.ConnectivityProperties)
populate(objectMap, "defaultExtensions", a.DefaultExtensions)
populate(objectMap, "perNodeDetails", a.PerNodeDetails)
populate(objectMap, "provisioningState", a.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ArcSettingProperties.
func (a *ArcSettingProperties) UnmarshalJSON(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 "aggregateState":
err = unpopulate(val, "AggregateState", &a.AggregateState)
delete(rawMsg, key)
case "arcApplicationClientId":
err = unpopulate(val, "ArcApplicationClientID", &a.ArcApplicationClientID)
delete(rawMsg, key)
case "arcApplicationObjectId":
err = unpopulate(val, "ArcApplicationObjectID", &a.ArcApplicationObjectID)
delete(rawMsg, key)
case "arcApplicationTenantId":
err = unpopulate(val, "ArcApplicationTenantID", &a.ArcApplicationTenantID)
delete(rawMsg, key)
case "arcInstanceResourceGroup":
err = unpopulate(val, "ArcInstanceResourceGroup", &a.ArcInstanceResourceGroup)
delete(rawMsg, key)
case "arcServicePrincipalObjectId":
err = unpopulate(val, "ArcServicePrincipalObjectID", &a.ArcServicePrincipalObjectID)
delete(rawMsg, key)
case "connectivityProperties":
err = unpopulate(val, "ConnectivityProperties", &a.ConnectivityProperties)
delete(rawMsg, key)
case "defaultExtensions":
err = unpopulate(val, "DefaultExtensions", &a.DefaultExtensions)
delete(rawMsg, key)
case "perNodeDetails":
err = unpopulate(val, "PerNodeDetails", &a.PerNodeDetails)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &a.ProvisioningState)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ArcSettingsPatch.
func (a ArcSettingsPatch) 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 ArcSettingsPatch.
func (a *ArcSettingsPatch) UnmarshalJSON(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 ArcSettingsPatchProperties.
func (a ArcSettingsPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateAny(objectMap, "connectivityProperties", a.ConnectivityProperties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ArcSettingsPatchProperties.
func (a *ArcSettingsPatchProperties) UnmarshalJSON(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 "connectivityProperties":
err = unpopulate(val, "ConnectivityProperties", &a.ConnectivityProperties)
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 Cluster.
func (c Cluster) 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 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 "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 ClusterDesiredProperties.
func (c ClusterDesiredProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "diagnosticLevel", c.DiagnosticLevel)
populate(objectMap, "windowsServerSubscription", c.WindowsServerSubscription)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterDesiredProperties.
func (c *ClusterDesiredProperties) UnmarshalJSON(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 "diagnosticLevel":
err = unpopulate(val, "DiagnosticLevel", &c.DiagnosticLevel)
delete(rawMsg, key)
case "windowsServerSubscription":
err = unpopulate(val, "WindowsServerSubscription", &c.WindowsServerSubscription)
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 ClusterIdentityResponse.
func (c ClusterIdentityResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", c.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterIdentityResponse.
func (c *ClusterIdentityResponse) UnmarshalJSON(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)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClusterIdentityResponseProperties.
func (c ClusterIdentityResponseProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "aadApplicationObjectId", c.AADApplicationObjectID)
populate(objectMap, "aadClientId", c.AADClientID)
populate(objectMap, "aadServicePrincipalObjectId", c.AADServicePrincipalObjectID)
populate(objectMap, "aadTenantId", c.AADTenantID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterIdentityResponseProperties.
func (c *ClusterIdentityResponseProperties) UnmarshalJSON(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 "aadApplicationObjectId":
err = unpopulate(val, "AADApplicationObjectID", &c.AADApplicationObjectID)
delete(rawMsg, key)
case "aadClientId":
err = unpopulate(val, "AADClientID", &c.AADClientID)
delete(rawMsg, key)
case "aadServicePrincipalObjectId":
err = unpopulate(val, "AADServicePrincipalObjectID", &c.AADServicePrincipalObjectID)
delete(rawMsg, key)
case "aadTenantId":
err = unpopulate(val, "AADTenantID", &c.AADTenantID)
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 ClusterNode.
func (c ClusterNode) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "coreCount", c.CoreCount)
populate(objectMap, "ehcResourceId", c.EhcResourceID)
populate(objectMap, "id", c.ID)
populateDateTimeRFC3339(objectMap, "lastLicensingTimestamp", c.LastLicensingTimestamp)
populate(objectMap, "manufacturer", c.Manufacturer)
populate(objectMap, "memoryInGiB", c.MemoryInGiB)
populate(objectMap, "model", c.Model)
populate(objectMap, "name", c.Name)
populate(objectMap, "nodeType", c.NodeType)
populate(objectMap, "osDisplayVersion", c.OSDisplayVersion)
populate(objectMap, "osName", c.OSName)
populate(objectMap, "osVersion", c.OSVersion)
populate(objectMap, "oemActivation", c.OemActivation)
populate(objectMap, "serialNumber", c.SerialNumber)
populate(objectMap, "windowsServerSubscription", c.WindowsServerSubscription)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterNode.
func (c *ClusterNode) UnmarshalJSON(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 "coreCount":
err = unpopulate(val, "CoreCount", &c.CoreCount)
delete(rawMsg, key)
case "ehcResourceId":
err = unpopulate(val, "EhcResourceID", &c.EhcResourceID)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "lastLicensingTimestamp":
err = unpopulateDateTimeRFC3339(val, "LastLicensingTimestamp", &c.LastLicensingTimestamp)
delete(rawMsg, key)
case "manufacturer":
err = unpopulate(val, "Manufacturer", &c.Manufacturer)
delete(rawMsg, key)
case "memoryInGiB":
err = unpopulate(val, "MemoryInGiB", &c.MemoryInGiB)
delete(rawMsg, key)
case "model":
err = unpopulate(val, "Model", &c.Model)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "nodeType":
err = unpopulate(val, "NodeType", &c.NodeType)
delete(rawMsg, key)
case "osDisplayVersion":
err = unpopulate(val, "OSDisplayVersion", &c.OSDisplayVersion)
delete(rawMsg, key)
case "osName":
err = unpopulate(val, "OSName", &c.OSName)
delete(rawMsg, key)
case "osVersion":
err = unpopulate(val, "OSVersion", &c.OSVersion)
delete(rawMsg, key)
case "oemActivation":
err = unpopulate(val, "OemActivation", &c.OemActivation)
delete(rawMsg, key)
case "serialNumber":
err = unpopulate(val, "SerialNumber", &c.SerialNumber)
delete(rawMsg, key)
case "windowsServerSubscription":
err = unpopulate(val, "WindowsServerSubscription", &c.WindowsServerSubscription)
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 ClusterPatch.
func (c ClusterPatch) 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 ClusterPatch.
func (c *ClusterPatch) UnmarshalJSON(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, "aadClientId", c.AADClientID)
populate(objectMap, "aadTenantId", c.AADTenantID)
populate(objectMap, "cloudManagementEndpoint", c.CloudManagementEndpoint)
populate(objectMap, "desiredProperties", c.DesiredProperties)
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 "aadClientId":
err = unpopulate(val, "AADClientID", &c.AADClientID)
delete(rawMsg, key)
case "aadTenantId":
err = unpopulate(val, "AADTenantID", &c.AADTenantID)
delete(rawMsg, key)
case "cloudManagementEndpoint":
err = unpopulate(val, "CloudManagementEndpoint", &c.CloudManagementEndpoint)
delete(rawMsg, key)
case "desiredProperties":
err = unpopulate(val, "DesiredProperties", &c.DesiredProperties)
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, "aadApplicationObjectId", c.AADApplicationObjectID)
populate(objectMap, "aadClientId", c.AADClientID)
populate(objectMap, "aadServicePrincipalObjectId", c.AADServicePrincipalObjectID)
populate(objectMap, "aadTenantId", c.AADTenantID)
populate(objectMap, "billingModel", c.BillingModel)
populate(objectMap, "cloudId", c.CloudID)
populate(objectMap, "cloudManagementEndpoint", c.CloudManagementEndpoint)
populate(objectMap, "connectivityStatus", c.ConnectivityStatus)
populate(objectMap, "desiredProperties", c.DesiredProperties)
populate(objectMap, "isolatedVmAttestationConfiguration", c.IsolatedVMAttestationConfiguration)
populateDateTimeRFC3339(objectMap, "lastBillingTimestamp", c.LastBillingTimestamp)
populateDateTimeRFC3339(objectMap, "lastSyncTimestamp", c.LastSyncTimestamp)
populate(objectMap, "logCollectionProperties", c.LogCollectionProperties)
populate(objectMap, "provisioningState", c.ProvisioningState)
populateDateTimeRFC3339(objectMap, "registrationTimestamp", c.RegistrationTimestamp)
populate(objectMap, "remoteSupportProperties", c.RemoteSupportProperties)
populate(objectMap, "reportedProperties", c.ReportedProperties)
populate(objectMap, "resourceProviderObjectId", c.ResourceProviderObjectID)
populate(objectMap, "serviceEndpoint", c.ServiceEndpoint)
populate(objectMap, "softwareAssuranceProperties", c.SoftwareAssuranceProperties)
populate(objectMap, "status", c.Status)
populate(objectMap, "trialDaysRemaining", c.TrialDaysRemaining)
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 "aadApplicationObjectId":
err = unpopulate(val, "AADApplicationObjectID", &c.AADApplicationObjectID)
delete(rawMsg, key)
case "aadClientId":
err = unpopulate(val, "AADClientID", &c.AADClientID)
delete(rawMsg, key)
case "aadServicePrincipalObjectId":
err = unpopulate(val, "AADServicePrincipalObjectID", &c.AADServicePrincipalObjectID)
delete(rawMsg, key)
case "aadTenantId":
err = unpopulate(val, "AADTenantID", &c.AADTenantID)
delete(rawMsg, key)
case "billingModel":
err = unpopulate(val, "BillingModel", &c.BillingModel)
delete(rawMsg, key)
case "cloudId":
err = unpopulate(val, "CloudID", &c.CloudID)
delete(rawMsg, key)
case "cloudManagementEndpoint":
err = unpopulate(val, "CloudManagementEndpoint", &c.CloudManagementEndpoint)
delete(rawMsg, key)
case "connectivityStatus":
err = unpopulate(val, "ConnectivityStatus", &c.ConnectivityStatus)
delete(rawMsg, key)
case "desiredProperties":
err = unpopulate(val, "DesiredProperties", &c.DesiredProperties)
delete(rawMsg, key)
case "isolatedVmAttestationConfiguration":
err = unpopulate(val, "IsolatedVMAttestationConfiguration", &c.IsolatedVMAttestationConfiguration)
delete(rawMsg, key)
case "lastBillingTimestamp":
err = unpopulateDateTimeRFC3339(val, "LastBillingTimestamp", &c.LastBillingTimestamp)
delete(rawMsg, key)
case "lastSyncTimestamp":
err = unpopulateDateTimeRFC3339(val, "LastSyncTimestamp", &c.LastSyncTimestamp)
delete(rawMsg, key)
case "logCollectionProperties":
err = unpopulate(val, "LogCollectionProperties", &c.LogCollectionProperties)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &c.ProvisioningState)
delete(rawMsg, key)
case "registrationTimestamp":
err = unpopulateDateTimeRFC3339(val, "RegistrationTimestamp", &c.RegistrationTimestamp)
delete(rawMsg, key)
case "remoteSupportProperties":
err = unpopulate(val, "RemoteSupportProperties", &c.RemoteSupportProperties)
delete(rawMsg, key)
case "reportedProperties":
err = unpopulate(val, "ReportedProperties", &c.ReportedProperties)
delete(rawMsg, key)
case "resourceProviderObjectId":
err = unpopulate(val, "ResourceProviderObjectID", &c.ResourceProviderObjectID)
delete(rawMsg, key)
case "serviceEndpoint":
err = unpopulate(val, "ServiceEndpoint", &c.ServiceEndpoint)
delete(rawMsg, key)
case "softwareAssuranceProperties":
err = unpopulate(val, "SoftwareAssuranceProperties", &c.SoftwareAssuranceProperties)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &c.Status)
delete(rawMsg, key)
case "trialDaysRemaining":
err = unpopulate(val, "TrialDaysRemaining", &c.TrialDaysRemaining)
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 ClusterReportedProperties.
func (c ClusterReportedProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "clusterId", c.ClusterID)
populate(objectMap, "clusterName", c.ClusterName)
populate(objectMap, "clusterType", c.ClusterType)
populate(objectMap, "clusterVersion", c.ClusterVersion)
populate(objectMap, "diagnosticLevel", c.DiagnosticLevel)
populate(objectMap, "imdsAttestation", c.ImdsAttestation)
populateDateTimeRFC3339(objectMap, "lastUpdated", c.LastUpdated)
populate(objectMap, "manufacturer", c.Manufacturer)
populate(objectMap, "nodes", c.Nodes)
populate(objectMap, "oemActivation", c.OemActivation)
populate(objectMap, "supportedCapabilities", c.SupportedCapabilities)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClusterReportedProperties.
func (c *ClusterReportedProperties) UnmarshalJSON(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 "clusterId":
err = unpopulate(val, "ClusterID", &c.ClusterID)
delete(rawMsg, key)
case "clusterName":
err = unpopulate(val, "ClusterName", &c.ClusterName)
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 "diagnosticLevel":
err = unpopulate(val, "DiagnosticLevel", &c.DiagnosticLevel)
delete(rawMsg, key)
case "imdsAttestation":
err = unpopulate(val, "ImdsAttestation", &c.ImdsAttestation)
delete(rawMsg, key)
case "lastUpdated":
err = unpopulateDateTimeRFC3339(val, "LastUpdated", &c.LastUpdated)
delete(rawMsg, key)
case "manufacturer":
err = unpopulate(val, "Manufacturer", &c.Manufacturer)
delete(rawMsg, key)
case "nodes":
err = unpopulate(val, "Nodes", &c.Nodes)
delete(rawMsg, key)
case "oemActivation":
err = unpopulate(val, "OemActivation", &c.OemActivation)
delete(rawMsg, key)
case "supportedCapabilities":
err = unpopulate(val, "SupportedCapabilities", &c.SupportedCapabilities)
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 DefaultExtensionDetails.
func (d DefaultExtensionDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "category", d.Category)
populateDateTimeRFC3339(objectMap, "consentTime", d.ConsentTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DefaultExtensionDetails.
func (d *DefaultExtensionDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "category":
err = unpopulate(val, "Category", &d.Category)
delete(rawMsg, key)
case "consentTime":
err = unpopulateDateTimeRFC3339(val, "ConsentTime", &d.ConsentTime)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentCluster.
func (d DeploymentCluster) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "azureServiceEndpoint", d.AzureServiceEndpoint)
populate(objectMap, "cloudAccountName", d.CloudAccountName)
populate(objectMap, "name", d.Name)
populate(objectMap, "witnessPath", d.WitnessPath)
populate(objectMap, "witnessType", d.WitnessType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentCluster.
func (d *DeploymentCluster) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "azureServiceEndpoint":
err = unpopulate(val, "AzureServiceEndpoint", &d.AzureServiceEndpoint)
delete(rawMsg, key)
case "cloudAccountName":
err = unpopulate(val, "CloudAccountName", &d.CloudAccountName)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "witnessPath":
err = unpopulate(val, "WitnessPath", &d.WitnessPath)
delete(rawMsg, key)
case "witnessType":
err = unpopulate(val, "WitnessType", &d.WitnessType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentConfiguration.
func (d DeploymentConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "scaleUnits", d.ScaleUnits)
populate(objectMap, "version", d.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentConfiguration.
func (d *DeploymentConfiguration) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "scaleUnits":
err = unpopulate(val, "ScaleUnits", &d.ScaleUnits)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &d.Version)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentData.
func (d DeploymentData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adouPath", d.AdouPath)
populate(objectMap, "cluster", d.Cluster)
populate(objectMap, "domainFqdn", d.DomainFqdn)
populate(objectMap, "hostNetwork", d.HostNetwork)
populate(objectMap, "infrastructureNetwork", d.InfrastructureNetwork)
populate(objectMap, "namingPrefix", d.NamingPrefix)
populate(objectMap, "observability", d.Observability)
populate(objectMap, "optionalServices", d.OptionalServices)
populate(objectMap, "physicalNodes", d.PhysicalNodes)
populate(objectMap, "sdnIntegration", d.SdnIntegration)
populate(objectMap, "secrets", d.Secrets)
populate(objectMap, "secretsLocation", d.SecretsLocation)
populate(objectMap, "securitySettings", d.SecuritySettings)
populate(objectMap, "storage", d.Storage)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentData.
func (d *DeploymentData) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "adouPath":
err = unpopulate(val, "AdouPath", &d.AdouPath)
delete(rawMsg, key)
case "cluster":
err = unpopulate(val, "Cluster", &d.Cluster)
delete(rawMsg, key)
case "domainFqdn":
err = unpopulate(val, "DomainFqdn", &d.DomainFqdn)
delete(rawMsg, key)
case "hostNetwork":
err = unpopulate(val, "HostNetwork", &d.HostNetwork)
delete(rawMsg, key)
case "infrastructureNetwork":
err = unpopulate(val, "InfrastructureNetwork", &d.InfrastructureNetwork)
delete(rawMsg, key)
case "namingPrefix":
err = unpopulate(val, "NamingPrefix", &d.NamingPrefix)
delete(rawMsg, key)
case "observability":
err = unpopulate(val, "Observability", &d.Observability)
delete(rawMsg, key)
case "optionalServices":
err = unpopulate(val, "OptionalServices", &d.OptionalServices)
delete(rawMsg, key)
case "physicalNodes":
err = unpopulate(val, "PhysicalNodes", &d.PhysicalNodes)
delete(rawMsg, key)
case "sdnIntegration":
err = unpopulate(val, "SdnIntegration", &d.SdnIntegration)
delete(rawMsg, key)
case "secrets":
err = unpopulate(val, "Secrets", &d.Secrets)
delete(rawMsg, key)
case "secretsLocation":
err = unpopulate(val, "SecretsLocation", &d.SecretsLocation)
delete(rawMsg, key)
case "securitySettings":
err = unpopulate(val, "SecuritySettings", &d.SecuritySettings)
delete(rawMsg, key)
case "storage":
err = unpopulate(val, "Storage", &d.Storage)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSecuritySettings.
func (d DeploymentSecuritySettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bitlockerBootVolume", d.BitlockerBootVolume)
populate(objectMap, "bitlockerDataVolumes", d.BitlockerDataVolumes)
populate(objectMap, "credentialGuardEnforced", d.CredentialGuardEnforced)
populate(objectMap, "driftControlEnforced", d.DriftControlEnforced)
populate(objectMap, "drtmProtection", d.DrtmProtection)
populate(objectMap, "hvciProtection", d.HvciProtection)
populate(objectMap, "sideChannelMitigationEnforced", d.SideChannelMitigationEnforced)
populate(objectMap, "smbClusterEncryption", d.SmbClusterEncryption)
populate(objectMap, "smbSigningEnforced", d.SmbSigningEnforced)
populate(objectMap, "wdacEnforced", d.WdacEnforced)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSecuritySettings.
func (d *DeploymentSecuritySettings) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "bitlockerBootVolume":
err = unpopulate(val, "BitlockerBootVolume", &d.BitlockerBootVolume)
delete(rawMsg, key)
case "bitlockerDataVolumes":
err = unpopulate(val, "BitlockerDataVolumes", &d.BitlockerDataVolumes)
delete(rawMsg, key)
case "credentialGuardEnforced":
err = unpopulate(val, "CredentialGuardEnforced", &d.CredentialGuardEnforced)
delete(rawMsg, key)
case "driftControlEnforced":
err = unpopulate(val, "DriftControlEnforced", &d.DriftControlEnforced)
delete(rawMsg, key)
case "drtmProtection":
err = unpopulate(val, "DrtmProtection", &d.DrtmProtection)
delete(rawMsg, key)
case "hvciProtection":
err = unpopulate(val, "HvciProtection", &d.HvciProtection)
delete(rawMsg, key)
case "sideChannelMitigationEnforced":
err = unpopulate(val, "SideChannelMitigationEnforced", &d.SideChannelMitigationEnforced)
delete(rawMsg, key)
case "smbClusterEncryption":
err = unpopulate(val, "SmbClusterEncryption", &d.SmbClusterEncryption)
delete(rawMsg, key)
case "smbSigningEnforced":
err = unpopulate(val, "SmbSigningEnforced", &d.SmbSigningEnforced)
delete(rawMsg, key)
case "wdacEnforced":
err = unpopulate(val, "WdacEnforced", &d.WdacEnforced)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSetting.
func (d DeploymentSetting) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", d.ID)
populate(objectMap, "name", d.Name)
populate(objectMap, "properties", d.Properties)
populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSetting.
func (d *DeploymentSetting) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &d.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingAdapterPropertyOverrides.
func (d DeploymentSettingAdapterPropertyOverrides) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "jumboPacket", d.JumboPacket)
populate(objectMap, "networkDirect", d.NetworkDirect)
populate(objectMap, "networkDirectTechnology", d.NetworkDirectTechnology)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingAdapterPropertyOverrides.
func (d *DeploymentSettingAdapterPropertyOverrides) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "jumboPacket":
err = unpopulate(val, "JumboPacket", &d.JumboPacket)
delete(rawMsg, key)
case "networkDirect":
err = unpopulate(val, "NetworkDirect", &d.NetworkDirect)
delete(rawMsg, key)
case "networkDirectTechnology":
err = unpopulate(val, "NetworkDirectTechnology", &d.NetworkDirectTechnology)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingHostNetwork.
func (d DeploymentSettingHostNetwork) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enableStorageAutoIp", d.EnableStorageAutoIP)
populate(objectMap, "intents", d.Intents)
populate(objectMap, "storageConnectivitySwitchless", d.StorageConnectivitySwitchless)
populate(objectMap, "storageNetworks", d.StorageNetworks)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingHostNetwork.
func (d *DeploymentSettingHostNetwork) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "enableStorageAutoIp":
err = unpopulate(val, "EnableStorageAutoIP", &d.EnableStorageAutoIP)
delete(rawMsg, key)
case "intents":
err = unpopulate(val, "Intents", &d.Intents)
delete(rawMsg, key)
case "storageConnectivitySwitchless":
err = unpopulate(val, "StorageConnectivitySwitchless", &d.StorageConnectivitySwitchless)
delete(rawMsg, key)
case "storageNetworks":
err = unpopulate(val, "StorageNetworks", &d.StorageNetworks)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingIntents.
func (d DeploymentSettingIntents) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adapter", d.Adapter)
populate(objectMap, "adapterPropertyOverrides", d.AdapterPropertyOverrides)
populate(objectMap, "name", d.Name)
populate(objectMap, "overrideAdapterProperty", d.OverrideAdapterProperty)
populate(objectMap, "overrideQosPolicy", d.OverrideQosPolicy)
populate(objectMap, "overrideVirtualSwitchConfiguration", d.OverrideVirtualSwitchConfiguration)
populate(objectMap, "qosPolicyOverrides", d.QosPolicyOverrides)
populate(objectMap, "trafficType", d.TrafficType)
populate(objectMap, "virtualSwitchConfigurationOverrides", d.VirtualSwitchConfigurationOverrides)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingIntents.
func (d *DeploymentSettingIntents) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "adapter":
err = unpopulate(val, "Adapter", &d.Adapter)
delete(rawMsg, key)
case "adapterPropertyOverrides":
err = unpopulate(val, "AdapterPropertyOverrides", &d.AdapterPropertyOverrides)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "overrideAdapterProperty":
err = unpopulate(val, "OverrideAdapterProperty", &d.OverrideAdapterProperty)
delete(rawMsg, key)
case "overrideQosPolicy":
err = unpopulate(val, "OverrideQosPolicy", &d.OverrideQosPolicy)
delete(rawMsg, key)
case "overrideVirtualSwitchConfiguration":
err = unpopulate(val, "OverrideVirtualSwitchConfiguration", &d.OverrideVirtualSwitchConfiguration)
delete(rawMsg, key)
case "qosPolicyOverrides":
err = unpopulate(val, "QosPolicyOverrides", &d.QosPolicyOverrides)
delete(rawMsg, key)
case "trafficType":
err = unpopulate(val, "TrafficType", &d.TrafficType)
delete(rawMsg, key)
case "virtualSwitchConfigurationOverrides":
err = unpopulate(val, "VirtualSwitchConfigurationOverrides", &d.VirtualSwitchConfigurationOverrides)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingListResult.
func (d DeploymentSettingListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", d.NextLink)
populate(objectMap, "value", d.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingListResult.
func (d *DeploymentSettingListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &d.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &d.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingStorageAdapterIPInfo.
func (d DeploymentSettingStorageAdapterIPInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipv4Address", d.IPv4Address)
populate(objectMap, "physicalNode", d.PhysicalNode)
populate(objectMap, "subnetMask", d.SubnetMask)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingStorageAdapterIPInfo.
func (d *DeploymentSettingStorageAdapterIPInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "ipv4Address":
err = unpopulate(val, "IPv4Address", &d.IPv4Address)
delete(rawMsg, key)
case "physicalNode":
err = unpopulate(val, "PhysicalNode", &d.PhysicalNode)
delete(rawMsg, key)
case "subnetMask":
err = unpopulate(val, "SubnetMask", &d.SubnetMask)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingStorageNetworks.
func (d DeploymentSettingStorageNetworks) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", d.Name)
populate(objectMap, "networkAdapterName", d.NetworkAdapterName)
populate(objectMap, "storageAdapterIPInfo", d.StorageAdapterIPInfo)
populate(objectMap, "vlanId", d.VlanID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingStorageNetworks.
func (d *DeploymentSettingStorageNetworks) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "networkAdapterName":
err = unpopulate(val, "NetworkAdapterName", &d.NetworkAdapterName)
delete(rawMsg, key)
case "storageAdapterIPInfo":
err = unpopulate(val, "StorageAdapterIPInfo", &d.StorageAdapterIPInfo)
delete(rawMsg, key)
case "vlanId":
err = unpopulate(val, "VlanID", &d.VlanID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingVirtualSwitchConfigurationOverrides.
func (d DeploymentSettingVirtualSwitchConfigurationOverrides) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enableIov", d.EnableIov)
populate(objectMap, "loadBalancingAlgorithm", d.LoadBalancingAlgorithm)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingVirtualSwitchConfigurationOverrides.
func (d *DeploymentSettingVirtualSwitchConfigurationOverrides) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "enableIov":
err = unpopulate(val, "EnableIov", &d.EnableIov)
delete(rawMsg, key)
case "loadBalancingAlgorithm":
err = unpopulate(val, "LoadBalancingAlgorithm", &d.LoadBalancingAlgorithm)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentSettingsProperties.
func (d DeploymentSettingsProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "arcNodeResourceIds", d.ArcNodeResourceIDs)
populate(objectMap, "deploymentConfiguration", d.DeploymentConfiguration)
populate(objectMap, "deploymentMode", d.DeploymentMode)
populate(objectMap, "operationType", d.OperationType)
populate(objectMap, "provisioningState", d.ProvisioningState)
populate(objectMap, "reportedProperties", d.ReportedProperties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentSettingsProperties.
func (d *DeploymentSettingsProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "arcNodeResourceIds":
err = unpopulate(val, "ArcNodeResourceIDs", &d.ArcNodeResourceIDs)
delete(rawMsg, key)
case "deploymentConfiguration":
err = unpopulate(val, "DeploymentConfiguration", &d.DeploymentConfiguration)
delete(rawMsg, key)
case "deploymentMode":
err = unpopulate(val, "DeploymentMode", &d.DeploymentMode)
delete(rawMsg, key)
case "operationType":
err = unpopulate(val, "OperationType", &d.OperationType)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &d.ProvisioningState)
delete(rawMsg, key)
case "reportedProperties":
err = unpopulate(val, "ReportedProperties", &d.ReportedProperties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeploymentStep.
func (d DeploymentStep) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", d.Description)
populate(objectMap, "endTimeUtc", d.EndTimeUTC)
populate(objectMap, "exception", d.Exception)
populate(objectMap, "fullStepIndex", d.FullStepIndex)
populate(objectMap, "name", d.Name)
populate(objectMap, "startTimeUtc", d.StartTimeUTC)
populate(objectMap, "status", d.Status)
populate(objectMap, "steps", d.Steps)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentStep.
func (d *DeploymentStep) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "description":
err = unpopulate(val, "Description", &d.Description)
delete(rawMsg, key)
case "endTimeUtc":
err = unpopulate(val, "EndTimeUTC", &d.EndTimeUTC)
delete(rawMsg, key)
case "exception":
err = unpopulate(val, "Exception", &d.Exception)
delete(rawMsg, key)
case "fullStepIndex":
err = unpopulate(val, "FullStepIndex", &d.FullStepIndex)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "startTimeUtc":
err = unpopulate(val, "StartTimeUTC", &d.StartTimeUTC)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &d.Status)
delete(rawMsg, key)
case "steps":
err = unpopulate(val, "Steps", &d.Steps)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeviceConfiguration.
func (d DeviceConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deviceMetadata", d.DeviceMetadata)
populate(objectMap, "nicDetails", d.NicDetails)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeviceConfiguration.
func (d *DeviceConfiguration) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "deviceMetadata":
err = unpopulate(val, "DeviceMetadata", &d.DeviceMetadata)
delete(rawMsg, key)
case "nicDetails":
err = unpopulate(val, "NicDetails", &d.NicDetails)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type EceActionStatus.
func (e EceActionStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "status", e.Status)
populate(objectMap, "steps", e.Steps)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EceActionStatus.
func (e *EceActionStatus) UnmarshalJSON(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 "status":
err = unpopulate(val, "Status", &e.Status)
delete(rawMsg, key)
case "steps":
err = unpopulate(val, "Steps", &e.Steps)
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 EceDeploymentSecrets.
func (e EceDeploymentSecrets) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eceSecretName", e.EceSecretName)
populate(objectMap, "secretLocation", e.SecretLocation)
populate(objectMap, "secretName", e.SecretName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EceDeploymentSecrets.
func (e *EceDeploymentSecrets) UnmarshalJSON(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 "eceSecretName":
err = unpopulate(val, "EceSecretName", &e.EceSecretName)
delete(rawMsg, key)
case "secretLocation":
err = unpopulate(val, "SecretLocation", &e.SecretLocation)
delete(rawMsg, key)
case "secretName":
err = unpopulate(val, "SecretName", &e.SecretName)
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 EceReportedProperties.
func (e EceReportedProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deploymentStatus", e.DeploymentStatus)
populate(objectMap, "validationStatus", e.ValidationStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EceReportedProperties.
func (e *EceReportedProperties) UnmarshalJSON(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 "deploymentStatus":
err = unpopulate(val, "DeploymentStatus", &e.DeploymentStatus)
delete(rawMsg, key)
case "validationStatus":
err = unpopulate(val, "ValidationStatus", &e.ValidationStatus)
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 EdgeDevice.
func (e EdgeDevice) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", e.ID)
objectMap["kind"] = e.Kind
populate(objectMap, "name", e.Name)
populate(objectMap, "systemData", e.SystemData)
populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EdgeDevice.
func (e *EdgeDevice) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &e.ID)
delete(rawMsg, key)
case "kind":
err = unpopulate(val, "Kind", &e.Kind)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &e.Name)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &e.SystemData)
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 EdgeDeviceListResult.
func (e EdgeDeviceListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", e.NextLink)
populate(objectMap, "value", e.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EdgeDeviceListResult.
func (e *EdgeDeviceListResult) UnmarshalJSON(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 "nextLink":
err = unpopulate(val, "NextLink", &e.NextLink)
delete(rawMsg, key)
case "value":
e.Value, err = unmarshalEdgeDeviceClassificationArray(val)
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 Extension.
func (e Extension) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", e.ID)
populate(objectMap, "name", e.Name)
populate(objectMap, "properties", e.Properties)
populate(objectMap, "systemData", e.SystemData)
populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Extension.
func (e *Extension) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &e.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &e.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &e.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &e.SystemData)
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 ExtensionInstanceView.
func (e ExtensionInstanceView) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", e.Name)
populate(objectMap, "status", e.Status)
populate(objectMap, "type", e.Type)
populate(objectMap, "typeHandlerVersion", e.TypeHandlerVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionInstanceView.
func (e *ExtensionInstanceView) UnmarshalJSON(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 "status":
err = unpopulate(val, "Status", &e.Status)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &e.Type)
delete(rawMsg, key)
case "typeHandlerVersion":
err = unpopulate(val, "TypeHandlerVersion", &e.TypeHandlerVersion)
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 ExtensionInstanceViewStatus.
func (e ExtensionInstanceViewStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "code", e.Code)
populate(objectMap, "displayStatus", e.DisplayStatus)
populate(objectMap, "level", e.Level)
populate(objectMap, "message", e.Message)
populateDateTimeRFC3339(objectMap, "time", e.Time)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionInstanceViewStatus.
func (e *ExtensionInstanceViewStatus) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "code":
err = unpopulate(val, "Code", &e.Code)
delete(rawMsg, key)
case "displayStatus":
err = unpopulate(val, "DisplayStatus", &e.DisplayStatus)
delete(rawMsg, key)
case "level":
err = unpopulate(val, "Level", &e.Level)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &e.Message)
delete(rawMsg, key)
case "time":
err = unpopulateDateTimeRFC3339(val, "Time", &e.Time)
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 ExtensionList.
func (e ExtensionList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", e.NextLink)
populate(objectMap, "value", e.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionList.
func (e *ExtensionList) UnmarshalJSON(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 "nextLink":
err = unpopulate(val, "NextLink", &e.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &e.Value)
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 ExtensionParameters.
func (e ExtensionParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "autoUpgradeMinorVersion", e.AutoUpgradeMinorVersion)
populate(objectMap, "enableAutomaticUpgrade", e.EnableAutomaticUpgrade)
populate(objectMap, "forceUpdateTag", e.ForceUpdateTag)
populateAny(objectMap, "protectedSettings", e.ProtectedSettings)
populate(objectMap, "publisher", e.Publisher)
populateAny(objectMap, "settings", e.Settings)
populate(objectMap, "type", e.Type)
populate(objectMap, "typeHandlerVersion", e.TypeHandlerVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionParameters.
func (e *ExtensionParameters) UnmarshalJSON(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 "autoUpgradeMinorVersion":
err = unpopulate(val, "AutoUpgradeMinorVersion", &e.AutoUpgradeMinorVersion)
delete(rawMsg, key)
case "enableAutomaticUpgrade":
err = unpopulate(val, "EnableAutomaticUpgrade", &e.EnableAutomaticUpgrade)
delete(rawMsg, key)
case "forceUpdateTag":
err = unpopulate(val, "ForceUpdateTag", &e.ForceUpdateTag)
delete(rawMsg, key)
case "protectedSettings":
err = unpopulate(val, "ProtectedSettings", &e.ProtectedSettings)
delete(rawMsg, key)
case "publisher":
err = unpopulate(val, "Publisher", &e.Publisher)
delete(rawMsg, key)
case "settings":
err = unpopulate(val, "Settings", &e.Settings)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &e.Type)
delete(rawMsg, key)
case "typeHandlerVersion":
err = unpopulate(val, "TypeHandlerVersion", &e.TypeHandlerVersion)
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 ExtensionPatch.
func (e ExtensionPatch) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", e.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionPatch.
func (e *ExtensionPatch) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &e.Properties)
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 ExtensionPatchParameters.
func (e ExtensionPatchParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enableAutomaticUpgrade", e.EnableAutomaticUpgrade)
populateAny(objectMap, "protectedSettings", e.ProtectedSettings)
populateAny(objectMap, "settings", e.Settings)
populate(objectMap, "typeHandlerVersion", e.TypeHandlerVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionPatchParameters.
func (e *ExtensionPatchParameters) UnmarshalJSON(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 "enableAutomaticUpgrade":
err = unpopulate(val, "EnableAutomaticUpgrade", &e.EnableAutomaticUpgrade)
delete(rawMsg, key)
case "protectedSettings":
err = unpopulate(val, "ProtectedSettings", &e.ProtectedSettings)
delete(rawMsg, key)
case "settings":
err = unpopulate(val, "Settings", &e.Settings)
delete(rawMsg, key)
case "typeHandlerVersion":
err = unpopulate(val, "TypeHandlerVersion", &e.TypeHandlerVersion)
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 ExtensionPatchProperties.
func (e ExtensionPatchProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extensionParameters", e.ExtensionParameters)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionPatchProperties.
func (e *ExtensionPatchProperties) UnmarshalJSON(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 "extensionParameters":
err = unpopulate(val, "ExtensionParameters", &e.ExtensionParameters)
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 ExtensionProfile.
func (e ExtensionProfile) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extensions", e.Extensions)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionProfile.
func (e *ExtensionProfile) UnmarshalJSON(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 "extensions":
err = unpopulate(val, "Extensions", &e.Extensions)
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 ExtensionProperties.
func (e ExtensionProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "aggregateState", e.AggregateState)
populate(objectMap, "extensionParameters", e.ExtensionParameters)
populate(objectMap, "managedBy", e.ManagedBy)
populate(objectMap, "perNodeExtensionDetails", e.PerNodeExtensionDetails)
populate(objectMap, "provisioningState", e.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionProperties.
func (e *ExtensionProperties) UnmarshalJSON(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 "aggregateState":
err = unpopulate(val, "AggregateState", &e.AggregateState)
delete(rawMsg, key)
case "extensionParameters":
err = unpopulate(val, "ExtensionParameters", &e.ExtensionParameters)
delete(rawMsg, key)
case "managedBy":
err = unpopulate(val, "ManagedBy", &e.ManagedBy)
delete(rawMsg, key)
case "perNodeExtensionDetails":
err = unpopulate(val, "PerNodeExtensionDetails", &e.PerNodeExtensionDetails)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &e.ProvisioningState)
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 ExtensionUpgradeParameters.
func (e ExtensionUpgradeParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "targetVersion", e.TargetVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExtensionUpgradeParameters.
func (e *ExtensionUpgradeParameters) UnmarshalJSON(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 "targetVersion":
err = unpopulate(val, "TargetVersion", &e.TargetVersion)
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 HciEdgeDevice.
func (h HciEdgeDevice) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", h.ID)
objectMap["kind"] = DeviceKindHCI
populate(objectMap, "name", h.Name)
populate(objectMap, "properties", h.Properties)
populate(objectMap, "systemData", h.SystemData)
populate(objectMap, "type", h.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDevice.
func (h *HciEdgeDevice) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &h.ID)
delete(rawMsg, key)
case "kind":
err = unpopulate(val, "Kind", &h.Kind)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &h.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &h.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &h.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &h.Type)
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 HciEdgeDeviceAdapterPropertyOverrides.
func (h HciEdgeDeviceAdapterPropertyOverrides) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "jumboPacket", h.JumboPacket)
populate(objectMap, "networkDirect", h.NetworkDirect)
populate(objectMap, "networkDirectTechnology", h.NetworkDirectTechnology)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceAdapterPropertyOverrides.
func (h *HciEdgeDeviceAdapterPropertyOverrides) UnmarshalJSON(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 "jumboPacket":
err = unpopulate(val, "JumboPacket", &h.JumboPacket)
delete(rawMsg, key)
case "networkDirect":
err = unpopulate(val, "NetworkDirect", &h.NetworkDirect)
delete(rawMsg, key)
case "networkDirectTechnology":
err = unpopulate(val, "NetworkDirectTechnology", &h.NetworkDirectTechnology)
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 HciEdgeDeviceArcExtension.
func (h HciEdgeDeviceArcExtension) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "errorDetails", h.ErrorDetails)
populate(objectMap, "extensionName", h.ExtensionName)
populate(objectMap, "extensionResourceId", h.ExtensionResourceID)
populate(objectMap, "managedBy", h.ManagedBy)
populate(objectMap, "state", h.State)
populate(objectMap, "typeHandlerVersion", h.TypeHandlerVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceArcExtension.
func (h *HciEdgeDeviceArcExtension) UnmarshalJSON(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 "errorDetails":
err = unpopulate(val, "ErrorDetails", &h.ErrorDetails)
delete(rawMsg, key)
case "extensionName":
err = unpopulate(val, "ExtensionName", &h.ExtensionName)
delete(rawMsg, key)
case "extensionResourceId":
err = unpopulate(val, "ExtensionResourceID", &h.ExtensionResourceID)
delete(rawMsg, key)
case "managedBy":
err = unpopulate(val, "ManagedBy", &h.ManagedBy)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &h.State)
delete(rawMsg, key)
case "typeHandlerVersion":
err = unpopulate(val, "TypeHandlerVersion", &h.TypeHandlerVersion)
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 HciEdgeDeviceHostNetwork.
func (h HciEdgeDeviceHostNetwork) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enableStorageAutoIp", h.EnableStorageAutoIP)
populate(objectMap, "intents", h.Intents)
populate(objectMap, "storageConnectivitySwitchless", h.StorageConnectivitySwitchless)
populate(objectMap, "storageNetworks", h.StorageNetworks)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceHostNetwork.
func (h *HciEdgeDeviceHostNetwork) UnmarshalJSON(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 "enableStorageAutoIp":
err = unpopulate(val, "EnableStorageAutoIP", &h.EnableStorageAutoIP)
delete(rawMsg, key)
case "intents":
err = unpopulate(val, "Intents", &h.Intents)
delete(rawMsg, key)
case "storageConnectivitySwitchless":
err = unpopulate(val, "StorageConnectivitySwitchless", &h.StorageConnectivitySwitchless)
delete(rawMsg, key)
case "storageNetworks":
err = unpopulate(val, "StorageNetworks", &h.StorageNetworks)
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 HciEdgeDeviceIntents.
func (h HciEdgeDeviceIntents) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adapterPropertyOverrides", h.AdapterPropertyOverrides)
populate(objectMap, "intentAdapters", h.IntentAdapters)
populate(objectMap, "intentName", h.IntentName)
populate(objectMap, "intentType", h.IntentType)
populate(objectMap, "isComputeIntentSet", h.IsComputeIntentSet)
populate(objectMap, "isManagementIntentSet", h.IsManagementIntentSet)
populate(objectMap, "isNetworkIntentType", h.IsNetworkIntentType)
populate(objectMap, "isOnlyStorage", h.IsOnlyStorage)
populate(objectMap, "isOnlyStretch", h.IsOnlyStretch)
populate(objectMap, "isStorageIntentSet", h.IsStorageIntentSet)
populate(objectMap, "isStretchIntentSet", h.IsStretchIntentSet)
populate(objectMap, "overrideAdapterProperty", h.OverrideAdapterProperty)
populate(objectMap, "overrideQosPolicy", h.OverrideQosPolicy)
populate(objectMap, "overrideVirtualSwitchConfiguration", h.OverrideVirtualSwitchConfiguration)
populate(objectMap, "qosPolicyOverrides", h.QosPolicyOverrides)
populate(objectMap, "scope", h.Scope)
populate(objectMap, "virtualSwitchConfigurationOverrides", h.VirtualSwitchConfigurationOverrides)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceIntents.
func (h *HciEdgeDeviceIntents) UnmarshalJSON(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 "adapterPropertyOverrides":
err = unpopulate(val, "AdapterPropertyOverrides", &h.AdapterPropertyOverrides)
delete(rawMsg, key)
case "intentAdapters":
err = unpopulate(val, "IntentAdapters", &h.IntentAdapters)
delete(rawMsg, key)
case "intentName":
err = unpopulate(val, "IntentName", &h.IntentName)
delete(rawMsg, key)
case "intentType":
err = unpopulate(val, "IntentType", &h.IntentType)
delete(rawMsg, key)
case "isComputeIntentSet":
err = unpopulate(val, "IsComputeIntentSet", &h.IsComputeIntentSet)
delete(rawMsg, key)
case "isManagementIntentSet":
err = unpopulate(val, "IsManagementIntentSet", &h.IsManagementIntentSet)
delete(rawMsg, key)
case "isNetworkIntentType":
err = unpopulate(val, "IsNetworkIntentType", &h.IsNetworkIntentType)
delete(rawMsg, key)
case "isOnlyStorage":
err = unpopulate(val, "IsOnlyStorage", &h.IsOnlyStorage)
delete(rawMsg, key)
case "isOnlyStretch":
err = unpopulate(val, "IsOnlyStretch", &h.IsOnlyStretch)
delete(rawMsg, key)
case "isStorageIntentSet":
err = unpopulate(val, "IsStorageIntentSet", &h.IsStorageIntentSet)
delete(rawMsg, key)
case "isStretchIntentSet":
err = unpopulate(val, "IsStretchIntentSet", &h.IsStretchIntentSet)
delete(rawMsg, key)
case "overrideAdapterProperty":
err = unpopulate(val, "OverrideAdapterProperty", &h.OverrideAdapterProperty)
delete(rawMsg, key)
case "overrideQosPolicy":
err = unpopulate(val, "OverrideQosPolicy", &h.OverrideQosPolicy)
delete(rawMsg, key)
case "overrideVirtualSwitchConfiguration":
err = unpopulate(val, "OverrideVirtualSwitchConfiguration", &h.OverrideVirtualSwitchConfiguration)
delete(rawMsg, key)
case "qosPolicyOverrides":
err = unpopulate(val, "QosPolicyOverrides", &h.QosPolicyOverrides)
delete(rawMsg, key)
case "scope":
err = unpopulate(val, "Scope", &h.Scope)
delete(rawMsg, key)
case "virtualSwitchConfigurationOverrides":
err = unpopulate(val, "VirtualSwitchConfigurationOverrides", &h.VirtualSwitchConfigurationOverrides)
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 HciEdgeDeviceProperties.
func (h HciEdgeDeviceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deviceConfiguration", h.DeviceConfiguration)
populate(objectMap, "provisioningState", h.ProvisioningState)
populate(objectMap, "reportedProperties", h.ReportedProperties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceProperties.
func (h *HciEdgeDeviceProperties) UnmarshalJSON(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 "deviceConfiguration":
err = unpopulate(val, "DeviceConfiguration", &h.DeviceConfiguration)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &h.ProvisioningState)
delete(rawMsg, key)
case "reportedProperties":
err = unpopulate(val, "ReportedProperties", &h.ReportedProperties)
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 HciEdgeDeviceStorageAdapterIPInfo.
func (h HciEdgeDeviceStorageAdapterIPInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipv4Address", h.IPv4Address)
populate(objectMap, "physicalNode", h.PhysicalNode)
populate(objectMap, "subnetMask", h.SubnetMask)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceStorageAdapterIPInfo.
func (h *HciEdgeDeviceStorageAdapterIPInfo) UnmarshalJSON(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 "ipv4Address":
err = unpopulate(val, "IPv4Address", &h.IPv4Address)
delete(rawMsg, key)
case "physicalNode":
err = unpopulate(val, "PhysicalNode", &h.PhysicalNode)
delete(rawMsg, key)
case "subnetMask":
err = unpopulate(val, "SubnetMask", &h.SubnetMask)
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 HciEdgeDeviceStorageNetworks.
func (h HciEdgeDeviceStorageNetworks) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", h.Name)
populate(objectMap, "networkAdapterName", h.NetworkAdapterName)
populate(objectMap, "storageAdapterIPInfo", h.StorageAdapterIPInfo)
populate(objectMap, "storageVlanId", h.StorageVlanID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceStorageNetworks.
func (h *HciEdgeDeviceStorageNetworks) UnmarshalJSON(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 "name":
err = unpopulate(val, "Name", &h.Name)
delete(rawMsg, key)
case "networkAdapterName":
err = unpopulate(val, "NetworkAdapterName", &h.NetworkAdapterName)
delete(rawMsg, key)
case "storageAdapterIPInfo":
err = unpopulate(val, "StorageAdapterIPInfo", &h.StorageAdapterIPInfo)
delete(rawMsg, key)
case "storageVlanId":
err = unpopulate(val, "StorageVlanID", &h.StorageVlanID)
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 HciEdgeDeviceVirtualSwitchConfigurationOverrides.
func (h HciEdgeDeviceVirtualSwitchConfigurationOverrides) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "enableIov", h.EnableIov)
populate(objectMap, "loadBalancingAlgorithm", h.LoadBalancingAlgorithm)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciEdgeDeviceVirtualSwitchConfigurationOverrides.
func (h *HciEdgeDeviceVirtualSwitchConfigurationOverrides) UnmarshalJSON(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 "enableIov":
err = unpopulate(val, "EnableIov", &h.EnableIov)
delete(rawMsg, key)
case "loadBalancingAlgorithm":
err = unpopulate(val, "LoadBalancingAlgorithm", &h.LoadBalancingAlgorithm)
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 HciNetworkProfile.
func (h HciNetworkProfile) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "hostNetwork", h.HostNetwork)
populate(objectMap, "nicDetails", h.NicDetails)
populate(objectMap, "switchDetails", h.SwitchDetails)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciNetworkProfile.
func (h *HciNetworkProfile) UnmarshalJSON(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 "hostNetwork":
err = unpopulate(val, "HostNetwork", &h.HostNetwork)
delete(rawMsg, key)
case "nicDetails":
err = unpopulate(val, "NicDetails", &h.NicDetails)
delete(rawMsg, key)
case "switchDetails":
err = unpopulate(val, "SwitchDetails", &h.SwitchDetails)
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 HciNicDetail.
func (h HciNicDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adapterName", h.AdapterName)
populate(objectMap, "componentId", h.ComponentID)
populate(objectMap, "dnsServers", h.DNSServers)
populate(objectMap, "defaultGateway", h.DefaultGateway)
populate(objectMap, "defaultIsolationId", h.DefaultIsolationID)
populate(objectMap, "driverVersion", h.DriverVersion)
populate(objectMap, "interfaceDescription", h.InterfaceDescription)
populate(objectMap, "ip4Address", h.Ip4Address)
populate(objectMap, "macAddress", h.MacAddress)
populate(objectMap, "nicStatus", h.NicStatus)
populate(objectMap, "nicType", h.NicType)
populate(objectMap, "slot", h.Slot)
populate(objectMap, "subnetMask", h.SubnetMask)
populate(objectMap, "switchName", h.SwitchName)
populate(objectMap, "vlanId", h.VlanID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciNicDetail.
func (h *HciNicDetail) UnmarshalJSON(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 "adapterName":
err = unpopulate(val, "AdapterName", &h.AdapterName)
delete(rawMsg, key)
case "componentId":
err = unpopulate(val, "ComponentID", &h.ComponentID)
delete(rawMsg, key)
case "dnsServers":
err = unpopulate(val, "DNSServers", &h.DNSServers)
delete(rawMsg, key)
case "defaultGateway":
err = unpopulate(val, "DefaultGateway", &h.DefaultGateway)
delete(rawMsg, key)
case "defaultIsolationId":
err = unpopulate(val, "DefaultIsolationID", &h.DefaultIsolationID)
delete(rawMsg, key)
case "driverVersion":
err = unpopulate(val, "DriverVersion", &h.DriverVersion)
delete(rawMsg, key)
case "interfaceDescription":
err = unpopulate(val, "InterfaceDescription", &h.InterfaceDescription)
delete(rawMsg, key)
case "ip4Address":
err = unpopulate(val, "Ip4Address", &h.Ip4Address)
delete(rawMsg, key)
case "macAddress":
err = unpopulate(val, "MacAddress", &h.MacAddress)
delete(rawMsg, key)
case "nicStatus":
err = unpopulate(val, "NicStatus", &h.NicStatus)
delete(rawMsg, key)
case "nicType":
err = unpopulate(val, "NicType", &h.NicType)
delete(rawMsg, key)
case "slot":
err = unpopulate(val, "Slot", &h.Slot)
delete(rawMsg, key)
case "subnetMask":
err = unpopulate(val, "SubnetMask", &h.SubnetMask)
delete(rawMsg, key)
case "switchName":
err = unpopulate(val, "SwitchName", &h.SwitchName)
delete(rawMsg, key)
case "vlanId":
err = unpopulate(val, "VlanID", &h.VlanID)
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 HciOsProfile.
func (h HciOsProfile) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "assemblyVersion", h.AssemblyVersion)
populate(objectMap, "bootType", h.BootType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciOsProfile.
func (h *HciOsProfile) UnmarshalJSON(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 "assemblyVersion":
err = unpopulate(val, "AssemblyVersion", &h.AssemblyVersion)
delete(rawMsg, key)
case "bootType":
err = unpopulate(val, "BootType", &h.BootType)
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 HciReportedProperties.
func (h HciReportedProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deviceState", h.DeviceState)
populate(objectMap, "extensionProfile", h.ExtensionProfile)
populate(objectMap, "networkProfile", h.NetworkProfile)
populate(objectMap, "osProfile", h.OSProfile)
populate(objectMap, "sbeDeploymentPackageInfo", h.SbeDeploymentPackageInfo)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciReportedProperties.
func (h *HciReportedProperties) UnmarshalJSON(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 "deviceState":
err = unpopulate(val, "DeviceState", &h.DeviceState)
delete(rawMsg, key)
case "extensionProfile":
err = unpopulate(val, "ExtensionProfile", &h.ExtensionProfile)
delete(rawMsg, key)
case "networkProfile":
err = unpopulate(val, "NetworkProfile", &h.NetworkProfile)
delete(rawMsg, key)
case "osProfile":
err = unpopulate(val, "OSProfile", &h.OSProfile)
delete(rawMsg, key)
case "sbeDeploymentPackageInfo":
err = unpopulate(val, "SbeDeploymentPackageInfo", &h.SbeDeploymentPackageInfo)
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 HciValidationFailureDetail.
func (h HciValidationFailureDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "exception", h.Exception)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type HciValidationFailureDetail.
func (h *HciValidationFailureDetail) UnmarshalJSON(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 "exception":
err = unpopulate(val, "Exception", &h.Exception)
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 IPPools.
func (i IPPools) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endingAddress", i.EndingAddress)
populate(objectMap, "startingAddress", i.StartingAddress)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IPPools.
func (i *IPPools) UnmarshalJSON(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 "endingAddress":
err = unpopulate(val, "EndingAddress", &i.EndingAddress)
delete(rawMsg, key)
case "startingAddress":
err = unpopulate(val, "StartingAddress", &i.StartingAddress)
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 InfrastructureNetwork.
func (i InfrastructureNetwork) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "dnsServers", i.DNSServers)
populate(objectMap, "gateway", i.Gateway)
populate(objectMap, "ipPools", i.IPPools)
populate(objectMap, "subnetMask", i.SubnetMask)
populate(objectMap, "useDhcp", i.UseDhcp)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type InfrastructureNetwork.
func (i *InfrastructureNetwork) UnmarshalJSON(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 "dnsServers":
err = unpopulate(val, "DNSServers", &i.DNSServers)
delete(rawMsg, key)
case "gateway":
err = unpopulate(val, "Gateway", &i.Gateway)
delete(rawMsg, key)
case "ipPools":
err = unpopulate(val, "IPPools", &i.IPPools)
delete(rawMsg, key)
case "subnetMask":
err = unpopulate(val, "SubnetMask", &i.SubnetMask)
delete(rawMsg, key)
case "useDhcp":
err = unpopulate(val, "UseDhcp", &i.UseDhcp)
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 IsolatedVMAttestationConfiguration.
func (i IsolatedVMAttestationConfiguration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "attestationResourceId", i.AttestationResourceID)
populate(objectMap, "attestationServiceEndpoint", i.AttestationServiceEndpoint)
populate(objectMap, "relyingPartyServiceEndpoint", i.RelyingPartyServiceEndpoint)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IsolatedVMAttestationConfiguration.
func (i *IsolatedVMAttestationConfiguration) UnmarshalJSON(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 "attestationResourceId":
err = unpopulate(val, "AttestationResourceID", &i.AttestationResourceID)
delete(rawMsg, key)
case "attestationServiceEndpoint":
err = unpopulate(val, "AttestationServiceEndpoint", &i.AttestationServiceEndpoint)
delete(rawMsg, key)
case "relyingPartyServiceEndpoint":
err = unpopulate(val, "RelyingPartyServiceEndpoint", &i.RelyingPartyServiceEndpoint)
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 LogCollectionError.
func (l LogCollectionError) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "errorCode", l.ErrorCode)
populate(objectMap, "errorMessage", l.ErrorMessage)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LogCollectionError.
func (l *LogCollectionError) UnmarshalJSON(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 "errorCode":
err = unpopulate(val, "ErrorCode", &l.ErrorCode)
delete(rawMsg, key)
case "errorMessage":
err = unpopulate(val, "ErrorMessage", &l.ErrorMessage)
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 LogCollectionProperties.
func (l LogCollectionProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "fromDate", l.FromDate)
populateDateTimeRFC3339(objectMap, "lastLogGenerated", l.LastLogGenerated)
populate(objectMap, "logCollectionSessionDetails", l.LogCollectionSessionDetails)
populateDateTimeRFC3339(objectMap, "toDate", l.ToDate)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LogCollectionProperties.
func (l *LogCollectionProperties) UnmarshalJSON(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 "fromDate":
err = unpopulateDateTimeRFC3339(val, "FromDate", &l.FromDate)
delete(rawMsg, key)
case "lastLogGenerated":
err = unpopulateDateTimeRFC3339(val, "LastLogGenerated", &l.LastLogGenerated)
delete(rawMsg, key)
case "logCollectionSessionDetails":
err = unpopulate(val, "LogCollectionSessionDetails", &l.LogCollectionSessionDetails)
delete(rawMsg, key)
case "toDate":
err = unpopulateDateTimeRFC3339(val, "ToDate", &l.ToDate)
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 LogCollectionRequest.
func (l LogCollectionRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", l.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LogCollectionRequest.
func (l *LogCollectionRequest) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &l.Properties)
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 LogCollectionRequestProperties.
func (l LogCollectionRequestProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "fromDate", l.FromDate)
populateDateTimeRFC3339(objectMap, "toDate", l.ToDate)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LogCollectionRequestProperties.
func (l *LogCollectionRequestProperties) UnmarshalJSON(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 "fromDate":
err = unpopulateDateTimeRFC3339(val, "FromDate", &l.FromDate)
delete(rawMsg, key)
case "toDate":
err = unpopulateDateTimeRFC3339(val, "ToDate", &l.ToDate)
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 LogCollectionSession.
func (l LogCollectionSession) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "correlationId", l.CorrelationID)
populateDateTimeRFC3339(objectMap, "endTimeCollected", l.EndTimeCollected)
populate(objectMap, "logCollectionError", l.LogCollectionError)
populate(objectMap, "logCollectionJobType", l.LogCollectionJobType)
populate(objectMap, "logCollectionStatus", l.LogCollectionStatus)
populateDateTimeRFC3339(objectMap, "logEndTime", l.LogEndTime)
populate(objectMap, "logSize", l.LogSize)
populateDateTimeRFC3339(objectMap, "logStartTime", l.LogStartTime)
populateDateTimeRFC3339(objectMap, "timeCollected", l.TimeCollected)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LogCollectionSession.
func (l *LogCollectionSession) UnmarshalJSON(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 "correlationId":
err = unpopulate(val, "CorrelationID", &l.CorrelationID)
delete(rawMsg, key)
case "endTimeCollected":
err = unpopulateDateTimeRFC3339(val, "EndTimeCollected", &l.EndTimeCollected)
delete(rawMsg, key)
case "logCollectionError":
err = unpopulate(val, "LogCollectionError", &l.LogCollectionError)
delete(rawMsg, key)
case "logCollectionJobType":
err = unpopulate(val, "LogCollectionJobType", &l.LogCollectionJobType)
delete(rawMsg, key)
case "logCollectionStatus":
err = unpopulate(val, "LogCollectionStatus", &l.LogCollectionStatus)
delete(rawMsg, key)
case "logEndTime":
err = unpopulateDateTimeRFC3339(val, "LogEndTime", &l.LogEndTime)
delete(rawMsg, key)
case "logSize":
err = unpopulate(val, "LogSize", &l.LogSize)
delete(rawMsg, key)
case "logStartTime":
err = unpopulateDateTimeRFC3339(val, "LogStartTime", &l.LogStartTime)
delete(rawMsg, key)
case "timeCollected":
err = unpopulateDateTimeRFC3339(val, "TimeCollected", &l.TimeCollected)
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 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 NetworkController.
func (n NetworkController) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "macAddressPoolStart", n.MacAddressPoolStart)
populate(objectMap, "macAddressPoolStop", n.MacAddressPoolStop)
populate(objectMap, "networkVirtualizationEnabled", n.NetworkVirtualizationEnabled)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NetworkController.
func (n *NetworkController) UnmarshalJSON(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 "macAddressPoolStart":
err = unpopulate(val, "MacAddressPoolStart", &n.MacAddressPoolStart)
delete(rawMsg, key)
case "macAddressPoolStop":
err = unpopulate(val, "MacAddressPoolStop", &n.MacAddressPoolStop)
delete(rawMsg, key)
case "networkVirtualizationEnabled":
err = unpopulate(val, "NetworkVirtualizationEnabled", &n.NetworkVirtualizationEnabled)
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 NicDetail.
func (n NicDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adapterName", n.AdapterName)
populate(objectMap, "componentId", n.ComponentID)
populate(objectMap, "dnsServers", n.DNSServers)
populate(objectMap, "defaultGateway", n.DefaultGateway)
populate(objectMap, "defaultIsolationId", n.DefaultIsolationID)
populate(objectMap, "driverVersion", n.DriverVersion)
populate(objectMap, "interfaceDescription", n.InterfaceDescription)
populate(objectMap, "ip4Address", n.Ip4Address)
populate(objectMap, "subnetMask", n.SubnetMask)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NicDetail.
func (n *NicDetail) UnmarshalJSON(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 "adapterName":
err = unpopulate(val, "AdapterName", &n.AdapterName)
delete(rawMsg, key)
case "componentId":
err = unpopulate(val, "ComponentID", &n.ComponentID)
delete(rawMsg, key)
case "dnsServers":
err = unpopulate(val, "DNSServers", &n.DNSServers)
delete(rawMsg, key)
case "defaultGateway":
err = unpopulate(val, "DefaultGateway", &n.DefaultGateway)
delete(rawMsg, key)
case "defaultIsolationId":
err = unpopulate(val, "DefaultIsolationID", &n.DefaultIsolationID)
delete(rawMsg, key)
case "driverVersion":
err = unpopulate(val, "DriverVersion", &n.DriverVersion)
delete(rawMsg, key)
case "interfaceDescription":
err = unpopulate(val, "InterfaceDescription", &n.InterfaceDescription)
delete(rawMsg, key)
case "ip4Address":
err = unpopulate(val, "Ip4Address", &n.Ip4Address)
delete(rawMsg, key)
case "subnetMask":
err = unpopulate(val, "SubnetMask", &n.SubnetMask)
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 Observability.
func (o Observability) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "episodicDataUpload", o.EpisodicDataUpload)
populate(objectMap, "euLocation", o.EuLocation)
populate(objectMap, "streamingDataClient", o.StreamingDataClient)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Observability.
func (o *Observability) UnmarshalJSON(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 "episodicDataUpload":
err = unpopulate(val, "EpisodicDataUpload", &o.EpisodicDataUpload)
delete(rawMsg, key)
case "euLocation":
err = unpopulate(val, "EuLocation", &o.EuLocation)
delete(rawMsg, key)
case "streamingDataClient":
err = unpopulate(val, "StreamingDataClient", &o.StreamingDataClient)
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 Offer.
func (o Offer) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", o.ID)
populate(objectMap, "name", o.Name)
populate(objectMap, "properties", o.Properties)
populate(objectMap, "systemData", o.SystemData)
populate(objectMap, "type", o.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Offer.
func (o *Offer) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &o.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &o.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &o.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &o.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &o.Type)
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 OfferList.
func (o OfferList) 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 OfferList.
func (o *OfferList) UnmarshalJSON(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 OfferProperties.
func (o OfferProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "content", o.Content)
populate(objectMap, "contentVersion", o.ContentVersion)
populate(objectMap, "provisioningState", o.ProvisioningState)
populate(objectMap, "publisherId", o.PublisherID)
populate(objectMap, "skuMappings", o.SKUMappings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OfferProperties.
func (o *OfferProperties) UnmarshalJSON(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 "content":
err = unpopulate(val, "Content", &o.Content)
delete(rawMsg, key)
case "contentVersion":
err = unpopulate(val, "ContentVersion", &o.ContentVersion)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &o.ProvisioningState)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &o.PublisherID)
delete(rawMsg, key)
case "skuMappings":
err = unpopulate(val, "SKUMappings", &o.SKUMappings)
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 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 OptionalServices.
func (o OptionalServices) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "customLocation", o.CustomLocation)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OptionalServices.
func (o *OptionalServices) UnmarshalJSON(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 "customLocation":
err = unpopulate(val, "CustomLocation", &o.CustomLocation)
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 PackageVersionInfo.
func (p PackageVersionInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "lastUpdated", p.LastUpdated)
populate(objectMap, "packageType", p.PackageType)
populate(objectMap, "version", p.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PackageVersionInfo.
func (p *PackageVersionInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "lastUpdated":
err = unpopulateDateTimeRFC3339(val, "LastUpdated", &p.LastUpdated)
delete(rawMsg, key)
case "packageType":
err = unpopulate(val, "PackageType", &p.PackageType)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &p.Version)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PasswordCredential.
func (p PasswordCredential) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "endDateTime", p.EndDateTime)
populate(objectMap, "keyId", p.KeyID)
populate(objectMap, "secretText", p.SecretText)
populateDateTimeRFC3339(objectMap, "startDateTime", p.StartDateTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PasswordCredential.
func (p *PasswordCredential) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "endDateTime":
err = unpopulateDateTimeRFC3339(val, "EndDateTime", &p.EndDateTime)
delete(rawMsg, key)
case "keyId":
err = unpopulate(val, "KeyID", &p.KeyID)
delete(rawMsg, key)
case "secretText":
err = unpopulate(val, "SecretText", &p.SecretText)
delete(rawMsg, key)
case "startDateTime":
err = unpopulateDateTimeRFC3339(val, "StartDateTime", &p.StartDateTime)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PerNodeExtensionState.
func (p PerNodeExtensionState) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extension", p.Extension)
populate(objectMap, "instanceView", p.InstanceView)
populate(objectMap, "name", p.Name)
populate(objectMap, "state", p.State)
populate(objectMap, "typeHandlerVersion", p.TypeHandlerVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PerNodeExtensionState.
func (p *PerNodeExtensionState) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "extension":
err = unpopulate(val, "Extension", &p.Extension)
delete(rawMsg, key)
case "instanceView":
err = unpopulate(val, "InstanceView", &p.InstanceView)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &p.Name)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &p.State)
delete(rawMsg, key)
case "typeHandlerVersion":
err = unpopulate(val, "TypeHandlerVersion", &p.TypeHandlerVersion)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PerNodeRemoteSupportSession.
func (p PerNodeRemoteSupportSession) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "accessLevel", p.AccessLevel)
populate(objectMap, "duration", p.Duration)
populate(objectMap, "nodeName", p.NodeName)
populateDateTimeRFC3339(objectMap, "sessionEndTime", p.SessionEndTime)
populateDateTimeRFC3339(objectMap, "sessionStartTime", p.SessionStartTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PerNodeRemoteSupportSession.
func (p *PerNodeRemoteSupportSession) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "accessLevel":
err = unpopulate(val, "AccessLevel", &p.AccessLevel)
delete(rawMsg, key)
case "duration":
err = unpopulate(val, "Duration", &p.Duration)
delete(rawMsg, key)
case "nodeName":
err = unpopulate(val, "NodeName", &p.NodeName)
delete(rawMsg, key)
case "sessionEndTime":
err = unpopulateDateTimeRFC3339(val, "SessionEndTime", &p.SessionEndTime)
delete(rawMsg, key)
case "sessionStartTime":
err = unpopulateDateTimeRFC3339(val, "SessionStartTime", &p.SessionStartTime)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PerNodeState.
func (p PerNodeState) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "arcInstance", p.ArcInstance)
populate(objectMap, "arcNodeServicePrincipalObjectId", p.ArcNodeServicePrincipalObjectID)
populate(objectMap, "name", p.Name)
populate(objectMap, "state", p.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PerNodeState.
func (p *PerNodeState) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "arcInstance":
err = unpopulate(val, "ArcInstance", &p.ArcInstance)
delete(rawMsg, key)
case "arcNodeServicePrincipalObjectId":
err = unpopulate(val, "ArcNodeServicePrincipalObjectID", &p.ArcNodeServicePrincipalObjectID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &p.Name)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &p.State)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PhysicalNodes.
func (p PhysicalNodes) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ipv4Address", p.IPv4Address)
populate(objectMap, "name", p.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PhysicalNodes.
func (p *PhysicalNodes) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "ipv4Address":
err = unpopulate(val, "IPv4Address", &p.IPv4Address)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &p.Name)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PrecheckResult.
func (p PrecheckResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalData", p.AdditionalData)
populate(objectMap, "description", p.Description)
populate(objectMap, "displayName", p.DisplayName)
populate(objectMap, "healthCheckSource", p.HealthCheckSource)
populateAny(objectMap, "healthCheckTags", p.HealthCheckTags)
populate(objectMap, "name", p.Name)
populate(objectMap, "remediation", p.Remediation)
populate(objectMap, "severity", p.Severity)
populate(objectMap, "status", p.Status)
populate(objectMap, "tags", p.Tags)
populate(objectMap, "targetResourceID", p.TargetResourceID)
populate(objectMap, "targetResourceName", p.TargetResourceName)
populate(objectMap, "targetResourceType", p.TargetResourceType)
populateDateTimeRFC3339(objectMap, "timestamp", p.Timestamp)
populate(objectMap, "title", p.Title)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PrecheckResult.
func (p *PrecheckResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "additionalData":
err = unpopulate(val, "AdditionalData", &p.AdditionalData)
delete(rawMsg, key)
case "description":
err = unpopulate(val, "Description", &p.Description)
delete(rawMsg, key)
case "displayName":
err = unpopulate(val, "DisplayName", &p.DisplayName)
delete(rawMsg, key)
case "healthCheckSource":
err = unpopulate(val, "HealthCheckSource", &p.HealthCheckSource)
delete(rawMsg, key)
case "healthCheckTags":
err = unpopulate(val, "HealthCheckTags", &p.HealthCheckTags)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &p.Name)
delete(rawMsg, key)
case "remediation":
err = unpopulate(val, "Remediation", &p.Remediation)
delete(rawMsg, key)
case "severity":
err = unpopulate(val, "Severity", &p.Severity)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &p.Status)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &p.Tags)
delete(rawMsg, key)
case "targetResourceID":
err = unpopulate(val, "TargetResourceID", &p.TargetResourceID)
delete(rawMsg, key)
case "targetResourceName":
err = unpopulate(val, "TargetResourceName", &p.TargetResourceName)
delete(rawMsg, key)
case "targetResourceType":
err = unpopulate(val, "TargetResourceType", &p.TargetResourceType)
delete(rawMsg, key)
case "timestamp":
err = unpopulateDateTimeRFC3339(val, "Timestamp", &p.Timestamp)
delete(rawMsg, key)
case "title":
err = unpopulate(val, "Title", &p.Title)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PrecheckResultTags.
func (p PrecheckResultTags) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "key", p.Key)
populate(objectMap, "value", p.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PrecheckResultTags.
func (p *PrecheckResultTags) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "key":
err = unpopulate(val, "Key", &p.Key)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &p.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Publisher.
func (p Publisher) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", p.ID)
populate(objectMap, "name", p.Name)
populate(objectMap, "properties", p.Properties)
populate(objectMap, "systemData", p.SystemData)
populate(objectMap, "type", p.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Publisher.
func (p *Publisher) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &p.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &p.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &p.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &p.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &p.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PublisherList.
func (p PublisherList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", p.NextLink)
populate(objectMap, "value", p.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PublisherList.
func (p *PublisherList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &p.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &p.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type PublisherProperties.
func (p PublisherProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "provisioningState", p.ProvisioningState)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PublisherProperties.
func (p *PublisherProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &p.ProvisioningState)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type QosPolicyOverrides.
func (q QosPolicyOverrides) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bandwidthPercentage_SMB", q.BandwidthPercentageSMB)
populate(objectMap, "priorityValue8021Action_Cluster", q.PriorityValue8021ActionCluster)
populate(objectMap, "priorityValue8021Action_SMB", q.PriorityValue8021ActionSMB)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QosPolicyOverrides.
func (q *QosPolicyOverrides) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", q, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "bandwidthPercentage_SMB":
err = unpopulate(val, "BandwidthPercentageSMB", &q.BandwidthPercentageSMB)
delete(rawMsg, key)
case "priorityValue8021Action_Cluster":
err = unpopulate(val, "PriorityValue8021ActionCluster", &q.PriorityValue8021ActionCluster)
delete(rawMsg, key)
case "priorityValue8021Action_SMB":
err = unpopulate(val, "PriorityValue8021ActionSMB", &q.PriorityValue8021ActionSMB)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", q, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RawCertificateData.
func (r RawCertificateData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "certificates", r.Certificates)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RawCertificateData.
func (r *RawCertificateData) UnmarshalJSON(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 "certificates":
err = unpopulate(val, "Certificates", &r.Certificates)
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 RemoteSupportNodeSettings.
func (r RemoteSupportNodeSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "arcResourceId", r.ArcResourceID)
populate(objectMap, "connectionErrorMessage", r.ConnectionErrorMessage)
populate(objectMap, "connectionStatus", r.ConnectionStatus)
populateDateTimeRFC3339(objectMap, "createdAt", r.CreatedAt)
populate(objectMap, "state", r.State)
populate(objectMap, "transcriptLocation", r.TranscriptLocation)
populateDateTimeRFC3339(objectMap, "updatedAt", r.UpdatedAt)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RemoteSupportNodeSettings.
func (r *RemoteSupportNodeSettings) UnmarshalJSON(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 "arcResourceId":
err = unpopulate(val, "ArcResourceID", &r.ArcResourceID)
delete(rawMsg, key)
case "connectionErrorMessage":
err = unpopulate(val, "ConnectionErrorMessage", &r.ConnectionErrorMessage)
delete(rawMsg, key)
case "connectionStatus":
err = unpopulate(val, "ConnectionStatus", &r.ConnectionStatus)
delete(rawMsg, key)
case "createdAt":
err = unpopulateDateTimeRFC3339(val, "CreatedAt", &r.CreatedAt)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &r.State)
delete(rawMsg, key)
case "transcriptLocation":
err = unpopulate(val, "TranscriptLocation", &r.TranscriptLocation)
delete(rawMsg, key)
case "updatedAt":
err = unpopulateDateTimeRFC3339(val, "UpdatedAt", &r.UpdatedAt)
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 RemoteSupportProperties.
func (r RemoteSupportProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "accessLevel", r.AccessLevel)
populateDateTimeRFC3339(objectMap, "expirationTimeStamp", r.ExpirationTimeStamp)
populate(objectMap, "remoteSupportNodeSettings", r.RemoteSupportNodeSettings)
populate(objectMap, "remoteSupportSessionDetails", r.RemoteSupportSessionDetails)
populate(objectMap, "remoteSupportType", r.RemoteSupportType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RemoteSupportProperties.
func (r *RemoteSupportProperties) UnmarshalJSON(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 "accessLevel":
err = unpopulate(val, "AccessLevel", &r.AccessLevel)
delete(rawMsg, key)
case "expirationTimeStamp":
err = unpopulateDateTimeRFC3339(val, "ExpirationTimeStamp", &r.ExpirationTimeStamp)
delete(rawMsg, key)
case "remoteSupportNodeSettings":
err = unpopulate(val, "RemoteSupportNodeSettings", &r.RemoteSupportNodeSettings)
delete(rawMsg, key)
case "remoteSupportSessionDetails":
err = unpopulate(val, "RemoteSupportSessionDetails", &r.RemoteSupportSessionDetails)
delete(rawMsg, key)
case "remoteSupportType":
err = unpopulate(val, "RemoteSupportType", &r.RemoteSupportType)
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 RemoteSupportRequest.
func (r RemoteSupportRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", r.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RemoteSupportRequest.
func (r *RemoteSupportRequest) UnmarshalJSON(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)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RemoteSupportRequestProperties.
func (r RemoteSupportRequestProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "accessLevel", r.AccessLevel)
populateDateTimeRFC3339(objectMap, "expirationTimeStamp", r.ExpirationTimeStamp)
populate(objectMap, "remoteSupportType", r.RemoteSupportType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RemoteSupportRequestProperties.
func (r *RemoteSupportRequestProperties) UnmarshalJSON(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 "accessLevel":
err = unpopulate(val, "AccessLevel", &r.AccessLevel)
delete(rawMsg, key)
case "expirationTimeStamp":
err = unpopulateDateTimeRFC3339(val, "ExpirationTimeStamp", &r.ExpirationTimeStamp)
delete(rawMsg, key)
case "remoteSupportType":
err = unpopulate(val, "RemoteSupportType", &r.RemoteSupportType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SKU.
func (s SKU) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", s.ID)
populate(objectMap, "name", s.Name)
populate(objectMap, "properties", s.Properties)
populate(objectMap, "systemData", s.SystemData)
populate(objectMap, "type", s.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SKU.
func (s *SKU) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &s.ID)
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 "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 SKUList.
func (s SKUList) 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 SKUList.
func (s *SKUList) UnmarshalJSON(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 SKUMappings.
func (s SKUMappings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "catalogPlanId", s.CatalogPlanID)
populate(objectMap, "marketplaceSkuId", s.MarketplaceSKUID)
populate(objectMap, "marketplaceSkuVersions", s.MarketplaceSKUVersions)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SKUMappings.
func (s *SKUMappings) UnmarshalJSON(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 "catalogPlanId":
err = unpopulate(val, "CatalogPlanID", &s.CatalogPlanID)
delete(rawMsg, key)
case "marketplaceSkuId":
err = unpopulate(val, "MarketplaceSKUID", &s.MarketplaceSKUID)
delete(rawMsg, key)
case "marketplaceSkuVersions":
err = unpopulate(val, "MarketplaceSKUVersions", &s.MarketplaceSKUVersions)
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 SKUProperties.
func (s SKUProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "content", s.Content)
populate(objectMap, "contentVersion", s.ContentVersion)
populate(objectMap, "offerId", s.OfferID)
populate(objectMap, "provisioningState", s.ProvisioningState)
populate(objectMap, "publisherId", s.PublisherID)
populate(objectMap, "skuMappings", s.SKUMappings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SKUProperties.
func (s *SKUProperties) UnmarshalJSON(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 "content":
err = unpopulate(val, "Content", &s.Content)
delete(rawMsg, key)
case "contentVersion":
err = unpopulate(val, "ContentVersion", &s.ContentVersion)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &s.OfferID)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &s.ProvisioningState)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &s.PublisherID)
delete(rawMsg, key)
case "skuMappings":
err = unpopulate(val, "SKUMappings", &s.SKUMappings)
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 SbeCredentials.
func (s SbeCredentials) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eceSecretName", s.EceSecretName)
populate(objectMap, "secretLocation", s.SecretLocation)
populate(objectMap, "secretName", s.SecretName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SbeCredentials.
func (s *SbeCredentials) UnmarshalJSON(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 "eceSecretName":
err = unpopulate(val, "EceSecretName", &s.EceSecretName)
delete(rawMsg, key)
case "secretLocation":
err = unpopulate(val, "SecretLocation", &s.SecretLocation)
delete(rawMsg, key)
case "secretName":
err = unpopulate(val, "SecretName", &s.SecretName)
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 SbeDeploymentInfo.
func (s SbeDeploymentInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "family", s.Family)
populate(objectMap, "publisher", s.Publisher)
populateDateTimeRFC3339(objectMap, "sbeManifestCreationDate", s.SbeManifestCreationDate)
populate(objectMap, "sbeManifestSource", s.SbeManifestSource)
populate(objectMap, "version", s.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SbeDeploymentInfo.
func (s *SbeDeploymentInfo) UnmarshalJSON(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 "family":
err = unpopulate(val, "Family", &s.Family)
delete(rawMsg, key)
case "publisher":
err = unpopulate(val, "Publisher", &s.Publisher)
delete(rawMsg, key)
case "sbeManifestCreationDate":
err = unpopulateDateTimeRFC3339(val, "SbeManifestCreationDate", &s.SbeManifestCreationDate)
delete(rawMsg, key)
case "sbeManifestSource":
err = unpopulate(val, "SbeManifestSource", &s.SbeManifestSource)
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 SbeDeploymentPackageInfo.
func (s SbeDeploymentPackageInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "code", s.Code)
populate(objectMap, "message", s.Message)
populate(objectMap, "sbeManifest", s.SbeManifest)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SbeDeploymentPackageInfo.
func (s *SbeDeploymentPackageInfo) UnmarshalJSON(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 "code":
err = unpopulate(val, "Code", &s.Code)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &s.Message)
delete(rawMsg, key)
case "sbeManifest":
err = unpopulate(val, "SbeManifest", &s.SbeManifest)
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 SbePartnerInfo.
func (s SbePartnerInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "credentialList", s.CredentialList)
populate(objectMap, "partnerProperties", s.PartnerProperties)
populate(objectMap, "sbeDeploymentInfo", s.SbeDeploymentInfo)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SbePartnerInfo.
func (s *SbePartnerInfo) UnmarshalJSON(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 "credentialList":
err = unpopulate(val, "CredentialList", &s.CredentialList)
delete(rawMsg, key)
case "partnerProperties":
err = unpopulate(val, "PartnerProperties", &s.PartnerProperties)
delete(rawMsg, key)
case "sbeDeploymentInfo":
err = unpopulate(val, "SbeDeploymentInfo", &s.SbeDeploymentInfo)
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 SbePartnerProperties.
func (s SbePartnerProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", s.Name)
populate(objectMap, "value", s.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SbePartnerProperties.
func (s *SbePartnerProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &s.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ScaleUnits.
func (s ScaleUnits) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deploymentData", s.DeploymentData)
populate(objectMap, "sbePartnerInfo", s.SbePartnerInfo)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ScaleUnits.
func (s *ScaleUnits) UnmarshalJSON(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 "deploymentData":
err = unpopulate(val, "DeploymentData", &s.DeploymentData)
delete(rawMsg, key)
case "sbePartnerInfo":
err = unpopulate(val, "SbePartnerInfo", &s.SbePartnerInfo)
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 SdnIntegration.
func (s SdnIntegration) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "networkController", s.NetworkController)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SdnIntegration.
func (s *SdnIntegration) UnmarshalJSON(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 "networkController":
err = unpopulate(val, "NetworkController", &s.NetworkController)
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 SecurityComplianceStatus.
func (s SecurityComplianceStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "dataAtRestEncrypted", s.DataAtRestEncrypted)
populate(objectMap, "dataInTransitProtected", s.DataInTransitProtected)
populateDateTimeRFC3339(objectMap, "lastUpdated", s.LastUpdated)
populate(objectMap, "securedCoreCompliance", s.SecuredCoreCompliance)
populate(objectMap, "wdacCompliance", s.WdacCompliance)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecurityComplianceStatus.
func (s *SecurityComplianceStatus) UnmarshalJSON(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 "dataAtRestEncrypted":
err = unpopulate(val, "DataAtRestEncrypted", &s.DataAtRestEncrypted)
delete(rawMsg, key)
case "dataInTransitProtected":
err = unpopulate(val, "DataInTransitProtected", &s.DataInTransitProtected)
delete(rawMsg, key)
case "lastUpdated":
err = unpopulateDateTimeRFC3339(val, "LastUpdated", &s.LastUpdated)
delete(rawMsg, key)
case "securedCoreCompliance":
err = unpopulate(val, "SecuredCoreCompliance", &s.SecuredCoreCompliance)
delete(rawMsg, key)
case "wdacCompliance":
err = unpopulate(val, "WdacCompliance", &s.WdacCompliance)
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 SecurityProperties.
func (s SecurityProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "provisioningState", s.ProvisioningState)
populate(objectMap, "securedCoreComplianceAssignment", s.SecuredCoreComplianceAssignment)
populate(objectMap, "securityComplianceStatus", s.SecurityComplianceStatus)
populate(objectMap, "smbEncryptionForIntraClusterTrafficComplianceAssignment", s.SmbEncryptionForIntraClusterTrafficComplianceAssignment)
populate(objectMap, "wdacComplianceAssignment", s.WdacComplianceAssignment)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecurityProperties.
func (s *SecurityProperties) UnmarshalJSON(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 "provisioningState":
err = unpopulate(val, "ProvisioningState", &s.ProvisioningState)
delete(rawMsg, key)
case "securedCoreComplianceAssignment":
err = unpopulate(val, "SecuredCoreComplianceAssignment", &s.SecuredCoreComplianceAssignment)
delete(rawMsg, key)
case "securityComplianceStatus":
err = unpopulate(val, "SecurityComplianceStatus", &s.SecurityComplianceStatus)
delete(rawMsg, key)
case "smbEncryptionForIntraClusterTrafficComplianceAssignment":
err = unpopulate(val, "SmbEncryptionForIntraClusterTrafficComplianceAssignment", &s.SmbEncryptionForIntraClusterTrafficComplianceAssignment)
delete(rawMsg, key)
case "wdacComplianceAssignment":
err = unpopulate(val, "WdacComplianceAssignment", &s.WdacComplianceAssignment)
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 SecuritySetting.
func (s SecuritySetting) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", s.ID)
populate(objectMap, "name", s.Name)
populate(objectMap, "properties", s.Properties)
populate(objectMap, "systemData", s.SystemData)
populate(objectMap, "type", s.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecuritySetting.
func (s *SecuritySetting) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &s.ID)
delete(rawMsg, key)
case "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 "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 SecuritySettingListResult.
func (s SecuritySettingListResult) 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 SecuritySettingListResult.
func (s *SecuritySettingListResult) UnmarshalJSON(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 SoftwareAssuranceChangeRequest.
func (s SoftwareAssuranceChangeRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", s.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SoftwareAssuranceChangeRequest.
func (s *SoftwareAssuranceChangeRequest) UnmarshalJSON(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)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SoftwareAssuranceChangeRequestProperties.
func (s SoftwareAssuranceChangeRequestProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "softwareAssuranceIntent", s.SoftwareAssuranceIntent)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SoftwareAssuranceChangeRequestProperties.
func (s *SoftwareAssuranceChangeRequestProperties) UnmarshalJSON(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 "softwareAssuranceIntent":
err = unpopulate(val, "SoftwareAssuranceIntent", &s.SoftwareAssuranceIntent)
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 SoftwareAssuranceProperties.
func (s SoftwareAssuranceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "lastUpdated", s.LastUpdated)
populate(objectMap, "softwareAssuranceIntent", s.SoftwareAssuranceIntent)
populate(objectMap, "softwareAssuranceStatus", s.SoftwareAssuranceStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SoftwareAssuranceProperties.
func (s *SoftwareAssuranceProperties) UnmarshalJSON(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 "lastUpdated":
err = unpopulateDateTimeRFC3339(val, "LastUpdated", &s.LastUpdated)
delete(rawMsg, key)
case "softwareAssuranceIntent":
err = unpopulate(val, "SoftwareAssuranceIntent", &s.SoftwareAssuranceIntent)
delete(rawMsg, key)
case "softwareAssuranceStatus":
err = unpopulate(val, "SoftwareAssuranceStatus", &s.SoftwareAssuranceStatus)
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 Step.
func (s Step) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", s.Description)
populateDateTimeRFC3339(objectMap, "endTimeUtc", s.EndTimeUTC)
populate(objectMap, "errorMessage", s.ErrorMessage)
populate(objectMap, "expectedExecutionTime", s.ExpectedExecutionTime)
populateDateTimeRFC3339(objectMap, "lastUpdatedTimeUtc", s.LastUpdatedTimeUTC)
populate(objectMap, "name", s.Name)
populateDateTimeRFC3339(objectMap, "startTimeUtc", s.StartTimeUTC)
populate(objectMap, "status", s.Status)
populate(objectMap, "steps", s.Steps)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Step.
func (s *Step) UnmarshalJSON(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 "description":
err = unpopulate(val, "Description", &s.Description)
delete(rawMsg, key)
case "endTimeUtc":
err = unpopulateDateTimeRFC3339(val, "EndTimeUTC", &s.EndTimeUTC)
delete(rawMsg, key)
case "errorMessage":
err = unpopulate(val, "ErrorMessage", &s.ErrorMessage)
delete(rawMsg, key)
case "expectedExecutionTime":
err = unpopulate(val, "ExpectedExecutionTime", &s.ExpectedExecutionTime)
delete(rawMsg, key)
case "lastUpdatedTimeUtc":
err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimeUTC", &s.LastUpdatedTimeUTC)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "startTimeUtc":
err = unpopulateDateTimeRFC3339(val, "StartTimeUTC", &s.StartTimeUTC)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &s.Status)
delete(rawMsg, key)
case "steps":
err = unpopulate(val, "Steps", &s.Steps)
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 Storage.
func (s Storage) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "configurationMode", s.ConfigurationMode)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Storage.
func (s *Storage) UnmarshalJSON(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 "configurationMode":
err = unpopulate(val, "ConfigurationMode", &s.ConfigurationMode)
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 SwitchDetail.
func (s SwitchDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extensions", s.Extensions)
populate(objectMap, "switchName", s.SwitchName)
populate(objectMap, "switchType", s.SwitchType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SwitchDetail.
func (s *SwitchDetail) UnmarshalJSON(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 "extensions":
err = unpopulate(val, "Extensions", &s.Extensions)
delete(rawMsg, key)
case "switchName":
err = unpopulate(val, "SwitchName", &s.SwitchName)
delete(rawMsg, key)
case "switchType":
err = unpopulate(val, "SwitchType", &s.SwitchType)
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 SwitchExtension.
func (s SwitchExtension) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "extensionEnabled", s.ExtensionEnabled)
populate(objectMap, "extensionName", s.ExtensionName)
populate(objectMap, "switchId", s.SwitchID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SwitchExtension.
func (s *SwitchExtension) UnmarshalJSON(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 "extensionEnabled":
err = unpopulate(val, "ExtensionEnabled", &s.ExtensionEnabled)
delete(rawMsg, key)
case "extensionName":
err = unpopulate(val, "ExtensionName", &s.ExtensionName)
delete(rawMsg, key)
case "switchId":
err = unpopulate(val, "SwitchID", &s.SwitchID)
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 Update.
func (u Update) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", u.ID)
populate(objectMap, "location", u.Location)
populate(objectMap, "name", u.Name)
populate(objectMap, "properties", u.Properties)
populate(objectMap, "systemData", u.SystemData)
populate(objectMap, "type", u.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Update.
func (u *Update) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &u.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &u.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &u.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &u.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &u.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &u.Type)
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 UpdateList.
func (u UpdateList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", u.NextLink)
populate(objectMap, "value", u.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateList.
func (u *UpdateList) UnmarshalJSON(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 "nextLink":
err = unpopulate(val, "NextLink", &u.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &u.Value)
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 UpdatePrerequisite.
func (u UpdatePrerequisite) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "packageName", u.PackageName)
populate(objectMap, "updateType", u.UpdateType)
populate(objectMap, "version", u.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdatePrerequisite.
func (u *UpdatePrerequisite) UnmarshalJSON(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 "packageName":
err = unpopulate(val, "PackageName", &u.PackageName)
delete(rawMsg, key)
case "updateType":
err = unpopulate(val, "UpdateType", &u.UpdateType)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &u.Version)
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 UpdateProperties.
func (u UpdateProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalProperties", u.AdditionalProperties)
populate(objectMap, "availabilityType", u.AvailabilityType)
populate(objectMap, "componentVersions", u.ComponentVersions)
populate(objectMap, "description", u.Description)
populate(objectMap, "displayName", u.DisplayName)
populateDateTimeRFC3339(objectMap, "healthCheckDate", u.HealthCheckDate)
populate(objectMap, "healthCheckResult", u.HealthCheckResult)
populate(objectMap, "healthState", u.HealthState)
populateDateTimeRFC3339(objectMap, "installedDate", u.InstalledDate)
populate(objectMap, "minSbeVersionRequired", u.MinSbeVersionRequired)
populate(objectMap, "packagePath", u.PackagePath)
populate(objectMap, "packageSizeInMb", u.PackageSizeInMb)
populate(objectMap, "packageType", u.PackageType)
populate(objectMap, "prerequisites", u.Prerequisites)
populate(objectMap, "provisioningState", u.ProvisioningState)
populate(objectMap, "publisher", u.Publisher)
populate(objectMap, "rebootRequired", u.RebootRequired)
populate(objectMap, "releaseLink", u.ReleaseLink)
populate(objectMap, "state", u.State)
populate(objectMap, "updateStateProperties", u.UpdateStateProperties)
populate(objectMap, "version", u.Version)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateProperties.
func (u *UpdateProperties) UnmarshalJSON(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 "additionalProperties":
err = unpopulate(val, "AdditionalProperties", &u.AdditionalProperties)
delete(rawMsg, key)
case "availabilityType":
err = unpopulate(val, "AvailabilityType", &u.AvailabilityType)
delete(rawMsg, key)
case "componentVersions":
err = unpopulate(val, "ComponentVersions", &u.ComponentVersions)
delete(rawMsg, key)
case "description":
err = unpopulate(val, "Description", &u.Description)
delete(rawMsg, key)
case "displayName":
err = unpopulate(val, "DisplayName", &u.DisplayName)
delete(rawMsg, key)
case "healthCheckDate":
err = unpopulateDateTimeRFC3339(val, "HealthCheckDate", &u.HealthCheckDate)
delete(rawMsg, key)
case "healthCheckResult":
err = unpopulate(val, "HealthCheckResult", &u.HealthCheckResult)
delete(rawMsg, key)
case "healthState":
err = unpopulate(val, "HealthState", &u.HealthState)
delete(rawMsg, key)
case "installedDate":
err = unpopulateDateTimeRFC3339(val, "InstalledDate", &u.InstalledDate)
delete(rawMsg, key)
case "minSbeVersionRequired":
err = unpopulate(val, "MinSbeVersionRequired", &u.MinSbeVersionRequired)
delete(rawMsg, key)
case "packagePath":
err = unpopulate(val, "PackagePath", &u.PackagePath)
delete(rawMsg, key)
case "packageSizeInMb":
err = unpopulate(val, "PackageSizeInMb", &u.PackageSizeInMb)
delete(rawMsg, key)
case "packageType":
err = unpopulate(val, "PackageType", &u.PackageType)
delete(rawMsg, key)
case "prerequisites":
err = unpopulate(val, "Prerequisites", &u.Prerequisites)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &u.ProvisioningState)
delete(rawMsg, key)
case "publisher":
err = unpopulate(val, "Publisher", &u.Publisher)
delete(rawMsg, key)
case "rebootRequired":
err = unpopulate(val, "RebootRequired", &u.RebootRequired)
delete(rawMsg, key)
case "releaseLink":
err = unpopulate(val, "ReleaseLink", &u.ReleaseLink)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &u.State)
delete(rawMsg, key)
case "updateStateProperties":
err = unpopulate(val, "UpdateStateProperties", &u.UpdateStateProperties)
delete(rawMsg, key)
case "version":
err = unpopulate(val, "Version", &u.Version)
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 UpdateRun.
func (u UpdateRun) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", u.ID)
populate(objectMap, "location", u.Location)
populate(objectMap, "name", u.Name)
populate(objectMap, "properties", u.Properties)
populate(objectMap, "systemData", u.SystemData)
populate(objectMap, "type", u.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateRun.
func (u *UpdateRun) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &u.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &u.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &u.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &u.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &u.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &u.Type)
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 UpdateRunList.
func (u UpdateRunList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", u.NextLink)
populate(objectMap, "value", u.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateRunList.
func (u *UpdateRunList) UnmarshalJSON(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 "nextLink":
err = unpopulate(val, "NextLink", &u.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &u.Value)
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 UpdateRunProperties.
func (u UpdateRunProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "duration", u.Duration)
populateDateTimeRFC3339(objectMap, "lastUpdatedTime", u.LastUpdatedTime)
populate(objectMap, "progress", u.Progress)
populate(objectMap, "provisioningState", u.ProvisioningState)
populate(objectMap, "state", u.State)
populateDateTimeRFC3339(objectMap, "timeStarted", u.TimeStarted)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateRunProperties.
func (u *UpdateRunProperties) UnmarshalJSON(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 "duration":
err = unpopulate(val, "Duration", &u.Duration)
delete(rawMsg, key)
case "lastUpdatedTime":
err = unpopulateDateTimeRFC3339(val, "LastUpdatedTime", &u.LastUpdatedTime)
delete(rawMsg, key)
case "progress":
err = unpopulate(val, "Progress", &u.Progress)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &u.ProvisioningState)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &u.State)
delete(rawMsg, key)
case "timeStarted":
err = unpopulateDateTimeRFC3339(val, "TimeStarted", &u.TimeStarted)
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 UpdateStateProperties.
func (u UpdateStateProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "notifyMessage", u.NotifyMessage)
populate(objectMap, "progressPercentage", u.ProgressPercentage)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateStateProperties.
func (u *UpdateStateProperties) UnmarshalJSON(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 "notifyMessage":
err = unpopulate(val, "NotifyMessage", &u.NotifyMessage)
delete(rawMsg, key)
case "progressPercentage":
err = unpopulate(val, "ProgressPercentage", &u.ProgressPercentage)
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 UpdateSummaries.
func (u UpdateSummaries) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", u.ID)
populate(objectMap, "location", u.Location)
populate(objectMap, "name", u.Name)
populate(objectMap, "properties", u.Properties)
populate(objectMap, "systemData", u.SystemData)
populate(objectMap, "type", u.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSummaries.
func (u *UpdateSummaries) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &u.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &u.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &u.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &u.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &u.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &u.Type)
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 UpdateSummariesList.
func (u UpdateSummariesList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", u.NextLink)
populate(objectMap, "value", u.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSummariesList.
func (u *UpdateSummariesList) UnmarshalJSON(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 "nextLink":
err = unpopulate(val, "NextLink", &u.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &u.Value)
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 UpdateSummariesProperties.
func (u UpdateSummariesProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "currentOemVersion", u.CurrentOemVersion)
populate(objectMap, "currentSbeVersion", u.CurrentSbeVersion)
populate(objectMap, "currentVersion", u.CurrentVersion)
populate(objectMap, "hardwareModel", u.HardwareModel)
populateDateTimeRFC3339(objectMap, "healthCheckDate", u.HealthCheckDate)
populate(objectMap, "healthCheckResult", u.HealthCheckResult)
populate(objectMap, "healthState", u.HealthState)
populateDateTimeRFC3339(objectMap, "lastChecked", u.LastChecked)
populateDateTimeRFC3339(objectMap, "lastUpdated", u.LastUpdated)
populate(objectMap, "oemFamily", u.OemFamily)
populate(objectMap, "packageVersions", u.PackageVersions)
populate(objectMap, "provisioningState", u.ProvisioningState)
populate(objectMap, "state", u.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSummariesProperties.
func (u *UpdateSummariesProperties) UnmarshalJSON(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 "currentOemVersion":
err = unpopulate(val, "CurrentOemVersion", &u.CurrentOemVersion)
delete(rawMsg, key)
case "currentSbeVersion":
err = unpopulate(val, "CurrentSbeVersion", &u.CurrentSbeVersion)
delete(rawMsg, key)
case "currentVersion":
err = unpopulate(val, "CurrentVersion", &u.CurrentVersion)
delete(rawMsg, key)
case "hardwareModel":
err = unpopulate(val, "HardwareModel", &u.HardwareModel)
delete(rawMsg, key)
case "healthCheckDate":
err = unpopulateDateTimeRFC3339(val, "HealthCheckDate", &u.HealthCheckDate)
delete(rawMsg, key)
case "healthCheckResult":
err = unpopulate(val, "HealthCheckResult", &u.HealthCheckResult)
delete(rawMsg, key)
case "healthState":
err = unpopulate(val, "HealthState", &u.HealthState)
delete(rawMsg, key)
case "lastChecked":
err = unpopulateDateTimeRFC3339(val, "LastChecked", &u.LastChecked)
delete(rawMsg, key)
case "lastUpdated":
err = unpopulateDateTimeRFC3339(val, "LastUpdated", &u.LastUpdated)
delete(rawMsg, key)
case "oemFamily":
err = unpopulate(val, "OemFamily", &u.OemFamily)
delete(rawMsg, key)
case "packageVersions":
err = unpopulate(val, "PackageVersions", &u.PackageVersions)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &u.ProvisioningState)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &u.State)
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 UploadCertificateRequest.
func (u UploadCertificateRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", u.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UploadCertificateRequest.
func (u *UploadCertificateRequest) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &u.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UserAssignedIdentity.
func (u UserAssignedIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "clientId", u.ClientID)
populate(objectMap, "principalId", u.PrincipalID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserAssignedIdentity.
func (u *UserAssignedIdentity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "clientId":
err = unpopulate(val, "ClientID", &u.ClientID)
delete(rawMsg, key)
case "principalId":
err = unpopulate(val, "PrincipalID", &u.PrincipalID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ValidateRequest.
func (v ValidateRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalInfo", v.AdditionalInfo)
populate(objectMap, "edgeDeviceIds", v.EdgeDeviceIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ValidateRequest.
func (v *ValidateRequest) UnmarshalJSON(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 "additionalInfo":
err = unpopulate(val, "AdditionalInfo", &v.AdditionalInfo)
delete(rawMsg, key)
case "edgeDeviceIds":
err = unpopulate(val, "EdgeDeviceIDs", &v.EdgeDeviceIDs)
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 ValidateResponse.
func (v ValidateResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "status", v.Status)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ValidateResponse.
func (v *ValidateResponse) UnmarshalJSON(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 "status":
err = unpopulate(val, "Status", &v.Status)
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
}