sdk/resourcemanager/storagesync/armstoragesync/models_serde.go (3,271 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 armstoragesync import ( "encoding/json" "fmt" "github.com/Azure/azure-sdk-for-go/sdk/azcore" "reflect" ) // MarshalJSON implements the json.Marshaller interface for type APIError. func (a APIError) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "code", a.Code) populate(objectMap, "details", a.Details) populate(objectMap, "innererror", a.Innererror) populate(objectMap, "message", a.Message) populate(objectMap, "target", a.Target) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type APIError. func (a *APIError) UnmarshalJSON(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 "code": err = unpopulate(val, "Code", &a.Code) delete(rawMsg, key) case "details": err = unpopulate(val, "Details", &a.Details) delete(rawMsg, key) case "innererror": err = unpopulate(val, "Innererror", &a.Innererror) delete(rawMsg, key) case "message": err = unpopulate(val, "Message", &a.Message) delete(rawMsg, key) case "target": err = unpopulate(val, "Target", &a.Target) 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 BackupRequest. func (b BackupRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "azureFileShare", b.AzureFileShare) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type BackupRequest. func (b *BackupRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", b, err) } for key, val := range rawMsg { var err error switch key { case "azureFileShare": err = unpopulate(val, "AzureFileShare", &b.AzureFileShare) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", b, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type CheckNameAvailabilityParameters. func (c CheckNameAvailabilityParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", c.Name) objectMap["type"] = "Microsoft.StorageSync/storageSyncServices" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CheckNameAvailabilityParameters. func (c *CheckNameAvailabilityParameters) UnmarshalJSON(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 "name": err = unpopulate(val, "Name", &c.Name) 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 CheckNameAvailabilityResult. func (c CheckNameAvailabilityResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "message", c.Message) populate(objectMap, "nameAvailable", c.NameAvailable) populate(objectMap, "reason", c.Reason) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CheckNameAvailabilityResult. func (c *CheckNameAvailabilityResult) UnmarshalJSON(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 "message": err = unpopulate(val, "Message", &c.Message) delete(rawMsg, key) case "nameAvailable": err = unpopulate(val, "NameAvailable", &c.NameAvailable) delete(rawMsg, key) case "reason": err = unpopulate(val, "Reason", &c.Reason) 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 CloudEndpoint. func (c CloudEndpoint) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", c.ID) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "systemData", c.SystemData) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpoint. func (c *CloudEndpoint) UnmarshalJSON(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 "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 "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 CloudEndpointArray. func (c CloudEndpointArray) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", c.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointArray. func (c *CloudEndpointArray) UnmarshalJSON(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 "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 CloudEndpointChangeEnumerationActivity. func (c CloudEndpointChangeEnumerationActivity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "deletesProgressPercent", c.DeletesProgressPercent) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) populate(objectMap, "minutesRemaining", c.MinutesRemaining) populate(objectMap, "operationState", c.OperationState) populate(objectMap, "processedDirectoriesCount", c.ProcessedDirectoriesCount) populate(objectMap, "processedFilesCount", c.ProcessedFilesCount) populate(objectMap, "progressPercent", c.ProgressPercent) populateDateTimeRFC3339(objectMap, "startedTimestamp", c.StartedTimestamp) populate(objectMap, "statusCode", c.StatusCode) populate(objectMap, "totalCountsState", c.TotalCountsState) populate(objectMap, "totalDirectoriesCount", c.TotalDirectoriesCount) populate(objectMap, "totalFilesCount", c.TotalFilesCount) populate(objectMap, "totalSizeBytes", c.TotalSizeBytes) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointChangeEnumerationActivity. func (c *CloudEndpointChangeEnumerationActivity) UnmarshalJSON(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 "deletesProgressPercent": err = unpopulate(val, "DeletesProgressPercent", &c.DeletesProgressPercent) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) delete(rawMsg, key) case "minutesRemaining": err = unpopulate(val, "MinutesRemaining", &c.MinutesRemaining) delete(rawMsg, key) case "operationState": err = unpopulate(val, "OperationState", &c.OperationState) delete(rawMsg, key) case "processedDirectoriesCount": err = unpopulate(val, "ProcessedDirectoriesCount", &c.ProcessedDirectoriesCount) delete(rawMsg, key) case "processedFilesCount": err = unpopulate(val, "ProcessedFilesCount", &c.ProcessedFilesCount) delete(rawMsg, key) case "progressPercent": err = unpopulate(val, "ProgressPercent", &c.ProgressPercent) delete(rawMsg, key) case "startedTimestamp": err = unpopulateDateTimeRFC3339(val, "StartedTimestamp", &c.StartedTimestamp) delete(rawMsg, key) case "statusCode": err = unpopulate(val, "StatusCode", &c.StatusCode) delete(rawMsg, key) case "totalCountsState": err = unpopulate(val, "TotalCountsState", &c.TotalCountsState) delete(rawMsg, key) case "totalDirectoriesCount": err = unpopulate(val, "TotalDirectoriesCount", &c.TotalDirectoriesCount) delete(rawMsg, key) case "totalFilesCount": err = unpopulate(val, "TotalFilesCount", &c.TotalFilesCount) delete(rawMsg, key) case "totalSizeBytes": err = unpopulate(val, "TotalSizeBytes", &c.TotalSizeBytes) 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 CloudEndpointChangeEnumerationStatus. func (c CloudEndpointChangeEnumerationStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "activity", c.Activity) populate(objectMap, "lastEnumerationStatus", c.LastEnumerationStatus) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointChangeEnumerationStatus. func (c *CloudEndpointChangeEnumerationStatus) UnmarshalJSON(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 "activity": err = unpopulate(val, "Activity", &c.Activity) delete(rawMsg, key) case "lastEnumerationStatus": err = unpopulate(val, "LastEnumerationStatus", &c.LastEnumerationStatus) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) 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 CloudEndpointCreateParameters. func (c CloudEndpointCreateParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", c.ID) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "systemData", c.SystemData) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointCreateParameters. func (c *CloudEndpointCreateParameters) UnmarshalJSON(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 "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 "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 CloudEndpointCreateParametersProperties. func (c CloudEndpointCreateParametersProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "azureFileShareName", c.AzureFileShareName) populate(objectMap, "friendlyName", c.FriendlyName) populate(objectMap, "storageAccountResourceId", c.StorageAccountResourceID) populate(objectMap, "storageAccountTenantId", c.StorageAccountTenantID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointCreateParametersProperties. func (c *CloudEndpointCreateParametersProperties) UnmarshalJSON(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 "azureFileShareName": err = unpopulate(val, "AzureFileShareName", &c.AzureFileShareName) delete(rawMsg, key) case "friendlyName": err = unpopulate(val, "FriendlyName", &c.FriendlyName) delete(rawMsg, key) case "storageAccountResourceId": err = unpopulate(val, "StorageAccountResourceID", &c.StorageAccountResourceID) delete(rawMsg, key) case "storageAccountTenantId": err = unpopulate(val, "StorageAccountTenantID", &c.StorageAccountTenantID) 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 CloudEndpointLastChangeEnumerationStatus. func (c CloudEndpointLastChangeEnumerationStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populateDateTimeRFC3339(objectMap, "completedTimestamp", c.CompletedTimestamp) populate(objectMap, "namespaceDirectoriesCount", c.NamespaceDirectoriesCount) populate(objectMap, "namespaceFilesCount", c.NamespaceFilesCount) populate(objectMap, "namespaceSizeBytes", c.NamespaceSizeBytes) populateDateTimeRFC3339(objectMap, "nextRunTimestamp", c.NextRunTimestamp) populateDateTimeRFC3339(objectMap, "startedTimestamp", c.StartedTimestamp) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointLastChangeEnumerationStatus. func (c *CloudEndpointLastChangeEnumerationStatus) UnmarshalJSON(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 "completedTimestamp": err = unpopulateDateTimeRFC3339(val, "CompletedTimestamp", &c.CompletedTimestamp) delete(rawMsg, key) case "namespaceDirectoriesCount": err = unpopulate(val, "NamespaceDirectoriesCount", &c.NamespaceDirectoriesCount) delete(rawMsg, key) case "namespaceFilesCount": err = unpopulate(val, "NamespaceFilesCount", &c.NamespaceFilesCount) delete(rawMsg, key) case "namespaceSizeBytes": err = unpopulate(val, "NamespaceSizeBytes", &c.NamespaceSizeBytes) delete(rawMsg, key) case "nextRunTimestamp": err = unpopulateDateTimeRFC3339(val, "NextRunTimestamp", &c.NextRunTimestamp) delete(rawMsg, key) case "startedTimestamp": err = unpopulateDateTimeRFC3339(val, "StartedTimestamp", &c.StartedTimestamp) 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 CloudEndpointProperties. func (c CloudEndpointProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "azureFileShareName", c.AzureFileShareName) populate(objectMap, "backupEnabled", c.BackupEnabled) populate(objectMap, "changeEnumerationStatus", c.ChangeEnumerationStatus) populate(objectMap, "friendlyName", c.FriendlyName) populate(objectMap, "lastOperationName", c.LastOperationName) populate(objectMap, "lastWorkflowId", c.LastWorkflowID) populate(objectMap, "partnershipId", c.PartnershipID) populate(objectMap, "provisioningState", c.ProvisioningState) populate(objectMap, "storageAccountResourceId", c.StorageAccountResourceID) populate(objectMap, "storageAccountTenantId", c.StorageAccountTenantID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudEndpointProperties. func (c *CloudEndpointProperties) UnmarshalJSON(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 "azureFileShareName": err = unpopulate(val, "AzureFileShareName", &c.AzureFileShareName) delete(rawMsg, key) case "backupEnabled": err = unpopulate(val, "BackupEnabled", &c.BackupEnabled) delete(rawMsg, key) case "changeEnumerationStatus": err = unpopulate(val, "ChangeEnumerationStatus", &c.ChangeEnumerationStatus) delete(rawMsg, key) case "friendlyName": err = unpopulate(val, "FriendlyName", &c.FriendlyName) delete(rawMsg, key) case "lastOperationName": err = unpopulate(val, "LastOperationName", &c.LastOperationName) delete(rawMsg, key) case "lastWorkflowId": err = unpopulate(val, "LastWorkflowID", &c.LastWorkflowID) delete(rawMsg, key) case "partnershipId": err = unpopulate(val, "PartnershipID", &c.PartnershipID) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) delete(rawMsg, key) case "storageAccountResourceId": err = unpopulate(val, "StorageAccountResourceID", &c.StorageAccountResourceID) delete(rawMsg, key) case "storageAccountTenantId": err = unpopulate(val, "StorageAccountTenantID", &c.StorageAccountTenantID) 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 CloudTieringCachePerformance. func (c CloudTieringCachePerformance) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cacheHitBytes", c.CacheHitBytes) populate(objectMap, "cacheHitBytesPercent", c.CacheHitBytesPercent) populate(objectMap, "cacheMissBytes", c.CacheMissBytes) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudTieringCachePerformance. func (c *CloudTieringCachePerformance) UnmarshalJSON(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 "cacheHitBytes": err = unpopulate(val, "CacheHitBytes", &c.CacheHitBytes) delete(rawMsg, key) case "cacheHitBytesPercent": err = unpopulate(val, "CacheHitBytesPercent", &c.CacheHitBytesPercent) delete(rawMsg, key) case "cacheMissBytes": err = unpopulate(val, "CacheMissBytes", &c.CacheMissBytes) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) 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 CloudTieringDatePolicyStatus. func (c CloudTieringDatePolicyStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) populateDateTimeRFC3339(objectMap, "tieredFilesMostRecentAccessTimestamp", c.TieredFilesMostRecentAccessTimestamp) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudTieringDatePolicyStatus. func (c *CloudTieringDatePolicyStatus) UnmarshalJSON(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 "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) delete(rawMsg, key) case "tieredFilesMostRecentAccessTimestamp": err = unpopulateDateTimeRFC3339(val, "TieredFilesMostRecentAccessTimestamp", &c.TieredFilesMostRecentAccessTimestamp) 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 CloudTieringFilesNotTiering. func (c CloudTieringFilesNotTiering) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "errors", c.Errors) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) populate(objectMap, "totalFileCount", c.TotalFileCount) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudTieringFilesNotTiering. func (c *CloudTieringFilesNotTiering) UnmarshalJSON(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 "errors": err = unpopulate(val, "Errors", &c.Errors) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) delete(rawMsg, key) case "totalFileCount": err = unpopulate(val, "TotalFileCount", &c.TotalFileCount) 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 CloudTieringSpaceSavings. func (c CloudTieringSpaceSavings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cachedSizeBytes", c.CachedSizeBytes) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) populate(objectMap, "spaceSavingsBytes", c.SpaceSavingsBytes) populate(objectMap, "spaceSavingsPercent", c.SpaceSavingsPercent) populate(objectMap, "totalSizeCloudBytes", c.TotalSizeCloudBytes) populate(objectMap, "volumeSizeBytes", c.VolumeSizeBytes) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudTieringSpaceSavings. func (c *CloudTieringSpaceSavings) UnmarshalJSON(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 "cachedSizeBytes": err = unpopulate(val, "CachedSizeBytes", &c.CachedSizeBytes) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) delete(rawMsg, key) case "spaceSavingsBytes": err = unpopulate(val, "SpaceSavingsBytes", &c.SpaceSavingsBytes) delete(rawMsg, key) case "spaceSavingsPercent": err = unpopulate(val, "SpaceSavingsPercent", &c.SpaceSavingsPercent) delete(rawMsg, key) case "totalSizeCloudBytes": err = unpopulate(val, "TotalSizeCloudBytes", &c.TotalSizeCloudBytes) delete(rawMsg, key) case "volumeSizeBytes": err = unpopulate(val, "VolumeSizeBytes", &c.VolumeSizeBytes) 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 CloudTieringVolumeFreeSpacePolicyStatus. func (c CloudTieringVolumeFreeSpacePolicyStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "currentVolumeFreeSpacePercent", c.CurrentVolumeFreeSpacePercent) populate(objectMap, "effectiveVolumeFreeSpacePolicy", c.EffectiveVolumeFreeSpacePolicy) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", c.LastUpdatedTimestamp) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CloudTieringVolumeFreeSpacePolicyStatus. func (c *CloudTieringVolumeFreeSpacePolicyStatus) UnmarshalJSON(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 "currentVolumeFreeSpacePercent": err = unpopulate(val, "CurrentVolumeFreeSpacePercent", &c.CurrentVolumeFreeSpacePercent) delete(rawMsg, key) case "effectiveVolumeFreeSpacePolicy": err = unpopulate(val, "EffectiveVolumeFreeSpacePolicy", &c.EffectiveVolumeFreeSpacePolicy) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &c.LastUpdatedTimestamp) 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 Error. func (e Error) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "error", e.Error) populate(objectMap, "innererror", e.Innererror) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Error. func (e *Error) UnmarshalJSON(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 "error": err = unpopulate(val, "Error", &e.Error) delete(rawMsg, key) case "innererror": err = unpopulate(val, "Innererror", &e.Innererror) 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 ErrorDetails. func (e ErrorDetails) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "code", e.Code) populate(objectMap, "exceptionType", e.ExceptionType) populate(objectMap, "httpErrorCode", e.HTTPErrorCode) populate(objectMap, "httpMethod", e.HTTPMethod) populate(objectMap, "hashedMessage", e.HashedMessage) populate(objectMap, "message", e.Message) populate(objectMap, "requestUri", e.RequestURI) populate(objectMap, "target", e.Target) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetails. func (e *ErrorDetails) UnmarshalJSON(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 "exceptionType": err = unpopulate(val, "ExceptionType", &e.ExceptionType) delete(rawMsg, key) case "httpErrorCode": err = unpopulate(val, "HTTPErrorCode", &e.HTTPErrorCode) delete(rawMsg, key) case "httpMethod": err = unpopulate(val, "HTTPMethod", &e.HTTPMethod) delete(rawMsg, key) case "hashedMessage": err = unpopulate(val, "HashedMessage", &e.HashedMessage) delete(rawMsg, key) case "message": err = unpopulate(val, "Message", &e.Message) delete(rawMsg, key) case "requestUri": err = unpopulate(val, "RequestURI", &e.RequestURI) delete(rawMsg, key) case "target": err = unpopulate(val, "Target", &e.Target) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", e, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type FilesNotTieringError. func (f FilesNotTieringError) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "errorCode", f.ErrorCode) populate(objectMap, "fileCount", f.FileCount) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FilesNotTieringError. func (f *FilesNotTieringError) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", f, err) } for key, val := range rawMsg { var err error switch key { case "errorCode": err = unpopulate(val, "ErrorCode", &f.ErrorCode) delete(rawMsg, key) case "fileCount": err = unpopulate(val, "FileCount", &f.FileCount) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", f, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type InnerErrorDetails. func (i InnerErrorDetails) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "callStack", i.CallStack) populate(objectMap, "innerException", i.InnerException) populate(objectMap, "innerExceptionCallStack", i.InnerExceptionCallStack) populate(objectMap, "message", i.Message) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type InnerErrorDetails. func (i *InnerErrorDetails) UnmarshalJSON(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 "callStack": err = unpopulate(val, "CallStack", &i.CallStack) delete(rawMsg, key) case "innerException": err = unpopulate(val, "InnerException", &i.InnerException) delete(rawMsg, key) case "innerExceptionCallStack": err = unpopulate(val, "InnerExceptionCallStack", &i.InnerExceptionCallStack) delete(rawMsg, key) case "message": err = unpopulate(val, "Message", &i.Message) 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 LocationOperationStatus. func (l LocationOperationStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populateDateTimeRFC3339(objectMap, "endTime", l.EndTime) populate(objectMap, "error", l.Error) populate(objectMap, "id", l.ID) populate(objectMap, "name", l.Name) populate(objectMap, "percentComplete", l.PercentComplete) populateDateTimeRFC3339(objectMap, "startTime", l.StartTime) populate(objectMap, "status", l.Status) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type LocationOperationStatus. func (l *LocationOperationStatus) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } for key, val := range rawMsg { var err error switch key { case "endTime": err = unpopulateDateTimeRFC3339(val, "EndTime", &l.EndTime) delete(rawMsg, key) case "error": err = unpopulate(val, "Error", &l.Error) delete(rawMsg, key) case "id": err = unpopulate(val, "ID", &l.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &l.Name) delete(rawMsg, key) case "percentComplete": err = unpopulate(val, "PercentComplete", &l.PercentComplete) delete(rawMsg, key) case "startTime": err = unpopulateDateTimeRFC3339(val, "StartTime", &l.StartTime) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &l.Status) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type OperationDisplayInfo. func (o OperationDisplayInfo) 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 OperationDisplayInfo. func (o *OperationDisplayInfo) UnmarshalJSON(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 OperationDisplayResource. func (o OperationDisplayResource) 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 OperationDisplayResource. func (o *OperationDisplayResource) UnmarshalJSON(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 OperationEntity. func (o OperationEntity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "display", o.Display) populate(objectMap, "name", o.Name) populate(objectMap, "origin", o.Origin) populate(objectMap, "properties", o.Properties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationEntity. func (o *OperationEntity) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "display": err = unpopulate(val, "Display", &o.Display) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &o.Name) delete(rawMsg, key) case "origin": err = unpopulate(val, "Origin", &o.Origin) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &o.Properties) 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 OperationEntityListResult. func (o OperationEntityListResult) 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 OperationEntityListResult. func (o *OperationEntityListResult) UnmarshalJSON(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 OperationProperties. func (o OperationProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "serviceSpecification", o.ServiceSpecification) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationProperties. func (o *OperationProperties) UnmarshalJSON(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 "serviceSpecification": err = unpopulate(val, "ServiceSpecification", &o.ServiceSpecification) 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 OperationResourceMetricSpecification. func (o OperationResourceMetricSpecification) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "aggregationType", o.AggregationType) populate(objectMap, "dimensions", o.Dimensions) populate(objectMap, "displayDescription", o.DisplayDescription) populate(objectMap, "displayName", o.DisplayName) populate(objectMap, "fillGapWithZero", o.FillGapWithZero) populate(objectMap, "name", o.Name) populate(objectMap, "supportedAggregationTypes", o.SupportedAggregationTypes) populate(objectMap, "unit", o.Unit) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationResourceMetricSpecification. func (o *OperationResourceMetricSpecification) UnmarshalJSON(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 "aggregationType": err = unpopulate(val, "AggregationType", &o.AggregationType) delete(rawMsg, key) case "dimensions": err = unpopulate(val, "Dimensions", &o.Dimensions) delete(rawMsg, key) case "displayDescription": err = unpopulate(val, "DisplayDescription", &o.DisplayDescription) delete(rawMsg, key) case "displayName": err = unpopulate(val, "DisplayName", &o.DisplayName) delete(rawMsg, key) case "fillGapWithZero": err = unpopulate(val, "FillGapWithZero", &o.FillGapWithZero) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &o.Name) delete(rawMsg, key) case "supportedAggregationTypes": err = unpopulate(val, "SupportedAggregationTypes", &o.SupportedAggregationTypes) delete(rawMsg, key) case "unit": err = unpopulate(val, "Unit", &o.Unit) 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 OperationResourceMetricSpecificationDimension. func (o OperationResourceMetricSpecificationDimension) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "displayName", o.DisplayName) populate(objectMap, "name", o.Name) populate(objectMap, "toBeExportedForShoebox", o.ToBeExportedForShoebox) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationResourceMetricSpecificationDimension. func (o *OperationResourceMetricSpecificationDimension) UnmarshalJSON(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 "displayName": err = unpopulate(val, "DisplayName", &o.DisplayName) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &o.Name) delete(rawMsg, key) case "toBeExportedForShoebox": err = unpopulate(val, "ToBeExportedForShoebox", &o.ToBeExportedForShoebox) 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 OperationResourceServiceSpecification. func (o OperationResourceServiceSpecification) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "metricSpecifications", o.MetricSpecifications) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationResourceServiceSpecification. func (o *OperationResourceServiceSpecification) UnmarshalJSON(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 "metricSpecifications": err = unpopulate(val, "MetricSpecifications", &o.MetricSpecifications) 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 OperationStatus. func (o OperationStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populateDateTimeRFC3339(objectMap, "endTime", o.EndTime) populate(objectMap, "error", o.Error) populate(objectMap, "name", o.Name) populateDateTimeRFC3339(objectMap, "startTime", o.StartTime) populate(objectMap, "status", o.Status) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatus. func (o *OperationStatus) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "endTime": err = unpopulateDateTimeRFC3339(val, "EndTime", &o.EndTime) delete(rawMsg, key) case "error": err = unpopulate(val, "Error", &o.Error) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &o.Name) delete(rawMsg, key) case "startTime": err = unpopulateDateTimeRFC3339(val, "StartTime", &o.StartTime) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &o.Status) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PostBackupResponse. func (p PostBackupResponse) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "backupMetadata", p.BackupMetadata) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PostBackupResponse. func (p *PostBackupResponse) UnmarshalJSON(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 "backupMetadata": err = unpopulate(val, "BackupMetadata", &p.BackupMetadata) 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 PostBackupResponseProperties. func (p PostBackupResponseProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cloudEndpointName", p.CloudEndpointName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PostBackupResponseProperties. func (p *PostBackupResponseProperties) UnmarshalJSON(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 "cloudEndpointName": err = unpopulate(val, "CloudEndpointName", &p.CloudEndpointName) 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 PostRestoreRequest. func (p PostRestoreRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "azureFileShareUri", p.AzureFileShareURI) populate(objectMap, "failedFileList", p.FailedFileList) populate(objectMap, "partition", p.Partition) populate(objectMap, "replicaGroup", p.ReplicaGroup) populate(objectMap, "requestId", p.RequestID) populate(objectMap, "restoreFileSpec", p.RestoreFileSpec) populate(objectMap, "sourceAzureFileShareUri", p.SourceAzureFileShareURI) populate(objectMap, "status", p.Status) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PostRestoreRequest. func (p *PostRestoreRequest) UnmarshalJSON(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 "azureFileShareUri": err = unpopulate(val, "AzureFileShareURI", &p.AzureFileShareURI) delete(rawMsg, key) case "failedFileList": err = unpopulate(val, "FailedFileList", &p.FailedFileList) delete(rawMsg, key) case "partition": err = unpopulate(val, "Partition", &p.Partition) delete(rawMsg, key) case "replicaGroup": err = unpopulate(val, "ReplicaGroup", &p.ReplicaGroup) delete(rawMsg, key) case "requestId": err = unpopulate(val, "RequestID", &p.RequestID) delete(rawMsg, key) case "restoreFileSpec": err = unpopulate(val, "RestoreFileSpec", &p.RestoreFileSpec) delete(rawMsg, key) case "sourceAzureFileShareUri": err = unpopulate(val, "SourceAzureFileShareURI", &p.SourceAzureFileShareURI) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &p.Status) 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 PreRestoreRequest. func (p PreRestoreRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "azureFileShareUri", p.AzureFileShareURI) populate(objectMap, "backupMetadataPropertyBag", p.BackupMetadataPropertyBag) populate(objectMap, "partition", p.Partition) populate(objectMap, "pauseWaitForSyncDrainTimePeriodInSeconds", p.PauseWaitForSyncDrainTimePeriodInSeconds) populate(objectMap, "replicaGroup", p.ReplicaGroup) populate(objectMap, "requestId", p.RequestID) populate(objectMap, "restoreFileSpec", p.RestoreFileSpec) populate(objectMap, "sourceAzureFileShareUri", p.SourceAzureFileShareURI) populate(objectMap, "status", p.Status) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PreRestoreRequest. func (p *PreRestoreRequest) UnmarshalJSON(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 "azureFileShareUri": err = unpopulate(val, "AzureFileShareURI", &p.AzureFileShareURI) delete(rawMsg, key) case "backupMetadataPropertyBag": err = unpopulate(val, "BackupMetadataPropertyBag", &p.BackupMetadataPropertyBag) delete(rawMsg, key) case "partition": err = unpopulate(val, "Partition", &p.Partition) delete(rawMsg, key) case "pauseWaitForSyncDrainTimePeriodInSeconds": err = unpopulate(val, "PauseWaitForSyncDrainTimePeriodInSeconds", &p.PauseWaitForSyncDrainTimePeriodInSeconds) delete(rawMsg, key) case "replicaGroup": err = unpopulate(val, "ReplicaGroup", &p.ReplicaGroup) delete(rawMsg, key) case "requestId": err = unpopulate(val, "RequestID", &p.RequestID) delete(rawMsg, key) case "restoreFileSpec": err = unpopulate(val, "RestoreFileSpec", &p.RestoreFileSpec) delete(rawMsg, key) case "sourceAzureFileShareUri": err = unpopulate(val, "SourceAzureFileShareURI", &p.SourceAzureFileShareURI) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &p.Status) 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 PrivateEndpoint. func (p PrivateEndpoint) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", p.ID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpoint. func (p *PrivateEndpoint) UnmarshalJSON(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) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnection. func (p PrivateEndpointConnection) 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 PrivateEndpointConnection. func (p *PrivateEndpointConnection) UnmarshalJSON(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 PrivateEndpointConnectionListResult. func (p PrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionListResult. func (p *PrivateEndpointConnectionListResult) UnmarshalJSON(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 "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 PrivateEndpointConnectionProperties. func (p PrivateEndpointConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "privateEndpoint", p.PrivateEndpoint) populate(objectMap, "privateLinkServiceConnectionState", p.PrivateLinkServiceConnectionState) populate(objectMap, "provisioningState", p.ProvisioningState) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionProperties. func (p *PrivateEndpointConnectionProperties) UnmarshalJSON(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 "privateEndpoint": err = unpopulate(val, "PrivateEndpoint", &p.PrivateEndpoint) delete(rawMsg, key) case "privateLinkServiceConnectionState": err = unpopulate(val, "PrivateLinkServiceConnectionState", &p.PrivateLinkServiceConnectionState) delete(rawMsg, 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 PrivateLinkResource. func (p PrivateLinkResource) 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 PrivateLinkResource. func (p *PrivateLinkResource) UnmarshalJSON(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 PrivateLinkResourceListResult. func (p PrivateLinkResourceListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkResourceListResult. func (p *PrivateLinkResourceListResult) UnmarshalJSON(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 "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 PrivateLinkResourceProperties. func (p PrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "groupId", p.GroupID) populate(objectMap, "requiredMembers", p.RequiredMembers) populate(objectMap, "requiredZoneNames", p.RequiredZoneNames) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkResourceProperties. func (p *PrivateLinkResourceProperties) UnmarshalJSON(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 "groupId": err = unpopulate(val, "GroupID", &p.GroupID) delete(rawMsg, key) case "requiredMembers": err = unpopulate(val, "RequiredMembers", &p.RequiredMembers) delete(rawMsg, key) case "requiredZoneNames": err = unpopulate(val, "RequiredZoneNames", &p.RequiredZoneNames) 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 PrivateLinkServiceConnectionState. func (p PrivateLinkServiceConnectionState) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "actionsRequired", p.ActionsRequired) populate(objectMap, "description", p.Description) populate(objectMap, "status", p.Status) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceConnectionState. func (p *PrivateLinkServiceConnectionState) UnmarshalJSON(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 "actionsRequired": err = unpopulate(val, "ActionsRequired", &p.ActionsRequired) delete(rawMsg, key) case "description": err = unpopulate(val, "Description", &p.Description) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &p.Status) 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 ProxyResource. func (p ProxyResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", p.ID) populate(objectMap, "name", p.Name) populate(objectMap, "systemData", p.SystemData) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ProxyResource. func (p *ProxyResource) UnmarshalJSON(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 "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 RecallActionParameters. func (r RecallActionParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "pattern", r.Pattern) populate(objectMap, "recallPath", r.RecallPath) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RecallActionParameters. func (r *RecallActionParameters) UnmarshalJSON(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 "pattern": err = unpopulate(val, "Pattern", &r.Pattern) delete(rawMsg, key) case "recallPath": err = unpopulate(val, "RecallPath", &r.RecallPath) 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 RegisteredServer. func (r RegisteredServer) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", r.ID) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) populate(objectMap, "systemData", r.SystemData) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RegisteredServer. func (r *RegisteredServer) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &r.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &r.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &r.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &r.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &r.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type RegisteredServerArray. func (r RegisteredServerArray) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RegisteredServerArray. func (r *RegisteredServerArray) UnmarshalJSON(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 "value": err = unpopulate(val, "Value", &r.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type RegisteredServerCreateParameters. func (r RegisteredServerCreateParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", r.ID) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) populate(objectMap, "systemData", r.SystemData) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RegisteredServerCreateParameters. func (r *RegisteredServerCreateParameters) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &r.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &r.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &r.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &r.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &r.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type RegisteredServerCreateParametersProperties. func (r RegisteredServerCreateParametersProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "agentVersion", r.AgentVersion) populate(objectMap, "clusterId", r.ClusterID) populate(objectMap, "clusterName", r.ClusterName) populate(objectMap, "friendlyName", r.FriendlyName) populate(objectMap, "lastHeartBeat", r.LastHeartBeat) populate(objectMap, "serverCertificate", r.ServerCertificate) populate(objectMap, "serverId", r.ServerID) populate(objectMap, "serverOSVersion", r.ServerOSVersion) populate(objectMap, "serverRole", r.ServerRole) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RegisteredServerCreateParametersProperties. func (r *RegisteredServerCreateParametersProperties) UnmarshalJSON(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 "agentVersion": err = unpopulate(val, "AgentVersion", &r.AgentVersion) delete(rawMsg, key) case "clusterId": err = unpopulate(val, "ClusterID", &r.ClusterID) delete(rawMsg, key) case "clusterName": err = unpopulate(val, "ClusterName", &r.ClusterName) delete(rawMsg, key) case "friendlyName": err = unpopulate(val, "FriendlyName", &r.FriendlyName) delete(rawMsg, key) case "lastHeartBeat": err = unpopulate(val, "LastHeartBeat", &r.LastHeartBeat) delete(rawMsg, key) case "serverCertificate": err = unpopulate(val, "ServerCertificate", &r.ServerCertificate) delete(rawMsg, key) case "serverId": err = unpopulate(val, "ServerID", &r.ServerID) delete(rawMsg, key) case "serverOSVersion": err = unpopulate(val, "ServerOSVersion", &r.ServerOSVersion) delete(rawMsg, key) case "serverRole": err = unpopulate(val, "ServerRole", &r.ServerRole) 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 RegisteredServerProperties. func (r RegisteredServerProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "agentVersion", r.AgentVersion) populateDateTimeRFC3339(objectMap, "agentVersionExpirationDate", r.AgentVersionExpirationDate) populate(objectMap, "agentVersionStatus", r.AgentVersionStatus) populate(objectMap, "clusterId", r.ClusterID) populate(objectMap, "clusterName", r.ClusterName) populate(objectMap, "discoveryEndpointUri", r.DiscoveryEndpointURI) populate(objectMap, "friendlyName", r.FriendlyName) populate(objectMap, "lastHeartBeat", r.LastHeartBeat) populate(objectMap, "lastOperationName", r.LastOperationName) populate(objectMap, "lastWorkflowId", r.LastWorkflowID) populate(objectMap, "managementEndpointUri", r.ManagementEndpointURI) populate(objectMap, "monitoringConfiguration", r.MonitoringConfiguration) populate(objectMap, "monitoringEndpointUri", r.MonitoringEndpointURI) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "resourceLocation", r.ResourceLocation) populate(objectMap, "serverCertificate", r.ServerCertificate) populate(objectMap, "serverId", r.ServerID) populate(objectMap, "serverManagementErrorCode", r.ServerManagementErrorCode) populate(objectMap, "serverName", r.ServerName) populate(objectMap, "serverOSVersion", r.ServerOSVersion) populate(objectMap, "serverRole", r.ServerRole) populate(objectMap, "serviceLocation", r.ServiceLocation) populate(objectMap, "storageSyncServiceUid", r.StorageSyncServiceUID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RegisteredServerProperties. func (r *RegisteredServerProperties) UnmarshalJSON(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 "agentVersion": err = unpopulate(val, "AgentVersion", &r.AgentVersion) delete(rawMsg, key) case "agentVersionExpirationDate": err = unpopulateDateTimeRFC3339(val, "AgentVersionExpirationDate", &r.AgentVersionExpirationDate) delete(rawMsg, key) case "agentVersionStatus": err = unpopulate(val, "AgentVersionStatus", &r.AgentVersionStatus) delete(rawMsg, key) case "clusterId": err = unpopulate(val, "ClusterID", &r.ClusterID) delete(rawMsg, key) case "clusterName": err = unpopulate(val, "ClusterName", &r.ClusterName) delete(rawMsg, key) case "discoveryEndpointUri": err = unpopulate(val, "DiscoveryEndpointURI", &r.DiscoveryEndpointURI) delete(rawMsg, key) case "friendlyName": err = unpopulate(val, "FriendlyName", &r.FriendlyName) delete(rawMsg, key) case "lastHeartBeat": err = unpopulate(val, "LastHeartBeat", &r.LastHeartBeat) delete(rawMsg, key) case "lastOperationName": err = unpopulate(val, "LastOperationName", &r.LastOperationName) delete(rawMsg, key) case "lastWorkflowId": err = unpopulate(val, "LastWorkflowID", &r.LastWorkflowID) delete(rawMsg, key) case "managementEndpointUri": err = unpopulate(val, "ManagementEndpointURI", &r.ManagementEndpointURI) delete(rawMsg, key) case "monitoringConfiguration": err = unpopulate(val, "MonitoringConfiguration", &r.MonitoringConfiguration) delete(rawMsg, key) case "monitoringEndpointUri": err = unpopulate(val, "MonitoringEndpointURI", &r.MonitoringEndpointURI) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) delete(rawMsg, key) case "resourceLocation": err = unpopulate(val, "ResourceLocation", &r.ResourceLocation) delete(rawMsg, key) case "serverCertificate": err = unpopulate(val, "ServerCertificate", &r.ServerCertificate) delete(rawMsg, key) case "serverId": err = unpopulate(val, "ServerID", &r.ServerID) delete(rawMsg, key) case "serverManagementErrorCode": err = unpopulate(val, "ServerManagementErrorCode", &r.ServerManagementErrorCode) delete(rawMsg, key) case "serverName": err = unpopulate(val, "ServerName", &r.ServerName) delete(rawMsg, key) case "serverOSVersion": err = unpopulate(val, "ServerOSVersion", &r.ServerOSVersion) delete(rawMsg, key) case "serverRole": err = unpopulate(val, "ServerRole", &r.ServerRole) delete(rawMsg, key) case "serviceLocation": err = unpopulate(val, "ServiceLocation", &r.ServiceLocation) delete(rawMsg, key) case "storageSyncServiceUid": err = unpopulate(val, "StorageSyncServiceUID", &r.StorageSyncServiceUID) 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 Resource. func (r Resource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", r.ID) populate(objectMap, "name", r.Name) populate(objectMap, "systemData", r.SystemData) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Resource. func (r *Resource) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &r.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &r.Name) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &r.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &r.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", r, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ResourcesMoveInfo. func (r ResourcesMoveInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "resources", r.Resources) populate(objectMap, "targetResourceGroup", r.TargetResourceGroup) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ResourcesMoveInfo. func (r *ResourcesMoveInfo) UnmarshalJSON(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 "resources": err = unpopulate(val, "Resources", &r.Resources) delete(rawMsg, key) case "targetResourceGroup": err = unpopulate(val, "TargetResourceGroup", &r.TargetResourceGroup) 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 RestoreFileSpec. func (r RestoreFileSpec) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "isdir", r.Isdir) populate(objectMap, "path", r.Path) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type RestoreFileSpec. func (r *RestoreFileSpec) UnmarshalJSON(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 "isdir": err = unpopulate(val, "Isdir", &r.Isdir) delete(rawMsg, key) case "path": err = unpopulate(val, "Path", &r.Path) 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 ServerEndpoint. func (s ServerEndpoint) 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 ServerEndpoint. func (s *ServerEndpoint) UnmarshalJSON(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 ServerEndpointArray. func (s ServerEndpointArray) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointArray. func (s *ServerEndpointArray) UnmarshalJSON(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 "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 ServerEndpointBackgroundDataDownloadActivity. func (s ServerEndpointBackgroundDataDownloadActivity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "downloadedBytes", s.DownloadedBytes) populate(objectMap, "percentProgress", s.PercentProgress) populateDateTimeRFC3339(objectMap, "startedTimestamp", s.StartedTimestamp) populateDateTimeRFC3339(objectMap, "timestamp", s.Timestamp) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointBackgroundDataDownloadActivity. func (s *ServerEndpointBackgroundDataDownloadActivity) UnmarshalJSON(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 "downloadedBytes": err = unpopulate(val, "DownloadedBytes", &s.DownloadedBytes) delete(rawMsg, key) case "percentProgress": err = unpopulate(val, "PercentProgress", &s.PercentProgress) delete(rawMsg, key) case "startedTimestamp": err = unpopulateDateTimeRFC3339(val, "StartedTimestamp", &s.StartedTimestamp) delete(rawMsg, key) case "timestamp": err = unpopulateDateTimeRFC3339(val, "Timestamp", &s.Timestamp) 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 ServerEndpointCloudTieringStatus. func (s ServerEndpointCloudTieringStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cachePerformance", s.CachePerformance) populate(objectMap, "datePolicyStatus", s.DatePolicyStatus) populate(objectMap, "filesNotTiering", s.FilesNotTiering) populate(objectMap, "health", s.Health) populateDateTimeRFC3339(objectMap, "healthLastUpdatedTimestamp", s.HealthLastUpdatedTimestamp) populate(objectMap, "lastCloudTieringResult", s.LastCloudTieringResult) populateDateTimeRFC3339(objectMap, "lastSuccessTimestamp", s.LastSuccessTimestamp) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", s.LastUpdatedTimestamp) populate(objectMap, "spaceSavings", s.SpaceSavings) populate(objectMap, "volumeFreeSpacePolicyStatus", s.VolumeFreeSpacePolicyStatus) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointCloudTieringStatus. func (s *ServerEndpointCloudTieringStatus) UnmarshalJSON(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 "cachePerformance": err = unpopulate(val, "CachePerformance", &s.CachePerformance) delete(rawMsg, key) case "datePolicyStatus": err = unpopulate(val, "DatePolicyStatus", &s.DatePolicyStatus) delete(rawMsg, key) case "filesNotTiering": err = unpopulate(val, "FilesNotTiering", &s.FilesNotTiering) delete(rawMsg, key) case "health": err = unpopulate(val, "Health", &s.Health) delete(rawMsg, key) case "healthLastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "HealthLastUpdatedTimestamp", &s.HealthLastUpdatedTimestamp) delete(rawMsg, key) case "lastCloudTieringResult": err = unpopulate(val, "LastCloudTieringResult", &s.LastCloudTieringResult) delete(rawMsg, key) case "lastSuccessTimestamp": err = unpopulateDateTimeRFC3339(val, "LastSuccessTimestamp", &s.LastSuccessTimestamp) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &s.LastUpdatedTimestamp) delete(rawMsg, key) case "spaceSavings": err = unpopulate(val, "SpaceSavings", &s.SpaceSavings) delete(rawMsg, key) case "volumeFreeSpacePolicyStatus": err = unpopulate(val, "VolumeFreeSpacePolicyStatus", &s.VolumeFreeSpacePolicyStatus) 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 ServerEndpointCreateParameters. func (s ServerEndpointCreateParameters) 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 ServerEndpointCreateParameters. func (s *ServerEndpointCreateParameters) UnmarshalJSON(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 ServerEndpointCreateParametersProperties. func (s ServerEndpointCreateParametersProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cloudTiering", s.CloudTiering) populate(objectMap, "friendlyName", s.FriendlyName) populate(objectMap, "initialDownloadPolicy", s.InitialDownloadPolicy) populate(objectMap, "initialUploadPolicy", s.InitialUploadPolicy) populate(objectMap, "localCacheMode", s.LocalCacheMode) populate(objectMap, "offlineDataTransfer", s.OfflineDataTransfer) populate(objectMap, "offlineDataTransferShareName", s.OfflineDataTransferShareName) populate(objectMap, "serverLocalPath", s.ServerLocalPath) populate(objectMap, "serverResourceId", s.ServerResourceID) populate(objectMap, "tierFilesOlderThanDays", s.TierFilesOlderThanDays) populate(objectMap, "volumeFreeSpacePercent", s.VolumeFreeSpacePercent) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointCreateParametersProperties. func (s *ServerEndpointCreateParametersProperties) UnmarshalJSON(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 "cloudTiering": err = unpopulate(val, "CloudTiering", &s.CloudTiering) delete(rawMsg, key) case "friendlyName": err = unpopulate(val, "FriendlyName", &s.FriendlyName) delete(rawMsg, key) case "initialDownloadPolicy": err = unpopulate(val, "InitialDownloadPolicy", &s.InitialDownloadPolicy) delete(rawMsg, key) case "initialUploadPolicy": err = unpopulate(val, "InitialUploadPolicy", &s.InitialUploadPolicy) delete(rawMsg, key) case "localCacheMode": err = unpopulate(val, "LocalCacheMode", &s.LocalCacheMode) delete(rawMsg, key) case "offlineDataTransfer": err = unpopulate(val, "OfflineDataTransfer", &s.OfflineDataTransfer) delete(rawMsg, key) case "offlineDataTransferShareName": err = unpopulate(val, "OfflineDataTransferShareName", &s.OfflineDataTransferShareName) delete(rawMsg, key) case "serverLocalPath": err = unpopulate(val, "ServerLocalPath", &s.ServerLocalPath) delete(rawMsg, key) case "serverResourceId": err = unpopulate(val, "ServerResourceID", &s.ServerResourceID) delete(rawMsg, key) case "tierFilesOlderThanDays": err = unpopulate(val, "TierFilesOlderThanDays", &s.TierFilesOlderThanDays) delete(rawMsg, key) case "volumeFreeSpacePercent": err = unpopulate(val, "VolumeFreeSpacePercent", &s.VolumeFreeSpacePercent) 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 ServerEndpointFilesNotSyncingError. func (s ServerEndpointFilesNotSyncingError) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "errorCode", s.ErrorCode) populate(objectMap, "persistentCount", s.PersistentCount) populate(objectMap, "transientCount", s.TransientCount) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointFilesNotSyncingError. func (s *ServerEndpointFilesNotSyncingError) UnmarshalJSON(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 "errorCode": err = unpopulate(val, "ErrorCode", &s.ErrorCode) delete(rawMsg, key) case "persistentCount": err = unpopulate(val, "PersistentCount", &s.PersistentCount) delete(rawMsg, key) case "transientCount": err = unpopulate(val, "TransientCount", &s.TransientCount) 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 ServerEndpointProperties. func (s ServerEndpointProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cloudTiering", s.CloudTiering) populate(objectMap, "cloudTieringStatus", s.CloudTieringStatus) populate(objectMap, "friendlyName", s.FriendlyName) populate(objectMap, "initialDownloadPolicy", s.InitialDownloadPolicy) populate(objectMap, "initialUploadPolicy", s.InitialUploadPolicy) populate(objectMap, "lastOperationName", s.LastOperationName) populate(objectMap, "lastWorkflowId", s.LastWorkflowID) populate(objectMap, "localCacheMode", s.LocalCacheMode) populate(objectMap, "offlineDataTransfer", s.OfflineDataTransfer) populate(objectMap, "offlineDataTransferShareName", s.OfflineDataTransferShareName) populate(objectMap, "offlineDataTransferStorageAccountResourceId", s.OfflineDataTransferStorageAccountResourceID) populate(objectMap, "offlineDataTransferStorageAccountTenantId", s.OfflineDataTransferStorageAccountTenantID) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "recallStatus", s.RecallStatus) populate(objectMap, "serverLocalPath", s.ServerLocalPath) populate(objectMap, "serverName", s.ServerName) populate(objectMap, "serverResourceId", s.ServerResourceID) populate(objectMap, "syncStatus", s.SyncStatus) populate(objectMap, "tierFilesOlderThanDays", s.TierFilesOlderThanDays) populate(objectMap, "volumeFreeSpacePercent", s.VolumeFreeSpacePercent) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointProperties. func (s *ServerEndpointProperties) UnmarshalJSON(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 "cloudTiering": err = unpopulate(val, "CloudTiering", &s.CloudTiering) delete(rawMsg, key) case "cloudTieringStatus": err = unpopulate(val, "CloudTieringStatus", &s.CloudTieringStatus) delete(rawMsg, key) case "friendlyName": err = unpopulate(val, "FriendlyName", &s.FriendlyName) delete(rawMsg, key) case "initialDownloadPolicy": err = unpopulate(val, "InitialDownloadPolicy", &s.InitialDownloadPolicy) delete(rawMsg, key) case "initialUploadPolicy": err = unpopulate(val, "InitialUploadPolicy", &s.InitialUploadPolicy) delete(rawMsg, key) case "lastOperationName": err = unpopulate(val, "LastOperationName", &s.LastOperationName) delete(rawMsg, key) case "lastWorkflowId": err = unpopulate(val, "LastWorkflowID", &s.LastWorkflowID) delete(rawMsg, key) case "localCacheMode": err = unpopulate(val, "LocalCacheMode", &s.LocalCacheMode) delete(rawMsg, key) case "offlineDataTransfer": err = unpopulate(val, "OfflineDataTransfer", &s.OfflineDataTransfer) delete(rawMsg, key) case "offlineDataTransferShareName": err = unpopulate(val, "OfflineDataTransferShareName", &s.OfflineDataTransferShareName) delete(rawMsg, key) case "offlineDataTransferStorageAccountResourceId": err = unpopulate(val, "OfflineDataTransferStorageAccountResourceID", &s.OfflineDataTransferStorageAccountResourceID) delete(rawMsg, key) case "offlineDataTransferStorageAccountTenantId": err = unpopulate(val, "OfflineDataTransferStorageAccountTenantID", &s.OfflineDataTransferStorageAccountTenantID) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) delete(rawMsg, key) case "recallStatus": err = unpopulate(val, "RecallStatus", &s.RecallStatus) delete(rawMsg, key) case "serverLocalPath": err = unpopulate(val, "ServerLocalPath", &s.ServerLocalPath) delete(rawMsg, key) case "serverName": err = unpopulate(val, "ServerName", &s.ServerName) delete(rawMsg, key) case "serverResourceId": err = unpopulate(val, "ServerResourceID", &s.ServerResourceID) delete(rawMsg, key) case "syncStatus": err = unpopulate(val, "SyncStatus", &s.SyncStatus) delete(rawMsg, key) case "tierFilesOlderThanDays": err = unpopulate(val, "TierFilesOlderThanDays", &s.TierFilesOlderThanDays) delete(rawMsg, key) case "volumeFreeSpacePercent": err = unpopulate(val, "VolumeFreeSpacePercent", &s.VolumeFreeSpacePercent) 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 ServerEndpointRecallError. func (s ServerEndpointRecallError) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "count", s.Count) populate(objectMap, "errorCode", s.ErrorCode) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointRecallError. func (s *ServerEndpointRecallError) UnmarshalJSON(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 "count": err = unpopulate(val, "Count", &s.Count) delete(rawMsg, key) case "errorCode": err = unpopulate(val, "ErrorCode", &s.ErrorCode) 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 ServerEndpointRecallStatus. func (s ServerEndpointRecallStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", s.LastUpdatedTimestamp) populate(objectMap, "recallErrors", s.RecallErrors) populate(objectMap, "totalRecallErrorsCount", s.TotalRecallErrorsCount) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointRecallStatus. func (s *ServerEndpointRecallStatus) UnmarshalJSON(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 "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &s.LastUpdatedTimestamp) delete(rawMsg, key) case "recallErrors": err = unpopulate(val, "RecallErrors", &s.RecallErrors) delete(rawMsg, key) case "totalRecallErrorsCount": err = unpopulate(val, "TotalRecallErrorsCount", &s.TotalRecallErrorsCount) 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 ServerEndpointSyncActivityStatus. func (s ServerEndpointSyncActivityStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "appliedBytes", s.AppliedBytes) populate(objectMap, "appliedItemCount", s.AppliedItemCount) populate(objectMap, "perItemErrorCount", s.PerItemErrorCount) populate(objectMap, "sessionMinutesRemaining", s.SessionMinutesRemaining) populate(objectMap, "syncMode", s.SyncMode) populateDateTimeRFC3339(objectMap, "timestamp", s.Timestamp) populate(objectMap, "totalBytes", s.TotalBytes) populate(objectMap, "totalItemCount", s.TotalItemCount) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointSyncActivityStatus. func (s *ServerEndpointSyncActivityStatus) UnmarshalJSON(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 "appliedBytes": err = unpopulate(val, "AppliedBytes", &s.AppliedBytes) delete(rawMsg, key) case "appliedItemCount": err = unpopulate(val, "AppliedItemCount", &s.AppliedItemCount) delete(rawMsg, key) case "perItemErrorCount": err = unpopulate(val, "PerItemErrorCount", &s.PerItemErrorCount) delete(rawMsg, key) case "sessionMinutesRemaining": err = unpopulate(val, "SessionMinutesRemaining", &s.SessionMinutesRemaining) delete(rawMsg, key) case "syncMode": err = unpopulate(val, "SyncMode", &s.SyncMode) delete(rawMsg, key) case "timestamp": err = unpopulateDateTimeRFC3339(val, "Timestamp", &s.Timestamp) delete(rawMsg, key) case "totalBytes": err = unpopulate(val, "TotalBytes", &s.TotalBytes) delete(rawMsg, key) case "totalItemCount": err = unpopulate(val, "TotalItemCount", &s.TotalItemCount) 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 ServerEndpointSyncSessionStatus. func (s ServerEndpointSyncSessionStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "filesNotSyncingErrors", s.FilesNotSyncingErrors) populate(objectMap, "lastSyncMode", s.LastSyncMode) populate(objectMap, "lastSyncPerItemErrorCount", s.LastSyncPerItemErrorCount) populate(objectMap, "lastSyncResult", s.LastSyncResult) populateDateTimeRFC3339(objectMap, "lastSyncSuccessTimestamp", s.LastSyncSuccessTimestamp) populateDateTimeRFC3339(objectMap, "lastSyncTimestamp", s.LastSyncTimestamp) populate(objectMap, "persistentFilesNotSyncingCount", s.PersistentFilesNotSyncingCount) populate(objectMap, "transientFilesNotSyncingCount", s.TransientFilesNotSyncingCount) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointSyncSessionStatus. func (s *ServerEndpointSyncSessionStatus) UnmarshalJSON(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 "filesNotSyncingErrors": err = unpopulate(val, "FilesNotSyncingErrors", &s.FilesNotSyncingErrors) delete(rawMsg, key) case "lastSyncMode": err = unpopulate(val, "LastSyncMode", &s.LastSyncMode) delete(rawMsg, key) case "lastSyncPerItemErrorCount": err = unpopulate(val, "LastSyncPerItemErrorCount", &s.LastSyncPerItemErrorCount) delete(rawMsg, key) case "lastSyncResult": err = unpopulate(val, "LastSyncResult", &s.LastSyncResult) delete(rawMsg, key) case "lastSyncSuccessTimestamp": err = unpopulateDateTimeRFC3339(val, "LastSyncSuccessTimestamp", &s.LastSyncSuccessTimestamp) delete(rawMsg, key) case "lastSyncTimestamp": err = unpopulateDateTimeRFC3339(val, "LastSyncTimestamp", &s.LastSyncTimestamp) delete(rawMsg, key) case "persistentFilesNotSyncingCount": err = unpopulate(val, "PersistentFilesNotSyncingCount", &s.PersistentFilesNotSyncingCount) delete(rawMsg, key) case "transientFilesNotSyncingCount": err = unpopulate(val, "TransientFilesNotSyncingCount", &s.TransientFilesNotSyncingCount) 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 ServerEndpointSyncStatus. func (s ServerEndpointSyncStatus) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "backgroundDataDownloadActivity", s.BackgroundDataDownloadActivity) populate(objectMap, "combinedHealth", s.CombinedHealth) populate(objectMap, "downloadActivity", s.DownloadActivity) populate(objectMap, "downloadHealth", s.DownloadHealth) populate(objectMap, "downloadStatus", s.DownloadStatus) populateDateTimeRFC3339(objectMap, "lastUpdatedTimestamp", s.LastUpdatedTimestamp) populate(objectMap, "offlineDataTransferStatus", s.OfflineDataTransferStatus) populate(objectMap, "syncActivity", s.SyncActivity) populate(objectMap, "totalPersistentFilesNotSyncingCount", s.TotalPersistentFilesNotSyncingCount) populate(objectMap, "uploadActivity", s.UploadActivity) populate(objectMap, "uploadHealth", s.UploadHealth) populate(objectMap, "uploadStatus", s.UploadStatus) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointSyncStatus. func (s *ServerEndpointSyncStatus) UnmarshalJSON(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 "backgroundDataDownloadActivity": err = unpopulate(val, "BackgroundDataDownloadActivity", &s.BackgroundDataDownloadActivity) delete(rawMsg, key) case "combinedHealth": err = unpopulate(val, "CombinedHealth", &s.CombinedHealth) delete(rawMsg, key) case "downloadActivity": err = unpopulate(val, "DownloadActivity", &s.DownloadActivity) delete(rawMsg, key) case "downloadHealth": err = unpopulate(val, "DownloadHealth", &s.DownloadHealth) delete(rawMsg, key) case "downloadStatus": err = unpopulate(val, "DownloadStatus", &s.DownloadStatus) delete(rawMsg, key) case "lastUpdatedTimestamp": err = unpopulateDateTimeRFC3339(val, "LastUpdatedTimestamp", &s.LastUpdatedTimestamp) delete(rawMsg, key) case "offlineDataTransferStatus": err = unpopulate(val, "OfflineDataTransferStatus", &s.OfflineDataTransferStatus) delete(rawMsg, key) case "syncActivity": err = unpopulate(val, "SyncActivity", &s.SyncActivity) delete(rawMsg, key) case "totalPersistentFilesNotSyncingCount": err = unpopulate(val, "TotalPersistentFilesNotSyncingCount", &s.TotalPersistentFilesNotSyncingCount) delete(rawMsg, key) case "uploadActivity": err = unpopulate(val, "UploadActivity", &s.UploadActivity) delete(rawMsg, key) case "uploadHealth": err = unpopulate(val, "UploadHealth", &s.UploadHealth) delete(rawMsg, key) case "uploadStatus": err = unpopulate(val, "UploadStatus", &s.UploadStatus) 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 ServerEndpointUpdateParameters. func (s ServerEndpointUpdateParameters) 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 ServerEndpointUpdateParameters. func (s *ServerEndpointUpdateParameters) UnmarshalJSON(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 ServerEndpointUpdateProperties. func (s ServerEndpointUpdateProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cloudTiering", s.CloudTiering) populate(objectMap, "localCacheMode", s.LocalCacheMode) populate(objectMap, "offlineDataTransfer", s.OfflineDataTransfer) populate(objectMap, "offlineDataTransferShareName", s.OfflineDataTransferShareName) populate(objectMap, "tierFilesOlderThanDays", s.TierFilesOlderThanDays) populate(objectMap, "volumeFreeSpacePercent", s.VolumeFreeSpacePercent) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServerEndpointUpdateProperties. func (s *ServerEndpointUpdateProperties) UnmarshalJSON(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 "cloudTiering": err = unpopulate(val, "CloudTiering", &s.CloudTiering) delete(rawMsg, key) case "localCacheMode": err = unpopulate(val, "LocalCacheMode", &s.LocalCacheMode) delete(rawMsg, key) case "offlineDataTransfer": err = unpopulate(val, "OfflineDataTransfer", &s.OfflineDataTransfer) delete(rawMsg, key) case "offlineDataTransferShareName": err = unpopulate(val, "OfflineDataTransferShareName", &s.OfflineDataTransferShareName) delete(rawMsg, key) case "tierFilesOlderThanDays": err = unpopulate(val, "TierFilesOlderThanDays", &s.TierFilesOlderThanDays) delete(rawMsg, key) case "volumeFreeSpacePercent": err = unpopulate(val, "VolumeFreeSpacePercent", &s.VolumeFreeSpacePercent) 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 Service. func (s Service) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", s.ID) populate(objectMap, "location", s.Location) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) populate(objectMap, "systemData", s.SystemData) populate(objectMap, "tags", s.Tags) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Service. func (s *Service) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &s.ID) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &s.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &s.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &s.SystemData) delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &s.Tags) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &s.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ServiceArray. func (s ServiceArray) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceArray. func (s *ServiceArray) UnmarshalJSON(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 "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 ServiceCreateParameters. func (s ServiceCreateParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "location", s.Location) populate(objectMap, "properties", s.Properties) populate(objectMap, "tags", s.Tags) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceCreateParameters. func (s *ServiceCreateParameters) UnmarshalJSON(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 "location": err = unpopulate(val, "Location", &s.Location) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &s.Properties) delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &s.Tags) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ServiceCreateParametersProperties. func (s ServiceCreateParametersProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "incomingTrafficPolicy", s.IncomingTrafficPolicy) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceCreateParametersProperties. func (s *ServiceCreateParametersProperties) UnmarshalJSON(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 "incomingTrafficPolicy": err = unpopulate(val, "IncomingTrafficPolicy", &s.IncomingTrafficPolicy) 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 ServiceProperties. func (s ServiceProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "incomingTrafficPolicy", s.IncomingTrafficPolicy) populate(objectMap, "lastOperationName", s.LastOperationName) populate(objectMap, "lastWorkflowId", s.LastWorkflowID) populate(objectMap, "privateEndpointConnections", s.PrivateEndpointConnections) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "storageSyncServiceStatus", s.StorageSyncServiceStatus) populate(objectMap, "storageSyncServiceUid", s.StorageSyncServiceUID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceProperties. func (s *ServiceProperties) UnmarshalJSON(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 "incomingTrafficPolicy": err = unpopulate(val, "IncomingTrafficPolicy", &s.IncomingTrafficPolicy) delete(rawMsg, key) case "lastOperationName": err = unpopulate(val, "LastOperationName", &s.LastOperationName) delete(rawMsg, key) case "lastWorkflowId": err = unpopulate(val, "LastWorkflowID", &s.LastWorkflowID) delete(rawMsg, key) case "privateEndpointConnections": err = unpopulate(val, "PrivateEndpointConnections", &s.PrivateEndpointConnections) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) delete(rawMsg, key) case "storageSyncServiceStatus": err = unpopulate(val, "StorageSyncServiceStatus", &s.StorageSyncServiceStatus) delete(rawMsg, key) case "storageSyncServiceUid": err = unpopulate(val, "StorageSyncServiceUID", &s.StorageSyncServiceUID) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ServiceUpdateParameters. func (s ServiceUpdateParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "properties", s.Properties) populate(objectMap, "tags", s.Tags) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceUpdateParameters. func (s *ServiceUpdateParameters) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "properties": err = unpopulate(val, "Properties", &s.Properties) delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &s.Tags) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ServiceUpdateProperties. func (s ServiceUpdateProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "incomingTrafficPolicy", s.IncomingTrafficPolicy) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ServiceUpdateProperties. func (s *ServiceUpdateProperties) UnmarshalJSON(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 "incomingTrafficPolicy": err = unpopulate(val, "IncomingTrafficPolicy", &s.IncomingTrafficPolicy) 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 SubscriptionState. func (s SubscriptionState) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "istransitioning", s.Istransitioning) populateAny(objectMap, "properties", s.Properties) populate(objectMap, "state", s.State) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionState. func (s *SubscriptionState) UnmarshalJSON(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 "istransitioning": err = unpopulate(val, "Istransitioning", &s.Istransitioning) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &s.Properties) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &s.State) 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 SyncGroup. func (s SyncGroup) 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 SyncGroup. func (s *SyncGroup) UnmarshalJSON(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 SyncGroupArray. func (s SyncGroupArray) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SyncGroupArray. func (s *SyncGroupArray) UnmarshalJSON(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 "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 SyncGroupCreateParameters. func (s SyncGroupCreateParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", s.ID) populate(objectMap, "name", s.Name) populateAny(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 SyncGroupCreateParameters. func (s *SyncGroupCreateParameters) UnmarshalJSON(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 SyncGroupProperties. func (s SyncGroupProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "syncGroupStatus", s.SyncGroupStatus) populate(objectMap, "uniqueId", s.UniqueID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SyncGroupProperties. func (s *SyncGroupProperties) UnmarshalJSON(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 "syncGroupStatus": err = unpopulate(val, "SyncGroupStatus", &s.SyncGroupStatus) delete(rawMsg, key) case "uniqueId": err = unpopulate(val, "UniqueID", &s.UniqueID) 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 TrackedResource. func (t TrackedResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", t.ID) populate(objectMap, "location", t.Location) populate(objectMap, "name", t.Name) populate(objectMap, "systemData", t.SystemData) populate(objectMap, "tags", t.Tags) populate(objectMap, "type", t.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type TrackedResource. func (t *TrackedResource) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &t.ID) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &t.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &t.Name) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &t.SystemData) delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &t.Tags) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &t.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type TriggerChangeDetectionParameters. func (t TriggerChangeDetectionParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "changeDetectionMode", t.ChangeDetectionMode) populate(objectMap, "directoryPath", t.DirectoryPath) populate(objectMap, "paths", t.Paths) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type TriggerChangeDetectionParameters. func (t *TriggerChangeDetectionParameters) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } for key, val := range rawMsg { var err error switch key { case "changeDetectionMode": err = unpopulate(val, "ChangeDetectionMode", &t.ChangeDetectionMode) delete(rawMsg, key) case "directoryPath": err = unpopulate(val, "DirectoryPath", &t.DirectoryPath) delete(rawMsg, key) case "paths": err = unpopulate(val, "Paths", &t.Paths) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type TriggerRolloverRequest. func (t TriggerRolloverRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "serverCertificate", t.ServerCertificate) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type TriggerRolloverRequest. func (t *TriggerRolloverRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } for key, val := range rawMsg { var err error switch key { case "serverCertificate": err = unpopulate(val, "ServerCertificate", &t.ServerCertificate) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type Workflow. func (w Workflow) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", w.ID) populate(objectMap, "name", w.Name) populate(objectMap, "properties", w.Properties) populate(objectMap, "systemData", w.SystemData) populate(objectMap, "type", w.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Workflow. func (w *Workflow) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", w, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &w.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &w.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &w.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &w.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &w.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", w, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type WorkflowArray. func (w WorkflowArray) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", w.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type WorkflowArray. func (w *WorkflowArray) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", w, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &w.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", w, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type WorkflowProperties. func (w WorkflowProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "commandName", w.CommandName) populateDateTimeRFC3339(objectMap, "createdTimestamp", w.CreatedTimestamp) populate(objectMap, "lastOperationId", w.LastOperationID) populateDateTimeRFC3339(objectMap, "lastStatusTimestamp", w.LastStatusTimestamp) populate(objectMap, "lastStepName", w.LastStepName) populate(objectMap, "operation", w.Operation) populate(objectMap, "status", w.Status) populate(objectMap, "steps", w.Steps) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type WorkflowProperties. func (w *WorkflowProperties) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", w, err) } for key, val := range rawMsg { var err error switch key { case "commandName": err = unpopulate(val, "CommandName", &w.CommandName) delete(rawMsg, key) case "createdTimestamp": err = unpopulateDateTimeRFC3339(val, "CreatedTimestamp", &w.CreatedTimestamp) delete(rawMsg, key) case "lastOperationId": err = unpopulate(val, "LastOperationID", &w.LastOperationID) delete(rawMsg, key) case "lastStatusTimestamp": err = unpopulateDateTimeRFC3339(val, "LastStatusTimestamp", &w.LastStatusTimestamp) delete(rawMsg, key) case "lastStepName": err = unpopulate(val, "LastStepName", &w.LastStepName) delete(rawMsg, key) case "operation": err = unpopulate(val, "Operation", &w.Operation) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &w.Status) delete(rawMsg, key) case "steps": err = unpopulate(val, "Steps", &w.Steps) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", w, 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 { return nil } if err := json.Unmarshal(data, v); err != nil { return fmt.Errorf("struct field %s: %v", fn, err) } return nil }