sdk/resourcemanager/dataprotection/armdataprotection/models_serde.go (5,602 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 armdataprotection
import (
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
"time"
)
// MarshalJSON implements the json.Marshaller interface for type AbsoluteDeleteOption.
func (a AbsoluteDeleteOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "duration", a.Duration)
objectMap["objectType"] = "AbsoluteDeleteOption"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AbsoluteDeleteOption.
func (a *AbsoluteDeleteOption) UnmarshalJSON(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 "duration":
err = unpopulate(val, "Duration", &a.Duration)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
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 AdHocBackupRuleOptions.
func (a AdHocBackupRuleOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "ruleName", a.RuleName)
populate(objectMap, "triggerOption", a.TriggerOption)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdHocBackupRuleOptions.
func (a *AdHocBackupRuleOptions) UnmarshalJSON(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 "ruleName":
err = unpopulate(val, "RuleName", &a.RuleName)
delete(rawMsg, key)
case "triggerOption":
err = unpopulate(val, "TriggerOption", &a.TriggerOption)
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 AdhocBackupTriggerOption.
func (a AdhocBackupTriggerOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "retentionTagOverride", a.RetentionTagOverride)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdhocBackupTriggerOption.
func (a *AdhocBackupTriggerOption) UnmarshalJSON(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 "retentionTagOverride":
err = unpopulate(val, "RetentionTagOverride", &a.RetentionTagOverride)
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 AdhocBasedTaggingCriteria.
func (a AdhocBasedTaggingCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tagInfo", a.TagInfo)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdhocBasedTaggingCriteria.
func (a *AdhocBasedTaggingCriteria) UnmarshalJSON(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 "tagInfo":
err = unpopulate(val, "TagInfo", &a.TagInfo)
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 AdhocBasedTriggerContext.
func (a AdhocBasedTriggerContext) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "AdhocBasedTriggerContext"
populate(objectMap, "taggingCriteria", a.TaggingCriteria)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdhocBasedTriggerContext.
func (a *AdhocBasedTriggerContext) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "taggingCriteria":
err = unpopulate(val, "TaggingCriteria", &a.TaggingCriteria)
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 AuthCredentials.
func (a AuthCredentials) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = a.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AuthCredentials.
func (a *AuthCredentials) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
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 AzureBackupDiscreteRecoveryPoint.
func (a AzureBackupDiscreteRecoveryPoint) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "expiryTime", a.ExpiryTime)
populate(objectMap, "friendlyName", a.FriendlyName)
objectMap["objectType"] = "AzureBackupDiscreteRecoveryPoint"
populate(objectMap, "policyName", a.PolicyName)
populate(objectMap, "policyVersion", a.PolicyVersion)
populate(objectMap, "recoveryPointDataStoresDetails", a.RecoveryPointDataStoresDetails)
populate(objectMap, "recoveryPointId", a.RecoveryPointID)
populate(objectMap, "recoveryPointState", a.RecoveryPointState)
populateDateTimeRFC3339(objectMap, "recoveryPointTime", a.RecoveryPointTime)
populate(objectMap, "recoveryPointType", a.RecoveryPointType)
populate(objectMap, "retentionTagName", a.RetentionTagName)
populate(objectMap, "retentionTagVersion", a.RetentionTagVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupDiscreteRecoveryPoint.
func (a *AzureBackupDiscreteRecoveryPoint) UnmarshalJSON(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 "expiryTime":
err = unpopulateDateTimeRFC3339(val, "ExpiryTime", &a.ExpiryTime)
delete(rawMsg, key)
case "friendlyName":
err = unpopulate(val, "FriendlyName", &a.FriendlyName)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "policyName":
err = unpopulate(val, "PolicyName", &a.PolicyName)
delete(rawMsg, key)
case "policyVersion":
err = unpopulate(val, "PolicyVersion", &a.PolicyVersion)
delete(rawMsg, key)
case "recoveryPointDataStoresDetails":
err = unpopulate(val, "RecoveryPointDataStoresDetails", &a.RecoveryPointDataStoresDetails)
delete(rawMsg, key)
case "recoveryPointId":
err = unpopulate(val, "RecoveryPointID", &a.RecoveryPointID)
delete(rawMsg, key)
case "recoveryPointState":
err = unpopulate(val, "RecoveryPointState", &a.RecoveryPointState)
delete(rawMsg, key)
case "recoveryPointTime":
err = unpopulateDateTimeRFC3339(val, "RecoveryPointTime", &a.RecoveryPointTime)
delete(rawMsg, key)
case "recoveryPointType":
err = unpopulate(val, "RecoveryPointType", &a.RecoveryPointType)
delete(rawMsg, key)
case "retentionTagName":
err = unpopulate(val, "RetentionTagName", &a.RetentionTagName)
delete(rawMsg, key)
case "retentionTagVersion":
err = unpopulate(val, "RetentionTagVersion", &a.RetentionTagVersion)
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 AzureBackupFindRestorableTimeRangesRequest.
func (a AzureBackupFindRestorableTimeRangesRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endTime", a.EndTime)
populate(objectMap, "sourceDataStoreType", a.SourceDataStoreType)
populate(objectMap, "startTime", a.StartTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupFindRestorableTimeRangesRequest.
func (a *AzureBackupFindRestorableTimeRangesRequest) UnmarshalJSON(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 "endTime":
err = unpopulate(val, "EndTime", &a.EndTime)
delete(rawMsg, key)
case "sourceDataStoreType":
err = unpopulate(val, "SourceDataStoreType", &a.SourceDataStoreType)
delete(rawMsg, key)
case "startTime":
err = unpopulate(val, "StartTime", &a.StartTime)
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 AzureBackupFindRestorableTimeRangesRequestResource.
func (a AzureBackupFindRestorableTimeRangesRequestResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "content", a.Content)
populate(objectMap, "cultureInfo", a.CultureInfo)
populate(objectMap, "httpMethod", a.HTTPMethod)
populate(objectMap, "headers", a.Headers)
populate(objectMap, "parameters", a.Parameters)
populate(objectMap, "subscriptionId", a.SubscriptionID)
populate(objectMap, "supportedGroupVersions", a.SupportedGroupVersions)
populate(objectMap, "uri", a.URI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupFindRestorableTimeRangesRequestResource.
func (a *AzureBackupFindRestorableTimeRangesRequestResource) UnmarshalJSON(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 "content":
err = unpopulate(val, "Content", &a.Content)
delete(rawMsg, key)
case "cultureInfo":
err = unpopulate(val, "CultureInfo", &a.CultureInfo)
delete(rawMsg, key)
case "httpMethod":
err = unpopulate(val, "HTTPMethod", &a.HTTPMethod)
delete(rawMsg, key)
case "headers":
err = unpopulate(val, "Headers", &a.Headers)
delete(rawMsg, key)
case "parameters":
err = unpopulate(val, "Parameters", &a.Parameters)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &a.SubscriptionID)
delete(rawMsg, key)
case "supportedGroupVersions":
err = unpopulate(val, "SupportedGroupVersions", &a.SupportedGroupVersions)
delete(rawMsg, key)
case "uri":
err = unpopulate(val, "URI", &a.URI)
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 AzureBackupFindRestorableTimeRangesResponse.
func (a AzureBackupFindRestorableTimeRangesResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "objectType", a.ObjectType)
populate(objectMap, "restorableTimeRanges", a.RestorableTimeRanges)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupFindRestorableTimeRangesResponse.
func (a *AzureBackupFindRestorableTimeRangesResponse) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "restorableTimeRanges":
err = unpopulate(val, "RestorableTimeRanges", &a.RestorableTimeRanges)
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 AzureBackupFindRestorableTimeRangesResponseResource.
func (a AzureBackupFindRestorableTimeRangesResponseResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupFindRestorableTimeRangesResponseResource.
func (a *AzureBackupFindRestorableTimeRangesResponseResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AzureBackupJob.
func (a AzureBackupJob) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "activityID", a.ActivityID)
populate(objectMap, "backupInstanceFriendlyName", a.BackupInstanceFriendlyName)
populate(objectMap, "backupInstanceId", a.BackupInstanceID)
populate(objectMap, "dataSourceId", a.DataSourceID)
populate(objectMap, "dataSourceLocation", a.DataSourceLocation)
populate(objectMap, "dataSourceName", a.DataSourceName)
populate(objectMap, "dataSourceSetName", a.DataSourceSetName)
populate(objectMap, "dataSourceType", a.DataSourceType)
populate(objectMap, "destinationDataStoreName", a.DestinationDataStoreName)
populate(objectMap, "duration", a.Duration)
populateDateTimeRFC3339(objectMap, "endTime", a.EndTime)
populate(objectMap, "errorDetails", a.ErrorDetails)
populate(objectMap, "etag", a.Etag)
populate(objectMap, "extendedInfo", a.ExtendedInfo)
populate(objectMap, "isUserTriggered", a.IsUserTriggered)
populate(objectMap, "operation", a.Operation)
populate(objectMap, "operationCategory", a.OperationCategory)
populate(objectMap, "policyId", a.PolicyID)
populate(objectMap, "policyName", a.PolicyName)
populate(objectMap, "progressEnabled", a.ProgressEnabled)
populate(objectMap, "progressUrl", a.ProgressURL)
populate(objectMap, "rehydrationPriority", a.RehydrationPriority)
populate(objectMap, "restoreType", a.RestoreType)
populate(objectMap, "sourceDataStoreName", a.SourceDataStoreName)
populate(objectMap, "sourceResourceGroup", a.SourceResourceGroup)
populate(objectMap, "sourceSubscriptionID", a.SourceSubscriptionID)
populateDateTimeRFC3339(objectMap, "startTime", a.StartTime)
populate(objectMap, "status", a.Status)
populate(objectMap, "subscriptionId", a.SubscriptionID)
populate(objectMap, "supportedActions", a.SupportedActions)
populate(objectMap, "vaultName", a.VaultName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupJob.
func (a *AzureBackupJob) UnmarshalJSON(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 "activityID":
err = unpopulate(val, "ActivityID", &a.ActivityID)
delete(rawMsg, key)
case "backupInstanceFriendlyName":
err = unpopulate(val, "BackupInstanceFriendlyName", &a.BackupInstanceFriendlyName)
delete(rawMsg, key)
case "backupInstanceId":
err = unpopulate(val, "BackupInstanceID", &a.BackupInstanceID)
delete(rawMsg, key)
case "dataSourceId":
err = unpopulate(val, "DataSourceID", &a.DataSourceID)
delete(rawMsg, key)
case "dataSourceLocation":
err = unpopulate(val, "DataSourceLocation", &a.DataSourceLocation)
delete(rawMsg, key)
case "dataSourceName":
err = unpopulate(val, "DataSourceName", &a.DataSourceName)
delete(rawMsg, key)
case "dataSourceSetName":
err = unpopulate(val, "DataSourceSetName", &a.DataSourceSetName)
delete(rawMsg, key)
case "dataSourceType":
err = unpopulate(val, "DataSourceType", &a.DataSourceType)
delete(rawMsg, key)
case "destinationDataStoreName":
err = unpopulate(val, "DestinationDataStoreName", &a.DestinationDataStoreName)
delete(rawMsg, key)
case "duration":
err = unpopulate(val, "Duration", &a.Duration)
delete(rawMsg, key)
case "endTime":
err = unpopulateDateTimeRFC3339(val, "EndTime", &a.EndTime)
delete(rawMsg, key)
case "errorDetails":
err = unpopulate(val, "ErrorDetails", &a.ErrorDetails)
delete(rawMsg, key)
case "etag":
err = unpopulate(val, "Etag", &a.Etag)
delete(rawMsg, key)
case "extendedInfo":
err = unpopulate(val, "ExtendedInfo", &a.ExtendedInfo)
delete(rawMsg, key)
case "isUserTriggered":
err = unpopulate(val, "IsUserTriggered", &a.IsUserTriggered)
delete(rawMsg, key)
case "operation":
err = unpopulate(val, "Operation", &a.Operation)
delete(rawMsg, key)
case "operationCategory":
err = unpopulate(val, "OperationCategory", &a.OperationCategory)
delete(rawMsg, key)
case "policyId":
err = unpopulate(val, "PolicyID", &a.PolicyID)
delete(rawMsg, key)
case "policyName":
err = unpopulate(val, "PolicyName", &a.PolicyName)
delete(rawMsg, key)
case "progressEnabled":
err = unpopulate(val, "ProgressEnabled", &a.ProgressEnabled)
delete(rawMsg, key)
case "progressUrl":
err = unpopulate(val, "ProgressURL", &a.ProgressURL)
delete(rawMsg, key)
case "rehydrationPriority":
err = unpopulate(val, "RehydrationPriority", &a.RehydrationPriority)
delete(rawMsg, key)
case "restoreType":
err = unpopulate(val, "RestoreType", &a.RestoreType)
delete(rawMsg, key)
case "sourceDataStoreName":
err = unpopulate(val, "SourceDataStoreName", &a.SourceDataStoreName)
delete(rawMsg, key)
case "sourceResourceGroup":
err = unpopulate(val, "SourceResourceGroup", &a.SourceResourceGroup)
delete(rawMsg, key)
case "sourceSubscriptionID":
err = unpopulate(val, "SourceSubscriptionID", &a.SourceSubscriptionID)
delete(rawMsg, key)
case "startTime":
err = unpopulateDateTimeRFC3339(val, "StartTime", &a.StartTime)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &a.Status)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &a.SubscriptionID)
delete(rawMsg, key)
case "supportedActions":
err = unpopulate(val, "SupportedActions", &a.SupportedActions)
delete(rawMsg, key)
case "vaultName":
err = unpopulate(val, "VaultName", &a.VaultName)
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 AzureBackupJobResource.
func (a AzureBackupJobResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupJobResource.
func (a *AzureBackupJobResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AzureBackupJobResourceList.
func (a AzureBackupJobResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", a.NextLink)
populate(objectMap, "value", a.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupJobResourceList.
func (a *AzureBackupJobResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &a.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &a.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AzureBackupParams.
func (a AzureBackupParams) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backupType", a.BackupType)
objectMap["objectType"] = "AzureBackupParams"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupParams.
func (a *AzureBackupParams) UnmarshalJSON(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 "backupType":
err = unpopulate(val, "BackupType", &a.BackupType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
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 AzureBackupRecoveryPoint.
func (a AzureBackupRecoveryPoint) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = a.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRecoveryPoint.
func (a *AzureBackupRecoveryPoint) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
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 AzureBackupRecoveryPointBasedRestoreRequest.
func (a AzureBackupRecoveryPointBasedRestoreRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identityDetails", a.IdentityDetails)
objectMap["objectType"] = "AzureBackupRecoveryPointBasedRestoreRequest"
populate(objectMap, "recoveryPointId", a.RecoveryPointID)
populate(objectMap, "resourceGuardOperationRequests", a.ResourceGuardOperationRequests)
populate(objectMap, "restoreTargetInfo", a.RestoreTargetInfo)
populate(objectMap, "sourceDataStoreType", a.SourceDataStoreType)
populate(objectMap, "sourceResourceId", a.SourceResourceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRecoveryPointBasedRestoreRequest.
func (a *AzureBackupRecoveryPointBasedRestoreRequest) UnmarshalJSON(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 "identityDetails":
err = unpopulate(val, "IdentityDetails", &a.IdentityDetails)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "recoveryPointId":
err = unpopulate(val, "RecoveryPointID", &a.RecoveryPointID)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &a.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "restoreTargetInfo":
a.RestoreTargetInfo, err = unmarshalRestoreTargetInfoBaseClassification(val)
delete(rawMsg, key)
case "sourceDataStoreType":
err = unpopulate(val, "SourceDataStoreType", &a.SourceDataStoreType)
delete(rawMsg, key)
case "sourceResourceId":
err = unpopulate(val, "SourceResourceID", &a.SourceResourceID)
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 AzureBackupRecoveryPointResource.
func (a AzureBackupRecoveryPointResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRecoveryPointResource.
func (a *AzureBackupRecoveryPointResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
a.Properties, err = unmarshalAzureBackupRecoveryPointClassification(val)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AzureBackupRecoveryPointResourceList.
func (a AzureBackupRecoveryPointResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", a.NextLink)
populate(objectMap, "value", a.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRecoveryPointResourceList.
func (a *AzureBackupRecoveryPointResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &a.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &a.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AzureBackupRecoveryTimeBasedRestoreRequest.
func (a AzureBackupRecoveryTimeBasedRestoreRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identityDetails", a.IdentityDetails)
objectMap["objectType"] = "AzureBackupRecoveryTimeBasedRestoreRequest"
populate(objectMap, "recoveryPointTime", a.RecoveryPointTime)
populate(objectMap, "resourceGuardOperationRequests", a.ResourceGuardOperationRequests)
populate(objectMap, "restoreTargetInfo", a.RestoreTargetInfo)
populate(objectMap, "sourceDataStoreType", a.SourceDataStoreType)
populate(objectMap, "sourceResourceId", a.SourceResourceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRecoveryTimeBasedRestoreRequest.
func (a *AzureBackupRecoveryTimeBasedRestoreRequest) UnmarshalJSON(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 "identityDetails":
err = unpopulate(val, "IdentityDetails", &a.IdentityDetails)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "recoveryPointTime":
err = unpopulate(val, "RecoveryPointTime", &a.RecoveryPointTime)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &a.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "restoreTargetInfo":
a.RestoreTargetInfo, err = unmarshalRestoreTargetInfoBaseClassification(val)
delete(rawMsg, key)
case "sourceDataStoreType":
err = unpopulate(val, "SourceDataStoreType", &a.SourceDataStoreType)
delete(rawMsg, key)
case "sourceResourceId":
err = unpopulate(val, "SourceResourceID", &a.SourceResourceID)
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 AzureBackupRehydrationRequest.
func (a AzureBackupRehydrationRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "recoveryPointId", a.RecoveryPointID)
populate(objectMap, "rehydrationPriority", a.RehydrationPriority)
populate(objectMap, "rehydrationRetentionDuration", a.RehydrationRetentionDuration)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRehydrationRequest.
func (a *AzureBackupRehydrationRequest) UnmarshalJSON(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 "recoveryPointId":
err = unpopulate(val, "RecoveryPointID", &a.RecoveryPointID)
delete(rawMsg, key)
case "rehydrationPriority":
err = unpopulate(val, "RehydrationPriority", &a.RehydrationPriority)
delete(rawMsg, key)
case "rehydrationRetentionDuration":
err = unpopulate(val, "RehydrationRetentionDuration", &a.RehydrationRetentionDuration)
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 AzureBackupRestoreRequest.
func (a AzureBackupRestoreRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identityDetails", a.IdentityDetails)
objectMap["objectType"] = a.ObjectType
populate(objectMap, "resourceGuardOperationRequests", a.ResourceGuardOperationRequests)
populate(objectMap, "restoreTargetInfo", a.RestoreTargetInfo)
populate(objectMap, "sourceDataStoreType", a.SourceDataStoreType)
populate(objectMap, "sourceResourceId", a.SourceResourceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRestoreRequest.
func (a *AzureBackupRestoreRequest) UnmarshalJSON(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 "identityDetails":
err = unpopulate(val, "IdentityDetails", &a.IdentityDetails)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &a.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "restoreTargetInfo":
a.RestoreTargetInfo, err = unmarshalRestoreTargetInfoBaseClassification(val)
delete(rawMsg, key)
case "sourceDataStoreType":
err = unpopulate(val, "SourceDataStoreType", &a.SourceDataStoreType)
delete(rawMsg, key)
case "sourceResourceId":
err = unpopulate(val, "SourceResourceID", &a.SourceResourceID)
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 AzureBackupRestoreWithRehydrationRequest.
func (a AzureBackupRestoreWithRehydrationRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identityDetails", a.IdentityDetails)
objectMap["objectType"] = "AzureBackupRestoreWithRehydrationRequest"
populate(objectMap, "recoveryPointId", a.RecoveryPointID)
populate(objectMap, "rehydrationPriority", a.RehydrationPriority)
populate(objectMap, "rehydrationRetentionDuration", a.RehydrationRetentionDuration)
populate(objectMap, "resourceGuardOperationRequests", a.ResourceGuardOperationRequests)
populate(objectMap, "restoreTargetInfo", a.RestoreTargetInfo)
populate(objectMap, "sourceDataStoreType", a.SourceDataStoreType)
populate(objectMap, "sourceResourceId", a.SourceResourceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRestoreWithRehydrationRequest.
func (a *AzureBackupRestoreWithRehydrationRequest) UnmarshalJSON(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 "identityDetails":
err = unpopulate(val, "IdentityDetails", &a.IdentityDetails)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "recoveryPointId":
err = unpopulate(val, "RecoveryPointID", &a.RecoveryPointID)
delete(rawMsg, key)
case "rehydrationPriority":
err = unpopulate(val, "RehydrationPriority", &a.RehydrationPriority)
delete(rawMsg, key)
case "rehydrationRetentionDuration":
err = unpopulate(val, "RehydrationRetentionDuration", &a.RehydrationRetentionDuration)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &a.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "restoreTargetInfo":
a.RestoreTargetInfo, err = unmarshalRestoreTargetInfoBaseClassification(val)
delete(rawMsg, key)
case "sourceDataStoreType":
err = unpopulate(val, "SourceDataStoreType", &a.SourceDataStoreType)
delete(rawMsg, key)
case "sourceResourceId":
err = unpopulate(val, "SourceResourceID", &a.SourceResourceID)
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 AzureBackupRule.
func (a AzureBackupRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backupParameters", a.BackupParameters)
populate(objectMap, "dataStore", a.DataStore)
populate(objectMap, "name", a.Name)
objectMap["objectType"] = "AzureBackupRule"
populate(objectMap, "trigger", a.Trigger)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureBackupRule.
func (a *AzureBackupRule) UnmarshalJSON(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 "backupParameters":
a.BackupParameters, err = unmarshalBackupParametersClassification(val)
delete(rawMsg, key)
case "dataStore":
err = unpopulate(val, "DataStore", &a.DataStore)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "trigger":
a.Trigger, err = unmarshalTriggerContextClassification(val)
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 AzureMonitorAlertSettings.
func (a AzureMonitorAlertSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "alertsForAllJobFailures", a.AlertsForAllJobFailures)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureMonitorAlertSettings.
func (a *AzureMonitorAlertSettings) UnmarshalJSON(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 "alertsForAllJobFailures":
err = unpopulate(val, "AlertsForAllJobFailures", &a.AlertsForAllJobFailures)
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 AzureOperationalStoreParameters.
func (a AzureOperationalStoreParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "dataStoreType", a.DataStoreType)
objectMap["objectType"] = "AzureOperationalStoreParameters"
populate(objectMap, "resourceGroupId", a.ResourceGroupID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureOperationalStoreParameters.
func (a *AzureOperationalStoreParameters) UnmarshalJSON(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 "dataStoreType":
err = unpopulate(val, "DataStoreType", &a.DataStoreType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
delete(rawMsg, key)
case "resourceGroupId":
err = unpopulate(val, "ResourceGroupID", &a.ResourceGroupID)
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 AzureRetentionRule.
func (a AzureRetentionRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "isDefault", a.IsDefault)
populate(objectMap, "lifecycles", a.Lifecycles)
populate(objectMap, "name", a.Name)
objectMap["objectType"] = "AzureRetentionRule"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AzureRetentionRule.
func (a *AzureRetentionRule) UnmarshalJSON(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 "isDefault":
err = unpopulate(val, "IsDefault", &a.IsDefault)
delete(rawMsg, key)
case "lifecycles":
err = unpopulate(val, "Lifecycles", &a.Lifecycles)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &a.ObjectType)
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 BackupCriteria.
func (b BackupCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = b.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupCriteria.
func (b *BackupCriteria) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 BackupDatasourceParameters.
func (b BackupDatasourceParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = b.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupDatasourceParameters.
func (b *BackupDatasourceParameters) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 BackupInstance.
func (b BackupInstance) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "currentProtectionState", b.CurrentProtectionState)
populate(objectMap, "dataSourceInfo", b.DataSourceInfo)
populate(objectMap, "dataSourceSetInfo", b.DataSourceSetInfo)
populate(objectMap, "datasourceAuthCredentials", b.DatasourceAuthCredentials)
populate(objectMap, "friendlyName", b.FriendlyName)
populate(objectMap, "identityDetails", b.IdentityDetails)
populate(objectMap, "objectType", b.ObjectType)
populate(objectMap, "policyInfo", b.PolicyInfo)
populate(objectMap, "protectionErrorDetails", b.ProtectionErrorDetails)
populate(objectMap, "protectionStatus", b.ProtectionStatus)
populate(objectMap, "provisioningState", b.ProvisioningState)
populate(objectMap, "resourceGuardOperationRequests", b.ResourceGuardOperationRequests)
populate(objectMap, "validationType", b.ValidationType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupInstance.
func (b *BackupInstance) UnmarshalJSON(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 "currentProtectionState":
err = unpopulate(val, "CurrentProtectionState", &b.CurrentProtectionState)
delete(rawMsg, key)
case "dataSourceInfo":
err = unpopulate(val, "DataSourceInfo", &b.DataSourceInfo)
delete(rawMsg, key)
case "dataSourceSetInfo":
err = unpopulate(val, "DataSourceSetInfo", &b.DataSourceSetInfo)
delete(rawMsg, key)
case "datasourceAuthCredentials":
b.DatasourceAuthCredentials, err = unmarshalAuthCredentialsClassification(val)
delete(rawMsg, key)
case "friendlyName":
err = unpopulate(val, "FriendlyName", &b.FriendlyName)
delete(rawMsg, key)
case "identityDetails":
err = unpopulate(val, "IdentityDetails", &b.IdentityDetails)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
delete(rawMsg, key)
case "policyInfo":
err = unpopulate(val, "PolicyInfo", &b.PolicyInfo)
delete(rawMsg, key)
case "protectionErrorDetails":
err = unpopulate(val, "ProtectionErrorDetails", &b.ProtectionErrorDetails)
delete(rawMsg, key)
case "protectionStatus":
err = unpopulate(val, "ProtectionStatus", &b.ProtectionStatus)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &b.ProvisioningState)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &b.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "validationType":
err = unpopulate(val, "ValidationType", &b.ValidationType)
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 BackupInstanceResource.
func (b BackupInstanceResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", b.ID)
populate(objectMap, "name", b.Name)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "systemData", b.SystemData)
populate(objectMap, "tags", b.Tags)
populate(objectMap, "type", b.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupInstanceResource.
func (b *BackupInstanceResource) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &b.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &b.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &b.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BackupInstanceResourceList.
func (b BackupInstanceResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", b.NextLink)
populate(objectMap, "value", b.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupInstanceResourceList.
func (b *BackupInstanceResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &b.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &b.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BackupParameters.
func (b BackupParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = b.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupParameters.
func (b *BackupParameters) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 BackupPolicy.
func (b BackupPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datasourceTypes", b.DatasourceTypes)
objectMap["objectType"] = "BackupPolicy"
populate(objectMap, "policyRules", b.PolicyRules)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupPolicy.
func (b *BackupPolicy) UnmarshalJSON(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 "datasourceTypes":
err = unpopulate(val, "DatasourceTypes", &b.DatasourceTypes)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
delete(rawMsg, key)
case "policyRules":
b.PolicyRules, err = unmarshalBasePolicyRuleClassificationArray(val)
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 BackupSchedule.
func (b BackupSchedule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "repeatingTimeIntervals", b.RepeatingTimeIntervals)
populate(objectMap, "timeZone", b.TimeZone)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupSchedule.
func (b *BackupSchedule) UnmarshalJSON(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 "repeatingTimeIntervals":
err = unpopulate(val, "RepeatingTimeIntervals", &b.RepeatingTimeIntervals)
delete(rawMsg, key)
case "timeZone":
err = unpopulate(val, "TimeZone", &b.TimeZone)
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 BackupVault.
func (b BackupVault) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "bcdrSecurityLevel", b.BcdrSecurityLevel)
populate(objectMap, "featureSettings", b.FeatureSettings)
populate(objectMap, "isVaultProtectedByResourceGuard", b.IsVaultProtectedByResourceGuard)
populate(objectMap, "monitoringSettings", b.MonitoringSettings)
populate(objectMap, "provisioningState", b.ProvisioningState)
populate(objectMap, "replicatedRegions", b.ReplicatedRegions)
populate(objectMap, "resourceGuardOperationRequests", b.ResourceGuardOperationRequests)
populate(objectMap, "resourceMoveDetails", b.ResourceMoveDetails)
populate(objectMap, "resourceMoveState", b.ResourceMoveState)
populate(objectMap, "secureScore", b.SecureScore)
populate(objectMap, "securitySettings", b.SecuritySettings)
populate(objectMap, "storageSettings", b.StorageSettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupVault.
func (b *BackupVault) UnmarshalJSON(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 "bcdrSecurityLevel":
err = unpopulate(val, "BcdrSecurityLevel", &b.BcdrSecurityLevel)
delete(rawMsg, key)
case "featureSettings":
err = unpopulate(val, "FeatureSettings", &b.FeatureSettings)
delete(rawMsg, key)
case "isVaultProtectedByResourceGuard":
err = unpopulate(val, "IsVaultProtectedByResourceGuard", &b.IsVaultProtectedByResourceGuard)
delete(rawMsg, key)
case "monitoringSettings":
err = unpopulate(val, "MonitoringSettings", &b.MonitoringSettings)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &b.ProvisioningState)
delete(rawMsg, key)
case "replicatedRegions":
err = unpopulate(val, "ReplicatedRegions", &b.ReplicatedRegions)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &b.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "resourceMoveDetails":
err = unpopulate(val, "ResourceMoveDetails", &b.ResourceMoveDetails)
delete(rawMsg, key)
case "resourceMoveState":
err = unpopulate(val, "ResourceMoveState", &b.ResourceMoveState)
delete(rawMsg, key)
case "secureScore":
err = unpopulate(val, "SecureScore", &b.SecureScore)
delete(rawMsg, key)
case "securitySettings":
err = unpopulate(val, "SecuritySettings", &b.SecuritySettings)
delete(rawMsg, key)
case "storageSettings":
err = unpopulate(val, "StorageSettings", &b.StorageSettings)
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 BackupVaultResource.
func (b BackupVaultResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eTag", b.ETag)
populate(objectMap, "id", b.ID)
populate(objectMap, "identity", b.Identity)
populate(objectMap, "location", b.Location)
populate(objectMap, "name", b.Name)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "systemData", b.SystemData)
populate(objectMap, "tags", b.Tags)
populate(objectMap, "type", b.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupVaultResource.
func (b *BackupVaultResource) UnmarshalJSON(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 "eTag":
err = unpopulate(val, "ETag", &b.ETag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &b.ID)
delete(rawMsg, key)
case "identity":
err = unpopulate(val, "Identity", &b.Identity)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &b.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &b.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &b.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &b.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BackupVaultResourceList.
func (b BackupVaultResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", b.NextLink)
populate(objectMap, "value", b.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BackupVaultResourceList.
func (b *BackupVaultResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &b.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &b.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BaseBackupPolicy.
func (b BaseBackupPolicy) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datasourceTypes", b.DatasourceTypes)
objectMap["objectType"] = b.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BaseBackupPolicy.
func (b *BaseBackupPolicy) UnmarshalJSON(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 "datasourceTypes":
err = unpopulate(val, "DatasourceTypes", &b.DatasourceTypes)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 BaseBackupPolicyResource.
func (b BaseBackupPolicyResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", b.ID)
populate(objectMap, "name", b.Name)
populate(objectMap, "properties", b.Properties)
populate(objectMap, "systemData", b.SystemData)
populate(objectMap, "type", b.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BaseBackupPolicyResource.
func (b *BaseBackupPolicyResource) UnmarshalJSON(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 "id":
err = unpopulate(val, "ID", &b.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "properties":
b.Properties, err = unmarshalBaseBackupPolicyClassification(val)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &b.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &b.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BaseBackupPolicyResourceList.
func (b BaseBackupPolicyResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", b.NextLink)
populate(objectMap, "value", b.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BaseBackupPolicyResourceList.
func (b *BaseBackupPolicyResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &b.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &b.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BasePolicyRule.
func (b BasePolicyRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", b.Name)
objectMap["objectType"] = b.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BasePolicyRule.
func (b *BasePolicyRule) UnmarshalJSON(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 "name":
err = unpopulate(val, "Name", &b.Name)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 BaseResourceProperties.
func (b BaseResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = b.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BaseResourceProperties.
func (b *BaseResourceProperties) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 BlobBackupDatasourceParameters.
func (b BlobBackupDatasourceParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "containersList", b.ContainersList)
objectMap["objectType"] = "BlobBackupDatasourceParameters"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BlobBackupDatasourceParameters.
func (b *BlobBackupDatasourceParameters) UnmarshalJSON(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 "containersList":
err = unpopulate(val, "ContainersList", &b.ContainersList)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &b.ObjectType)
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 CheckNameAvailabilityRequest.
func (c CheckNameAvailabilityRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", c.Name)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CheckNameAvailabilityRequest.
func (c *CheckNameAvailabilityRequest) UnmarshalJSON(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 ClientDiscoveryDisplay.
func (c ClientDiscoveryDisplay) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", c.Description)
populate(objectMap, "operation", c.Operation)
populate(objectMap, "provider", c.Provider)
populate(objectMap, "resource", c.Resource)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryDisplay.
func (c *ClientDiscoveryDisplay) UnmarshalJSON(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 "description":
err = unpopulate(val, "Description", &c.Description)
delete(rawMsg, key)
case "operation":
err = unpopulate(val, "Operation", &c.Operation)
delete(rawMsg, key)
case "provider":
err = unpopulate(val, "Provider", &c.Provider)
delete(rawMsg, key)
case "resource":
err = unpopulate(val, "Resource", &c.Resource)
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 ClientDiscoveryForLogSpecification.
func (c ClientDiscoveryForLogSpecification) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "blobDuration", c.BlobDuration)
populate(objectMap, "displayName", c.DisplayName)
populate(objectMap, "name", c.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryForLogSpecification.
func (c *ClientDiscoveryForLogSpecification) UnmarshalJSON(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 "blobDuration":
err = unpopulate(val, "BlobDuration", &c.BlobDuration)
delete(rawMsg, key)
case "displayName":
err = unpopulate(val, "DisplayName", &c.DisplayName)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
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 ClientDiscoveryForProperties.
func (c ClientDiscoveryForProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "serviceSpecification", c.ServiceSpecification)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryForProperties.
func (c *ClientDiscoveryForProperties) UnmarshalJSON(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 "serviceSpecification":
err = unpopulate(val, "ServiceSpecification", &c.ServiceSpecification)
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 ClientDiscoveryForServiceSpecification.
func (c ClientDiscoveryForServiceSpecification) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "logSpecifications", c.LogSpecifications)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryForServiceSpecification.
func (c *ClientDiscoveryForServiceSpecification) UnmarshalJSON(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 "logSpecifications":
err = unpopulate(val, "LogSpecifications", &c.LogSpecifications)
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 ClientDiscoveryResponse.
func (c ClientDiscoveryResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", c.NextLink)
populate(objectMap, "value", c.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryResponse.
func (c *ClientDiscoveryResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &c.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &c.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ClientDiscoveryValueForSingleAPI.
func (c ClientDiscoveryValueForSingleAPI) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "display", c.Display)
populate(objectMap, "isDataAction", c.IsDataAction)
populate(objectMap, "name", c.Name)
populate(objectMap, "origin", c.Origin)
populate(objectMap, "properties", c.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ClientDiscoveryValueForSingleAPI.
func (c *ClientDiscoveryValueForSingleAPI) UnmarshalJSON(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 "display":
err = unpopulate(val, "Display", &c.Display)
delete(rawMsg, key)
case "isDataAction":
err = unpopulate(val, "IsDataAction", &c.IsDataAction)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "origin":
err = unpopulate(val, "Origin", &c.Origin)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type CmkKekIdentity.
func (c CmkKekIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identityId", c.IdentityID)
populate(objectMap, "identityType", c.IdentityType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CmkKekIdentity.
func (c *CmkKekIdentity) UnmarshalJSON(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 "identityId":
err = unpopulate(val, "IdentityID", &c.IdentityID)
delete(rawMsg, key)
case "identityType":
err = unpopulate(val, "IdentityType", &c.IdentityType)
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 CmkKeyVaultProperties.
func (c CmkKeyVaultProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "keyUri", c.KeyURI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CmkKeyVaultProperties.
func (c *CmkKeyVaultProperties) UnmarshalJSON(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 "keyUri":
err = unpopulate(val, "KeyURI", &c.KeyURI)
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 CopyOnExpiryOption.
func (c CopyOnExpiryOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "CopyOnExpiryOption"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CopyOnExpiryOption.
func (c *CopyOnExpiryOption) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &c.ObjectType)
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 CopyOption.
func (c CopyOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = c.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CopyOption.
func (c *CopyOption) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &c.ObjectType)
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 CrossRegionRestoreDetails.
func (c CrossRegionRestoreDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sourceBackupInstanceId", c.SourceBackupInstanceID)
populate(objectMap, "sourceRegion", c.SourceRegion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CrossRegionRestoreDetails.
func (c *CrossRegionRestoreDetails) UnmarshalJSON(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 "sourceBackupInstanceId":
err = unpopulate(val, "SourceBackupInstanceID", &c.SourceBackupInstanceID)
delete(rawMsg, key)
case "sourceRegion":
err = unpopulate(val, "SourceRegion", &c.SourceRegion)
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 CrossRegionRestoreJobRequest.
func (c CrossRegionRestoreJobRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "jobId", c.JobID)
populate(objectMap, "sourceBackupVaultId", c.SourceBackupVaultID)
populate(objectMap, "sourceRegion", c.SourceRegion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CrossRegionRestoreJobRequest.
func (c *CrossRegionRestoreJobRequest) UnmarshalJSON(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 "jobId":
err = unpopulate(val, "JobID", &c.JobID)
delete(rawMsg, key)
case "sourceBackupVaultId":
err = unpopulate(val, "SourceBackupVaultID", &c.SourceBackupVaultID)
delete(rawMsg, key)
case "sourceRegion":
err = unpopulate(val, "SourceRegion", &c.SourceRegion)
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 CrossRegionRestoreJobsRequest.
func (c CrossRegionRestoreJobsRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sourceBackupVaultId", c.SourceBackupVaultID)
populate(objectMap, "sourceRegion", c.SourceRegion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CrossRegionRestoreJobsRequest.
func (c *CrossRegionRestoreJobsRequest) UnmarshalJSON(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 "sourceBackupVaultId":
err = unpopulate(val, "SourceBackupVaultID", &c.SourceBackupVaultID)
delete(rawMsg, key)
case "sourceRegion":
err = unpopulate(val, "SourceRegion", &c.SourceRegion)
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 CrossRegionRestoreRequestObject.
func (c CrossRegionRestoreRequestObject) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "crossRegionRestoreDetails", c.CrossRegionRestoreDetails)
populate(objectMap, "restoreRequestObject", c.RestoreRequestObject)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CrossRegionRestoreRequestObject.
func (c *CrossRegionRestoreRequestObject) UnmarshalJSON(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 "crossRegionRestoreDetails":
err = unpopulate(val, "CrossRegionRestoreDetails", &c.CrossRegionRestoreDetails)
delete(rawMsg, key)
case "restoreRequestObject":
c.RestoreRequestObject, err = unmarshalAzureBackupRestoreRequestClassification(val)
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 CrossRegionRestoreSettings.
func (c CrossRegionRestoreSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "state", c.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CrossRegionRestoreSettings.
func (c *CrossRegionRestoreSettings) UnmarshalJSON(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 "state":
err = unpopulate(val, "State", &c.State)
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 CrossSubscriptionRestoreSettings.
func (c CrossSubscriptionRestoreSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "state", c.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CrossSubscriptionRestoreSettings.
func (c *CrossSubscriptionRestoreSettings) UnmarshalJSON(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 "state":
err = unpopulate(val, "State", &c.State)
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 CustomCopyOption.
func (c CustomCopyOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "duration", c.Duration)
objectMap["objectType"] = "CustomCopyOption"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CustomCopyOption.
func (c *CustomCopyOption) UnmarshalJSON(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 "duration":
err = unpopulate(val, "Duration", &c.Duration)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &c.ObjectType)
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 DataStoreInfoBase.
func (d DataStoreInfoBase) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "dataStoreType", d.DataStoreType)
populate(objectMap, "objectType", d.ObjectType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DataStoreInfoBase.
func (d *DataStoreInfoBase) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "dataStoreType":
err = unpopulate(val, "DataStoreType", &d.DataStoreType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DataStoreParameters.
func (d DataStoreParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "dataStoreType", d.DataStoreType)
objectMap["objectType"] = d.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DataStoreParameters.
func (d *DataStoreParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "dataStoreType":
err = unpopulate(val, "DataStoreType", &d.DataStoreType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Datasource.
func (d Datasource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datasourceType", d.DatasourceType)
populate(objectMap, "objectType", d.ObjectType)
populate(objectMap, "resourceID", d.ResourceID)
populate(objectMap, "resourceLocation", d.ResourceLocation)
populate(objectMap, "resourceName", d.ResourceName)
populate(objectMap, "resourceProperties", d.ResourceProperties)
populate(objectMap, "resourceType", d.ResourceType)
populate(objectMap, "resourceUri", d.ResourceURI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Datasource.
func (d *Datasource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "datasourceType":
err = unpopulate(val, "DatasourceType", &d.DatasourceType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
case "resourceID":
err = unpopulate(val, "ResourceID", &d.ResourceID)
delete(rawMsg, key)
case "resourceLocation":
err = unpopulate(val, "ResourceLocation", &d.ResourceLocation)
delete(rawMsg, key)
case "resourceName":
err = unpopulate(val, "ResourceName", &d.ResourceName)
delete(rawMsg, key)
case "resourceProperties":
d.ResourceProperties, err = unmarshalBaseResourcePropertiesClassification(val)
delete(rawMsg, key)
case "resourceType":
err = unpopulate(val, "ResourceType", &d.ResourceType)
delete(rawMsg, key)
case "resourceUri":
err = unpopulate(val, "ResourceURI", &d.ResourceURI)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DatasourceSet.
func (d DatasourceSet) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datasourceType", d.DatasourceType)
populate(objectMap, "objectType", d.ObjectType)
populate(objectMap, "resourceID", d.ResourceID)
populate(objectMap, "resourceLocation", d.ResourceLocation)
populate(objectMap, "resourceName", d.ResourceName)
populate(objectMap, "resourceProperties", d.ResourceProperties)
populate(objectMap, "resourceType", d.ResourceType)
populate(objectMap, "resourceUri", d.ResourceURI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DatasourceSet.
func (d *DatasourceSet) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "datasourceType":
err = unpopulate(val, "DatasourceType", &d.DatasourceType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
case "resourceID":
err = unpopulate(val, "ResourceID", &d.ResourceID)
delete(rawMsg, key)
case "resourceLocation":
err = unpopulate(val, "ResourceLocation", &d.ResourceLocation)
delete(rawMsg, key)
case "resourceName":
err = unpopulate(val, "ResourceName", &d.ResourceName)
delete(rawMsg, key)
case "resourceProperties":
d.ResourceProperties, err = unmarshalBaseResourcePropertiesClassification(val)
delete(rawMsg, key)
case "resourceType":
err = unpopulate(val, "ResourceType", &d.ResourceType)
delete(rawMsg, key)
case "resourceUri":
err = unpopulate(val, "ResourceURI", &d.ResourceURI)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Day.
func (d Day) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "date", d.Date)
populate(objectMap, "isLast", d.IsLast)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Day.
func (d *Day) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "date":
err = unpopulate(val, "Date", &d.Date)
delete(rawMsg, key)
case "isLast":
err = unpopulate(val, "IsLast", &d.IsLast)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DefaultResourceProperties.
func (d DefaultResourceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = ResourcePropertiesObjectTypeDefaultResourceProperties
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DefaultResourceProperties.
func (d *DefaultResourceProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeleteOption.
func (d DeleteOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "duration", d.Duration)
objectMap["objectType"] = d.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeleteOption.
func (d *DeleteOption) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "duration":
err = unpopulate(val, "Duration", &d.Duration)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeletedBackupInstance.
func (d DeletedBackupInstance) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "currentProtectionState", d.CurrentProtectionState)
populate(objectMap, "dataSourceInfo", d.DataSourceInfo)
populate(objectMap, "dataSourceSetInfo", d.DataSourceSetInfo)
populate(objectMap, "datasourceAuthCredentials", d.DatasourceAuthCredentials)
populate(objectMap, "deletionInfo", d.DeletionInfo)
populate(objectMap, "friendlyName", d.FriendlyName)
populate(objectMap, "identityDetails", d.IdentityDetails)
populate(objectMap, "objectType", d.ObjectType)
populate(objectMap, "policyInfo", d.PolicyInfo)
populate(objectMap, "protectionErrorDetails", d.ProtectionErrorDetails)
populate(objectMap, "protectionStatus", d.ProtectionStatus)
populate(objectMap, "provisioningState", d.ProvisioningState)
populate(objectMap, "resourceGuardOperationRequests", d.ResourceGuardOperationRequests)
populate(objectMap, "validationType", d.ValidationType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeletedBackupInstance.
func (d *DeletedBackupInstance) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "currentProtectionState":
err = unpopulate(val, "CurrentProtectionState", &d.CurrentProtectionState)
delete(rawMsg, key)
case "dataSourceInfo":
err = unpopulate(val, "DataSourceInfo", &d.DataSourceInfo)
delete(rawMsg, key)
case "dataSourceSetInfo":
err = unpopulate(val, "DataSourceSetInfo", &d.DataSourceSetInfo)
delete(rawMsg, key)
case "datasourceAuthCredentials":
d.DatasourceAuthCredentials, err = unmarshalAuthCredentialsClassification(val)
delete(rawMsg, key)
case "deletionInfo":
err = unpopulate(val, "DeletionInfo", &d.DeletionInfo)
delete(rawMsg, key)
case "friendlyName":
err = unpopulate(val, "FriendlyName", &d.FriendlyName)
delete(rawMsg, key)
case "identityDetails":
err = unpopulate(val, "IdentityDetails", &d.IdentityDetails)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &d.ObjectType)
delete(rawMsg, key)
case "policyInfo":
err = unpopulate(val, "PolicyInfo", &d.PolicyInfo)
delete(rawMsg, key)
case "protectionErrorDetails":
err = unpopulate(val, "ProtectionErrorDetails", &d.ProtectionErrorDetails)
delete(rawMsg, key)
case "protectionStatus":
err = unpopulate(val, "ProtectionStatus", &d.ProtectionStatus)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &d.ProvisioningState)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &d.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "validationType":
err = unpopulate(val, "ValidationType", &d.ValidationType)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeletedBackupInstanceResource.
func (d DeletedBackupInstanceResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", d.ID)
populate(objectMap, "name", d.Name)
populate(objectMap, "properties", d.Properties)
populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeletedBackupInstanceResource.
func (d *DeletedBackupInstanceResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &d.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeletedBackupInstanceResourceList.
func (d DeletedBackupInstanceResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", d.NextLink)
populate(objectMap, "value", d.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeletedBackupInstanceResourceList.
func (d *DeletedBackupInstanceResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &d.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &d.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DeletionInfo.
func (d DeletionInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "billingEndDate", d.BillingEndDate)
populate(objectMap, "deleteActivityID", d.DeleteActivityID)
populate(objectMap, "deletionTime", d.DeletionTime)
populate(objectMap, "scheduledPurgeTime", d.ScheduledPurgeTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DeletionInfo.
func (d *DeletionInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "billingEndDate":
err = unpopulate(val, "BillingEndDate", &d.BillingEndDate)
delete(rawMsg, key)
case "deleteActivityID":
err = unpopulate(val, "DeleteActivityID", &d.DeleteActivityID)
delete(rawMsg, key)
case "deletionTime":
err = unpopulate(val, "DeletionTime", &d.DeletionTime)
delete(rawMsg, key)
case "scheduledPurgeTime":
err = unpopulate(val, "ScheduledPurgeTime", &d.ScheduledPurgeTime)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppBaseResource.
func (d DppBaseResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", d.ID)
populate(objectMap, "name", d.Name)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppBaseResource.
func (d *DppBaseResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppBaseResourceList.
func (d DppBaseResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", d.NextLink)
populate(objectMap, "value", d.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppBaseResourceList.
func (d *DppBaseResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &d.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &d.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppBaseTrackedResource.
func (d DppBaseTrackedResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eTag", d.ETag)
populate(objectMap, "id", d.ID)
populate(objectMap, "location", d.Location)
populate(objectMap, "name", d.Name)
populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppBaseTrackedResource.
func (d *DppBaseTrackedResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "eTag":
err = unpopulate(val, "ETag", &d.ETag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &d.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppIdentityDetails.
func (d DppIdentityDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "principalId", d.PrincipalID)
populate(objectMap, "tenantId", d.TenantID)
populate(objectMap, "type", d.Type)
populate(objectMap, "userAssignedIdentities", d.UserAssignedIdentities)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppIdentityDetails.
func (d *DppIdentityDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "principalId":
err = unpopulate(val, "PrincipalID", &d.PrincipalID)
delete(rawMsg, key)
case "tenantId":
err = unpopulate(val, "TenantID", &d.TenantID)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
case "userAssignedIdentities":
err = unpopulate(val, "UserAssignedIdentities", &d.UserAssignedIdentities)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppProxyResource.
func (d DppProxyResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", d.ID)
populate(objectMap, "name", d.Name)
populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppProxyResource.
func (d *DppProxyResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppResource.
func (d DppResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", d.ID)
populate(objectMap, "name", d.Name)
populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppResource.
func (d *DppResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppResourceList.
func (d DppResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", d.NextLink)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppResourceList.
func (d *DppResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &d.NextLink)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppTrackedResource.
func (d DppTrackedResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eTag", d.ETag)
populate(objectMap, "id", d.ID)
populate(objectMap, "identity", d.Identity)
populate(objectMap, "location", d.Location)
populate(objectMap, "name", d.Name)
populate(objectMap, "systemData", d.SystemData)
populate(objectMap, "tags", d.Tags)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppTrackedResource.
func (d *DppTrackedResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "eTag":
err = unpopulate(val, "ETag", &d.ETag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "identity":
err = unpopulate(val, "Identity", &d.Identity)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &d.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &d.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppTrackedResourceList.
func (d DppTrackedResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", d.NextLink)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppTrackedResourceList.
func (d *DppTrackedResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &d.NextLink)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DppWorkerRequest.
func (d DppWorkerRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "cultureInfo", d.CultureInfo)
populate(objectMap, "httpMethod", d.HTTPMethod)
populate(objectMap, "headers", d.Headers)
populate(objectMap, "parameters", d.Parameters)
populate(objectMap, "subscriptionId", d.SubscriptionID)
populate(objectMap, "supportedGroupVersions", d.SupportedGroupVersions)
populate(objectMap, "uri", d.URI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type DppWorkerRequest.
func (d *DppWorkerRequest) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "cultureInfo":
err = unpopulate(val, "CultureInfo", &d.CultureInfo)
delete(rawMsg, key)
case "httpMethod":
err = unpopulate(val, "HTTPMethod", &d.HTTPMethod)
delete(rawMsg, key)
case "headers":
err = unpopulate(val, "Headers", &d.Headers)
delete(rawMsg, key)
case "parameters":
err = unpopulate(val, "Parameters", &d.Parameters)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &d.SubscriptionID)
delete(rawMsg, key)
case "supportedGroupVersions":
err = unpopulate(val, "SupportedGroupVersions", &d.SupportedGroupVersions)
delete(rawMsg, key)
case "uri":
err = unpopulate(val, "URI", &d.URI)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type EncryptionSettings.
func (e EncryptionSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "infrastructureEncryption", e.InfrastructureEncryption)
populate(objectMap, "kekIdentity", e.KekIdentity)
populate(objectMap, "keyVaultProperties", e.KeyVaultProperties)
populate(objectMap, "state", e.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EncryptionSettings.
func (e *EncryptionSettings) UnmarshalJSON(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 "infrastructureEncryption":
err = unpopulate(val, "InfrastructureEncryption", &e.InfrastructureEncryption)
delete(rawMsg, key)
case "kekIdentity":
err = unpopulate(val, "KekIdentity", &e.KekIdentity)
delete(rawMsg, key)
case "keyVaultProperties":
err = unpopulate(val, "KeyVaultProperties", &e.KeyVaultProperties)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &e.State)
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 Error.
func (e Error) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalInfo", e.AdditionalInfo)
populate(objectMap, "code", e.Code)
populate(objectMap, "details", e.Details)
populate(objectMap, "message", e.Message)
populate(objectMap, "target", e.Target)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type 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 "additionalInfo":
err = unpopulate(val, "AdditionalInfo", &e.AdditionalInfo)
delete(rawMsg, key)
case "code":
err = unpopulate(val, "Code", &e.Code)
delete(rawMsg, key)
case "details":
err = unpopulate(val, "Details", &e.Details)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &e.Message)
delete(rawMsg, key)
case "target":
err = unpopulate(val, "Target", &e.Target)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ErrorAdditionalInfo.
func (e ErrorAdditionalInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateAny(objectMap, "info", e.Info)
populate(objectMap, "type", e.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorAdditionalInfo.
func (e *ErrorAdditionalInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "info":
err = unpopulate(val, "Info", &e.Info)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &e.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ErrorDetail.
func (e ErrorDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalInfo", e.AdditionalInfo)
populate(objectMap, "code", e.Code)
populate(objectMap, "details", e.Details)
populate(objectMap, "message", e.Message)
populate(objectMap, "target", e.Target)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail.
func (e *ErrorDetail) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "additionalInfo":
err = unpopulate(val, "AdditionalInfo", &e.AdditionalInfo)
delete(rawMsg, key)
case "code":
err = unpopulate(val, "Code", &e.Code)
delete(rawMsg, key)
case "details":
err = unpopulate(val, "Details", &e.Details)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &e.Message)
delete(rawMsg, key)
case "target":
err = unpopulate(val, "Target", &e.Target)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ErrorResponse.
func (e ErrorResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "error", e.Error)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponse.
func (e *ErrorResponse) UnmarshalJSON(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)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ExportJobsResult.
func (e ExportJobsResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "blobSasKey", e.BlobSasKey)
populate(objectMap, "blobUrl", e.BlobURL)
populate(objectMap, "excelFileBlobSasKey", e.ExcelFileBlobSasKey)
populate(objectMap, "excelFileBlobUrl", e.ExcelFileBlobURL)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExportJobsResult.
func (e *ExportJobsResult) UnmarshalJSON(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 "blobSasKey":
err = unpopulate(val, "BlobSasKey", &e.BlobSasKey)
delete(rawMsg, key)
case "blobUrl":
err = unpopulate(val, "BlobURL", &e.BlobURL)
delete(rawMsg, key)
case "excelFileBlobSasKey":
err = unpopulate(val, "ExcelFileBlobSasKey", &e.ExcelFileBlobSasKey)
delete(rawMsg, key)
case "excelFileBlobUrl":
err = unpopulate(val, "ExcelFileBlobURL", &e.ExcelFileBlobURL)
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 FeatureSettings.
func (f FeatureSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "crossRegionRestoreSettings", f.CrossRegionRestoreSettings)
populate(objectMap, "crossSubscriptionRestoreSettings", f.CrossSubscriptionRestoreSettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeatureSettings.
func (f *FeatureSettings) UnmarshalJSON(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 "crossRegionRestoreSettings":
err = unpopulate(val, "CrossRegionRestoreSettings", &f.CrossRegionRestoreSettings)
delete(rawMsg, key)
case "crossSubscriptionRestoreSettings":
err = unpopulate(val, "CrossSubscriptionRestoreSettings", &f.CrossSubscriptionRestoreSettings)
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 FeatureValidationRequest.
func (f FeatureValidationRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "featureName", f.FeatureName)
populate(objectMap, "featureType", f.FeatureType)
objectMap["objectType"] = "FeatureValidationRequest"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeatureValidationRequest.
func (f *FeatureValidationRequest) UnmarshalJSON(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 "featureName":
err = unpopulate(val, "FeatureName", &f.FeatureName)
delete(rawMsg, key)
case "featureType":
err = unpopulate(val, "FeatureType", &f.FeatureType)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &f.ObjectType)
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 FeatureValidationRequestBase.
func (f FeatureValidationRequestBase) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = f.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeatureValidationRequestBase.
func (f *FeatureValidationRequestBase) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &f.ObjectType)
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 FeatureValidationResponse.
func (f FeatureValidationResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "featureType", f.FeatureType)
populate(objectMap, "features", f.Features)
objectMap["objectType"] = "FeatureValidationResponse"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeatureValidationResponse.
func (f *FeatureValidationResponse) UnmarshalJSON(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 "featureType":
err = unpopulate(val, "FeatureType", &f.FeatureType)
delete(rawMsg, key)
case "features":
err = unpopulate(val, "Features", &f.Features)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &f.ObjectType)
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 FeatureValidationResponseBase.
func (f FeatureValidationResponseBase) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = f.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeatureValidationResponseBase.
func (f *FeatureValidationResponseBase) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &f.ObjectType)
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 FetchSecondaryRPsRequestParameters.
func (f FetchSecondaryRPsRequestParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "sourceBackupInstanceId", f.SourceBackupInstanceID)
populate(objectMap, "sourceRegion", f.SourceRegion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FetchSecondaryRPsRequestParameters.
func (f *FetchSecondaryRPsRequestParameters) UnmarshalJSON(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 "sourceBackupInstanceId":
err = unpopulate(val, "SourceBackupInstanceID", &f.SourceBackupInstanceID)
delete(rawMsg, key)
case "sourceRegion":
err = unpopulate(val, "SourceRegion", &f.SourceRegion)
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 IdentityDetails.
func (i IdentityDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "useSystemAssignedIdentity", i.UseSystemAssignedIdentity)
populate(objectMap, "userAssignedIdentityArmUrl", i.UserAssignedIdentityArmURL)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IdentityDetails.
func (i *IdentityDetails) UnmarshalJSON(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 "useSystemAssignedIdentity":
err = unpopulate(val, "UseSystemAssignedIdentity", &i.UseSystemAssignedIdentity)
delete(rawMsg, key)
case "userAssignedIdentityArmUrl":
err = unpopulate(val, "UserAssignedIdentityArmURL", &i.UserAssignedIdentityArmURL)
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 ImmediateCopyOption.
func (i ImmediateCopyOption) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "ImmediateCopyOption"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ImmediateCopyOption.
func (i *ImmediateCopyOption) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &i.ObjectType)
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 ImmutabilitySettings.
func (i ImmutabilitySettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "state", i.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ImmutabilitySettings.
func (i *ImmutabilitySettings) UnmarshalJSON(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 "state":
err = unpopulate(val, "State", &i.State)
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 InnerError.
func (i InnerError) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalInfo", i.AdditionalInfo)
populate(objectMap, "code", i.Code)
populate(objectMap, "embeddedInnerError", i.EmbeddedInnerError)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type InnerError.
func (i *InnerError) UnmarshalJSON(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 "additionalInfo":
err = unpopulate(val, "AdditionalInfo", &i.AdditionalInfo)
delete(rawMsg, key)
case "code":
err = unpopulate(val, "Code", &i.Code)
delete(rawMsg, key)
case "embeddedInnerError":
err = unpopulate(val, "EmbeddedInnerError", &i.EmbeddedInnerError)
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 ItemLevelRestoreCriteria.
func (i ItemLevelRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = i.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ItemLevelRestoreCriteria.
func (i *ItemLevelRestoreCriteria) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &i.ObjectType)
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 ItemLevelRestoreTargetInfo.
func (i ItemLevelRestoreTargetInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datasourceAuthCredentials", i.DatasourceAuthCredentials)
populate(objectMap, "datasourceInfo", i.DatasourceInfo)
populate(objectMap, "datasourceSetInfo", i.DatasourceSetInfo)
objectMap["objectType"] = "ItemLevelRestoreTargetInfo"
populate(objectMap, "recoveryOption", i.RecoveryOption)
populate(objectMap, "restoreCriteria", i.RestoreCriteria)
populate(objectMap, "restoreLocation", i.RestoreLocation)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ItemLevelRestoreTargetInfo.
func (i *ItemLevelRestoreTargetInfo) UnmarshalJSON(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 "datasourceAuthCredentials":
i.DatasourceAuthCredentials, err = unmarshalAuthCredentialsClassification(val)
delete(rawMsg, key)
case "datasourceInfo":
err = unpopulate(val, "DatasourceInfo", &i.DatasourceInfo)
delete(rawMsg, key)
case "datasourceSetInfo":
err = unpopulate(val, "DatasourceSetInfo", &i.DatasourceSetInfo)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &i.ObjectType)
delete(rawMsg, key)
case "recoveryOption":
err = unpopulate(val, "RecoveryOption", &i.RecoveryOption)
delete(rawMsg, key)
case "restoreCriteria":
i.RestoreCriteria, err = unmarshalItemLevelRestoreCriteriaClassificationArray(val)
delete(rawMsg, key)
case "restoreLocation":
err = unpopulate(val, "RestoreLocation", &i.RestoreLocation)
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 ItemPathBasedRestoreCriteria.
func (i ItemPathBasedRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "isPathRelativeToBackupItem", i.IsPathRelativeToBackupItem)
populate(objectMap, "itemPath", i.ItemPath)
objectMap["objectType"] = "ItemPathBasedRestoreCriteria"
populate(objectMap, "subItemPathPrefix", i.SubItemPathPrefix)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ItemPathBasedRestoreCriteria.
func (i *ItemPathBasedRestoreCriteria) UnmarshalJSON(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 "isPathRelativeToBackupItem":
err = unpopulate(val, "IsPathRelativeToBackupItem", &i.IsPathRelativeToBackupItem)
delete(rawMsg, key)
case "itemPath":
err = unpopulate(val, "ItemPath", &i.ItemPath)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &i.ObjectType)
delete(rawMsg, key)
case "subItemPathPrefix":
err = unpopulate(val, "SubItemPathPrefix", &i.SubItemPathPrefix)
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 JobExtendedInfo.
func (j JobExtendedInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalDetails", j.AdditionalDetails)
populate(objectMap, "backupInstanceState", j.BackupInstanceState)
populate(objectMap, "dataTransferredInBytes", j.DataTransferredInBytes)
populate(objectMap, "recoveryDestination", j.RecoveryDestination)
populate(objectMap, "sourceRecoverPoint", j.SourceRecoverPoint)
populate(objectMap, "subTasks", j.SubTasks)
populate(objectMap, "targetRecoverPoint", j.TargetRecoverPoint)
populate(objectMap, "warningDetails", j.WarningDetails)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type JobExtendedInfo.
func (j *JobExtendedInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "additionalDetails":
err = unpopulate(val, "AdditionalDetails", &j.AdditionalDetails)
delete(rawMsg, key)
case "backupInstanceState":
err = unpopulate(val, "BackupInstanceState", &j.BackupInstanceState)
delete(rawMsg, key)
case "dataTransferredInBytes":
err = unpopulate(val, "DataTransferredInBytes", &j.DataTransferredInBytes)
delete(rawMsg, key)
case "recoveryDestination":
err = unpopulate(val, "RecoveryDestination", &j.RecoveryDestination)
delete(rawMsg, key)
case "sourceRecoverPoint":
err = unpopulate(val, "SourceRecoverPoint", &j.SourceRecoverPoint)
delete(rawMsg, key)
case "subTasks":
err = unpopulate(val, "SubTasks", &j.SubTasks)
delete(rawMsg, key)
case "targetRecoverPoint":
err = unpopulate(val, "TargetRecoverPoint", &j.TargetRecoverPoint)
delete(rawMsg, key)
case "warningDetails":
err = unpopulate(val, "WarningDetails", &j.WarningDetails)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type JobSubTask.
func (j JobSubTask) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "additionalDetails", j.AdditionalDetails)
populate(objectMap, "taskId", j.TaskID)
populate(objectMap, "taskName", j.TaskName)
populate(objectMap, "taskProgress", j.TaskProgress)
populate(objectMap, "taskStatus", j.TaskStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type JobSubTask.
func (j *JobSubTask) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "additionalDetails":
err = unpopulate(val, "AdditionalDetails", &j.AdditionalDetails)
delete(rawMsg, key)
case "taskId":
err = unpopulate(val, "TaskID", &j.TaskID)
delete(rawMsg, key)
case "taskName":
err = unpopulate(val, "TaskName", &j.TaskName)
delete(rawMsg, key)
case "taskProgress":
err = unpopulate(val, "TaskProgress", &j.TaskProgress)
delete(rawMsg, key)
case "taskStatus":
err = unpopulate(val, "TaskStatus", &j.TaskStatus)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterBackupDatasourceParameters.
func (k KubernetesClusterBackupDatasourceParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backupHookReferences", k.BackupHookReferences)
populate(objectMap, "excludedNamespaces", k.ExcludedNamespaces)
populate(objectMap, "excludedResourceTypes", k.ExcludedResourceTypes)
populate(objectMap, "includeClusterScopeResources", k.IncludeClusterScopeResources)
populate(objectMap, "includedNamespaces", k.IncludedNamespaces)
populate(objectMap, "includedResourceTypes", k.IncludedResourceTypes)
populate(objectMap, "labelSelectors", k.LabelSelectors)
objectMap["objectType"] = "KubernetesClusterBackupDatasourceParameters"
populate(objectMap, "snapshotVolumes", k.SnapshotVolumes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterBackupDatasourceParameters.
func (k *KubernetesClusterBackupDatasourceParameters) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "backupHookReferences":
err = unpopulate(val, "BackupHookReferences", &k.BackupHookReferences)
delete(rawMsg, key)
case "excludedNamespaces":
err = unpopulate(val, "ExcludedNamespaces", &k.ExcludedNamespaces)
delete(rawMsg, key)
case "excludedResourceTypes":
err = unpopulate(val, "ExcludedResourceTypes", &k.ExcludedResourceTypes)
delete(rawMsg, key)
case "includeClusterScopeResources":
err = unpopulate(val, "IncludeClusterScopeResources", &k.IncludeClusterScopeResources)
delete(rawMsg, key)
case "includedNamespaces":
err = unpopulate(val, "IncludedNamespaces", &k.IncludedNamespaces)
delete(rawMsg, key)
case "includedResourceTypes":
err = unpopulate(val, "IncludedResourceTypes", &k.IncludedResourceTypes)
delete(rawMsg, key)
case "labelSelectors":
err = unpopulate(val, "LabelSelectors", &k.LabelSelectors)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &k.ObjectType)
delete(rawMsg, key)
case "snapshotVolumes":
err = unpopulate(val, "SnapshotVolumes", &k.SnapshotVolumes)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterRestoreCriteria.
func (k KubernetesClusterRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "conflictPolicy", k.ConflictPolicy)
populate(objectMap, "excludedNamespaces", k.ExcludedNamespaces)
populate(objectMap, "excludedResourceTypes", k.ExcludedResourceTypes)
populate(objectMap, "includeClusterScopeResources", k.IncludeClusterScopeResources)
populate(objectMap, "includedNamespaces", k.IncludedNamespaces)
populate(objectMap, "includedResourceTypes", k.IncludedResourceTypes)
populate(objectMap, "labelSelectors", k.LabelSelectors)
populate(objectMap, "namespaceMappings", k.NamespaceMappings)
objectMap["objectType"] = "KubernetesClusterRestoreCriteria"
populate(objectMap, "persistentVolumeRestoreMode", k.PersistentVolumeRestoreMode)
populate(objectMap, "resourceModifierReference", k.ResourceModifierReference)
populate(objectMap, "restoreHookReferences", k.RestoreHookReferences)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterRestoreCriteria.
func (k *KubernetesClusterRestoreCriteria) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "conflictPolicy":
err = unpopulate(val, "ConflictPolicy", &k.ConflictPolicy)
delete(rawMsg, key)
case "excludedNamespaces":
err = unpopulate(val, "ExcludedNamespaces", &k.ExcludedNamespaces)
delete(rawMsg, key)
case "excludedResourceTypes":
err = unpopulate(val, "ExcludedResourceTypes", &k.ExcludedResourceTypes)
delete(rawMsg, key)
case "includeClusterScopeResources":
err = unpopulate(val, "IncludeClusterScopeResources", &k.IncludeClusterScopeResources)
delete(rawMsg, key)
case "includedNamespaces":
err = unpopulate(val, "IncludedNamespaces", &k.IncludedNamespaces)
delete(rawMsg, key)
case "includedResourceTypes":
err = unpopulate(val, "IncludedResourceTypes", &k.IncludedResourceTypes)
delete(rawMsg, key)
case "labelSelectors":
err = unpopulate(val, "LabelSelectors", &k.LabelSelectors)
delete(rawMsg, key)
case "namespaceMappings":
err = unpopulate(val, "NamespaceMappings", &k.NamespaceMappings)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &k.ObjectType)
delete(rawMsg, key)
case "persistentVolumeRestoreMode":
err = unpopulate(val, "PersistentVolumeRestoreMode", &k.PersistentVolumeRestoreMode)
delete(rawMsg, key)
case "resourceModifierReference":
err = unpopulate(val, "ResourceModifierReference", &k.ResourceModifierReference)
delete(rawMsg, key)
case "restoreHookReferences":
err = unpopulate(val, "RestoreHookReferences", &k.RestoreHookReferences)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesClusterVaultTierRestoreCriteria.
func (k KubernetesClusterVaultTierRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "conflictPolicy", k.ConflictPolicy)
populate(objectMap, "excludedNamespaces", k.ExcludedNamespaces)
populate(objectMap, "excludedResourceTypes", k.ExcludedResourceTypes)
populate(objectMap, "includeClusterScopeResources", k.IncludeClusterScopeResources)
populate(objectMap, "includedNamespaces", k.IncludedNamespaces)
populate(objectMap, "includedResourceTypes", k.IncludedResourceTypes)
populate(objectMap, "labelSelectors", k.LabelSelectors)
populate(objectMap, "namespaceMappings", k.NamespaceMappings)
objectMap["objectType"] = "KubernetesClusterVaultTierRestoreCriteria"
populate(objectMap, "persistentVolumeRestoreMode", k.PersistentVolumeRestoreMode)
populate(objectMap, "resourceModifierReference", k.ResourceModifierReference)
populate(objectMap, "restoreHookReferences", k.RestoreHookReferences)
populate(objectMap, "stagingResourceGroupId", k.StagingResourceGroupID)
populate(objectMap, "stagingStorageAccountId", k.StagingStorageAccountID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesClusterVaultTierRestoreCriteria.
func (k *KubernetesClusterVaultTierRestoreCriteria) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "conflictPolicy":
err = unpopulate(val, "ConflictPolicy", &k.ConflictPolicy)
delete(rawMsg, key)
case "excludedNamespaces":
err = unpopulate(val, "ExcludedNamespaces", &k.ExcludedNamespaces)
delete(rawMsg, key)
case "excludedResourceTypes":
err = unpopulate(val, "ExcludedResourceTypes", &k.ExcludedResourceTypes)
delete(rawMsg, key)
case "includeClusterScopeResources":
err = unpopulate(val, "IncludeClusterScopeResources", &k.IncludeClusterScopeResources)
delete(rawMsg, key)
case "includedNamespaces":
err = unpopulate(val, "IncludedNamespaces", &k.IncludedNamespaces)
delete(rawMsg, key)
case "includedResourceTypes":
err = unpopulate(val, "IncludedResourceTypes", &k.IncludedResourceTypes)
delete(rawMsg, key)
case "labelSelectors":
err = unpopulate(val, "LabelSelectors", &k.LabelSelectors)
delete(rawMsg, key)
case "namespaceMappings":
err = unpopulate(val, "NamespaceMappings", &k.NamespaceMappings)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &k.ObjectType)
delete(rawMsg, key)
case "persistentVolumeRestoreMode":
err = unpopulate(val, "PersistentVolumeRestoreMode", &k.PersistentVolumeRestoreMode)
delete(rawMsg, key)
case "resourceModifierReference":
err = unpopulate(val, "ResourceModifierReference", &k.ResourceModifierReference)
delete(rawMsg, key)
case "restoreHookReferences":
err = unpopulate(val, "RestoreHookReferences", &k.RestoreHookReferences)
delete(rawMsg, key)
case "stagingResourceGroupId":
err = unpopulate(val, "StagingResourceGroupID", &k.StagingResourceGroupID)
delete(rawMsg, key)
case "stagingStorageAccountId":
err = unpopulate(val, "StagingStorageAccountID", &k.StagingStorageAccountID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesPVRestoreCriteria.
func (k KubernetesPVRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", k.Name)
objectMap["objectType"] = "KubernetesPVRestoreCriteria"
populate(objectMap, "storageClassName", k.StorageClassName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesPVRestoreCriteria.
func (k *KubernetesPVRestoreCriteria) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &k.Name)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &k.ObjectType)
delete(rawMsg, key)
case "storageClassName":
err = unpopulate(val, "StorageClassName", &k.StorageClassName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type KubernetesStorageClassRestoreCriteria.
func (k KubernetesStorageClassRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "KubernetesStorageClassRestoreCriteria"
populate(objectMap, "provisioner", k.Provisioner)
populate(objectMap, "selectedStorageClassName", k.SelectedStorageClassName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type KubernetesStorageClassRestoreCriteria.
func (k *KubernetesStorageClassRestoreCriteria) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "objectType":
err = unpopulate(val, "ObjectType", &k.ObjectType)
delete(rawMsg, key)
case "provisioner":
err = unpopulate(val, "Provisioner", &k.Provisioner)
delete(rawMsg, key)
case "selectedStorageClassName":
err = unpopulate(val, "SelectedStorageClassName", &k.SelectedStorageClassName)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", k, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type MonitoringSettings.
func (m MonitoringSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "azureMonitorAlertSettings", m.AzureMonitorAlertSettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MonitoringSettings.
func (m *MonitoringSettings) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "azureMonitorAlertSettings":
err = unpopulate(val, "AzureMonitorAlertSettings", &m.AzureMonitorAlertSettings)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NamespacedNameResource.
func (n NamespacedNameResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", n.Name)
populate(objectMap, "namespace", n.Namespace)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NamespacedNameResource.
func (n *NamespacedNameResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "name":
err = unpopulate(val, "Name", &n.Name)
delete(rawMsg, key)
case "namespace":
err = unpopulate(val, "Namespace", &n.Namespace)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type OperationExtendedInfo.
func (o OperationExtendedInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = o.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationExtendedInfo.
func (o *OperationExtendedInfo) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &o.ObjectType)
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 OperationJobExtendedInfo.
func (o OperationJobExtendedInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "jobId", o.JobID)
objectMap["objectType"] = "OperationJobExtendedInfo"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationJobExtendedInfo.
func (o *OperationJobExtendedInfo) UnmarshalJSON(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 "jobId":
err = unpopulate(val, "JobID", &o.JobID)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &o.ObjectType)
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 OperationResource.
func (o OperationResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "endTime", o.EndTime)
populate(objectMap, "error", o.Error)
populate(objectMap, "id", o.ID)
populate(objectMap, "name", o.Name)
populate(objectMap, "properties", o.Properties)
populateDateTimeRFC3339(objectMap, "startTime", o.StartTime)
populate(objectMap, "status", o.Status)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationResource.
func (o *OperationResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", o, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "endTime":
err = unpopulateDateTimeRFC3339(val, "EndTime", &o.EndTime)
delete(rawMsg, key)
case "error":
err = unpopulate(val, "Error", &o.Error)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &o.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &o.Name)
delete(rawMsg, key)
case "properties":
o.Properties, err = unmarshalOperationExtendedInfoClassification(val)
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 PatchBackupVaultInput.
func (p PatchBackupVaultInput) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "featureSettings", p.FeatureSettings)
populate(objectMap, "monitoringSettings", p.MonitoringSettings)
populate(objectMap, "resourceGuardOperationRequests", p.ResourceGuardOperationRequests)
populate(objectMap, "securitySettings", p.SecuritySettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PatchBackupVaultInput.
func (p *PatchBackupVaultInput) UnmarshalJSON(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 "featureSettings":
err = unpopulate(val, "FeatureSettings", &p.FeatureSettings)
delete(rawMsg, key)
case "monitoringSettings":
err = unpopulate(val, "MonitoringSettings", &p.MonitoringSettings)
delete(rawMsg, key)
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &p.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "securitySettings":
err = unpopulate(val, "SecuritySettings", &p.SecuritySettings)
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 PatchResourceGuardInput.
func (p PatchResourceGuardInput) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", p.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PatchResourceGuardInput.
func (p *PatchResourceGuardInput) UnmarshalJSON(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 "tags":
err = unpopulate(val, "Tags", &p.Tags)
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 PatchResourceRequestInput.
func (p PatchResourceRequestInput) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "identity", p.Identity)
populate(objectMap, "properties", p.Properties)
populate(objectMap, "tags", p.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PatchResourceRequestInput.
func (p *PatchResourceRequestInput) UnmarshalJSON(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 "identity":
err = unpopulate(val, "Identity", &p.Identity)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &p.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &p.Tags)
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 PolicyInfo.
func (p PolicyInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "policyId", p.PolicyID)
populate(objectMap, "policyParameters", p.PolicyParameters)
populate(objectMap, "policyVersion", p.PolicyVersion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PolicyInfo.
func (p *PolicyInfo) UnmarshalJSON(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 "policyId":
err = unpopulate(val, "PolicyID", &p.PolicyID)
delete(rawMsg, key)
case "policyParameters":
err = unpopulate(val, "PolicyParameters", &p.PolicyParameters)
delete(rawMsg, key)
case "policyVersion":
err = unpopulate(val, "PolicyVersion", &p.PolicyVersion)
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 PolicyParameters.
func (p PolicyParameters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backupDatasourceParametersList", p.BackupDatasourceParametersList)
populate(objectMap, "dataStoreParametersList", p.DataStoreParametersList)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PolicyParameters.
func (p *PolicyParameters) UnmarshalJSON(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 "backupDatasourceParametersList":
p.BackupDatasourceParametersList, err = unmarshalBackupDatasourceParametersClassificationArray(val)
delete(rawMsg, key)
case "dataStoreParametersList":
p.DataStoreParametersList, err = unmarshalDataStoreParametersClassificationArray(val)
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 ProtectionStatusDetails.
func (p ProtectionStatusDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "errorDetails", p.ErrorDetails)
populate(objectMap, "status", p.Status)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ProtectionStatusDetails.
func (p *ProtectionStatusDetails) UnmarshalJSON(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 "errorDetails":
err = unpopulate(val, "ErrorDetails", &p.ErrorDetails)
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 RangeBasedItemLevelRestoreCriteria.
func (r RangeBasedItemLevelRestoreCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "maxMatchingValue", r.MaxMatchingValue)
populate(objectMap, "minMatchingValue", r.MinMatchingValue)
objectMap["objectType"] = "RangeBasedItemLevelRestoreCriteria"
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RangeBasedItemLevelRestoreCriteria.
func (r *RangeBasedItemLevelRestoreCriteria) UnmarshalJSON(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 "maxMatchingValue":
err = unpopulate(val, "MaxMatchingValue", &r.MaxMatchingValue)
delete(rawMsg, key)
case "minMatchingValue":
err = unpopulate(val, "MinMatchingValue", &r.MinMatchingValue)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &r.ObjectType)
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 RecoveryPointDataStoreDetails.
func (r RecoveryPointDataStoreDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateDateTimeRFC3339(objectMap, "creationTime", r.CreationTime)
populateDateTimeRFC3339(objectMap, "expiryTime", r.ExpiryTime)
populate(objectMap, "id", r.ID)
populate(objectMap, "metaData", r.MetaData)
populateDateTimeRFC3339(objectMap, "rehydrationExpiryTime", r.RehydrationExpiryTime)
populate(objectMap, "rehydrationStatus", r.RehydrationStatus)
populate(objectMap, "state", r.State)
populate(objectMap, "type", r.Type)
populate(objectMap, "visible", r.Visible)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointDataStoreDetails.
func (r *RecoveryPointDataStoreDetails) UnmarshalJSON(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 "creationTime":
err = unpopulateDateTimeRFC3339(val, "CreationTime", &r.CreationTime)
delete(rawMsg, key)
case "expiryTime":
err = unpopulateDateTimeRFC3339(val, "ExpiryTime", &r.ExpiryTime)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "metaData":
err = unpopulate(val, "MetaData", &r.MetaData)
delete(rawMsg, key)
case "rehydrationExpiryTime":
err = unpopulateDateTimeRFC3339(val, "RehydrationExpiryTime", &r.RehydrationExpiryTime)
delete(rawMsg, key)
case "rehydrationStatus":
err = unpopulate(val, "RehydrationStatus", &r.RehydrationStatus)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &r.State)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
case "visible":
err = unpopulate(val, "Visible", &r.Visible)
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 RecoveryPointsFilters.
func (r RecoveryPointsFilters) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endDate", r.EndDate)
populate(objectMap, "extendedInfo", r.ExtendedInfo)
populate(objectMap, "isVisible", r.IsVisible)
populate(objectMap, "restorePointDataStoreId", r.RestorePointDataStoreID)
populate(objectMap, "restorePointState", r.RestorePointState)
populate(objectMap, "startDate", r.StartDate)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RecoveryPointsFilters.
func (r *RecoveryPointsFilters) UnmarshalJSON(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 "endDate":
err = unpopulate(val, "EndDate", &r.EndDate)
delete(rawMsg, key)
case "extendedInfo":
err = unpopulate(val, "ExtendedInfo", &r.ExtendedInfo)
delete(rawMsg, key)
case "isVisible":
err = unpopulate(val, "IsVisible", &r.IsVisible)
delete(rawMsg, key)
case "restorePointDataStoreId":
err = unpopulate(val, "RestorePointDataStoreID", &r.RestorePointDataStoreID)
delete(rawMsg, key)
case "restorePointState":
err = unpopulate(val, "RestorePointState", &r.RestorePointState)
delete(rawMsg, key)
case "startDate":
err = unpopulate(val, "StartDate", &r.StartDate)
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 ResourceGuard.
func (r ResourceGuard) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "allowAutoApprovals", r.AllowAutoApprovals)
populate(objectMap, "description", r.Description)
populate(objectMap, "provisioningState", r.ProvisioningState)
populate(objectMap, "resourceGuardOperations", r.ResourceGuardOperations)
populate(objectMap, "vaultCriticalOperationExclusionList", r.VaultCriticalOperationExclusionList)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuard.
func (r *ResourceGuard) UnmarshalJSON(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 "allowAutoApprovals":
err = unpopulate(val, "AllowAutoApprovals", &r.AllowAutoApprovals)
delete(rawMsg, key)
case "description":
err = unpopulate(val, "Description", &r.Description)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &r.ProvisioningState)
delete(rawMsg, key)
case "resourceGuardOperations":
err = unpopulate(val, "ResourceGuardOperations", &r.ResourceGuardOperations)
delete(rawMsg, key)
case "vaultCriticalOperationExclusionList":
err = unpopulate(val, "VaultCriticalOperationExclusionList", &r.VaultCriticalOperationExclusionList)
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 ResourceGuardOperation.
func (r ResourceGuardOperation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "requestResourceType", r.RequestResourceType)
populate(objectMap, "vaultCriticalOperation", r.VaultCriticalOperation)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardOperation.
func (r *ResourceGuardOperation) UnmarshalJSON(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 "requestResourceType":
err = unpopulate(val, "RequestResourceType", &r.RequestResourceType)
delete(rawMsg, key)
case "vaultCriticalOperation":
err = unpopulate(val, "VaultCriticalOperation", &r.VaultCriticalOperation)
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 ResourceGuardOperationDetail.
func (r ResourceGuardOperationDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "defaultResourceRequest", r.DefaultResourceRequest)
populate(objectMap, "vaultCriticalOperation", r.VaultCriticalOperation)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardOperationDetail.
func (r *ResourceGuardOperationDetail) UnmarshalJSON(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 "defaultResourceRequest":
err = unpopulate(val, "DefaultResourceRequest", &r.DefaultResourceRequest)
delete(rawMsg, key)
case "vaultCriticalOperation":
err = unpopulate(val, "VaultCriticalOperation", &r.VaultCriticalOperation)
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 ResourceGuardProxyBase.
func (r ResourceGuardProxyBase) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", r.Description)
populate(objectMap, "lastUpdatedTime", r.LastUpdatedTime)
populate(objectMap, "resourceGuardOperationDetails", r.ResourceGuardOperationDetails)
populate(objectMap, "resourceGuardResourceId", r.ResourceGuardResourceID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardProxyBase.
func (r *ResourceGuardProxyBase) UnmarshalJSON(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 "description":
err = unpopulate(val, "Description", &r.Description)
delete(rawMsg, key)
case "lastUpdatedTime":
err = unpopulate(val, "LastUpdatedTime", &r.LastUpdatedTime)
delete(rawMsg, key)
case "resourceGuardOperationDetails":
err = unpopulate(val, "ResourceGuardOperationDetails", &r.ResourceGuardOperationDetails)
delete(rawMsg, key)
case "resourceGuardResourceId":
err = unpopulate(val, "ResourceGuardResourceID", &r.ResourceGuardResourceID)
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 ResourceGuardProxyBaseResource.
func (r ResourceGuardProxyBaseResource) 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 ResourceGuardProxyBaseResource.
func (r *ResourceGuardProxyBaseResource) UnmarshalJSON(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 ResourceGuardProxyBaseResourceList.
func (r ResourceGuardProxyBaseResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", r.NextLink)
populate(objectMap, "value", r.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardProxyBaseResourceList.
func (r *ResourceGuardProxyBaseResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &r.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &r.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ResourceGuardResource.
func (r ResourceGuardResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eTag", r.ETag)
populate(objectMap, "id", r.ID)
populate(objectMap, "location", r.Location)
populate(objectMap, "name", r.Name)
populate(objectMap, "properties", r.Properties)
populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "tags", r.Tags)
populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardResource.
func (r *ResourceGuardResource) UnmarshalJSON(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 "eTag":
err = unpopulate(val, "ETag", &r.ETag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &r.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &r.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &r.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ResourceGuardResourceList.
func (r ResourceGuardResourceList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", r.NextLink)
populate(objectMap, "value", r.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceGuardResourceList.
func (r *ResourceGuardResourceList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &r.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &r.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ResourceMoveDetails.
func (r ResourceMoveDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "completionTimeUtc", r.CompletionTimeUTC)
populate(objectMap, "operationId", r.OperationID)
populate(objectMap, "sourceResourcePath", r.SourceResourcePath)
populate(objectMap, "startTimeUtc", r.StartTimeUTC)
populate(objectMap, "targetResourcePath", r.TargetResourcePath)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ResourceMoveDetails.
func (r *ResourceMoveDetails) UnmarshalJSON(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 "completionTimeUtc":
err = unpopulate(val, "CompletionTimeUTC", &r.CompletionTimeUTC)
delete(rawMsg, key)
case "operationId":
err = unpopulate(val, "OperationID", &r.OperationID)
delete(rawMsg, key)
case "sourceResourcePath":
err = unpopulate(val, "SourceResourcePath", &r.SourceResourcePath)
delete(rawMsg, key)
case "startTimeUtc":
err = unpopulate(val, "StartTimeUTC", &r.StartTimeUTC)
delete(rawMsg, key)
case "targetResourcePath":
err = unpopulate(val, "TargetResourcePath", &r.TargetResourcePath)
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 RestorableTimeRange.
func (r RestorableTimeRange) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endTime", r.EndTime)
populate(objectMap, "objectType", r.ObjectType)
populate(objectMap, "startTime", r.StartTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RestorableTimeRange.
func (r *RestorableTimeRange) UnmarshalJSON(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 "endTime":
err = unpopulate(val, "EndTime", &r.EndTime)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &r.ObjectType)
delete(rawMsg, key)
case "startTime":
err = unpopulate(val, "StartTime", &r.StartTime)
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 RestoreFilesTargetInfo.
func (r RestoreFilesTargetInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "RestoreFilesTargetInfo"
populate(objectMap, "recoveryOption", r.RecoveryOption)
populate(objectMap, "restoreLocation", r.RestoreLocation)
populate(objectMap, "targetDetails", r.TargetDetails)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RestoreFilesTargetInfo.
func (r *RestoreFilesTargetInfo) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &r.ObjectType)
delete(rawMsg, key)
case "recoveryOption":
err = unpopulate(val, "RecoveryOption", &r.RecoveryOption)
delete(rawMsg, key)
case "restoreLocation":
err = unpopulate(val, "RestoreLocation", &r.RestoreLocation)
delete(rawMsg, key)
case "targetDetails":
err = unpopulate(val, "TargetDetails", &r.TargetDetails)
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 RestoreJobRecoveryPointDetails.
func (r RestoreJobRecoveryPointDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "recoveryPointID", r.RecoveryPointID)
populateDateTimeRFC3339(objectMap, "recoveryPointTime", r.RecoveryPointTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RestoreJobRecoveryPointDetails.
func (r *RestoreJobRecoveryPointDetails) UnmarshalJSON(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 "recoveryPointID":
err = unpopulate(val, "RecoveryPointID", &r.RecoveryPointID)
delete(rawMsg, key)
case "recoveryPointTime":
err = unpopulateDateTimeRFC3339(val, "RecoveryPointTime", &r.RecoveryPointTime)
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 RestoreTargetInfo.
func (r RestoreTargetInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datasourceAuthCredentials", r.DatasourceAuthCredentials)
populate(objectMap, "datasourceInfo", r.DatasourceInfo)
populate(objectMap, "datasourceSetInfo", r.DatasourceSetInfo)
objectMap["objectType"] = "RestoreTargetInfo"
populate(objectMap, "recoveryOption", r.RecoveryOption)
populate(objectMap, "restoreLocation", r.RestoreLocation)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RestoreTargetInfo.
func (r *RestoreTargetInfo) UnmarshalJSON(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 "datasourceAuthCredentials":
r.DatasourceAuthCredentials, err = unmarshalAuthCredentialsClassification(val)
delete(rawMsg, key)
case "datasourceInfo":
err = unpopulate(val, "DatasourceInfo", &r.DatasourceInfo)
delete(rawMsg, key)
case "datasourceSetInfo":
err = unpopulate(val, "DatasourceSetInfo", &r.DatasourceSetInfo)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &r.ObjectType)
delete(rawMsg, key)
case "recoveryOption":
err = unpopulate(val, "RecoveryOption", &r.RecoveryOption)
delete(rawMsg, key)
case "restoreLocation":
err = unpopulate(val, "RestoreLocation", &r.RestoreLocation)
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 RestoreTargetInfoBase.
func (r RestoreTargetInfoBase) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = r.ObjectType
populate(objectMap, "recoveryOption", r.RecoveryOption)
populate(objectMap, "restoreLocation", r.RestoreLocation)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RestoreTargetInfoBase.
func (r *RestoreTargetInfoBase) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &r.ObjectType)
delete(rawMsg, key)
case "recoveryOption":
err = unpopulate(val, "RecoveryOption", &r.RecoveryOption)
delete(rawMsg, key)
case "restoreLocation":
err = unpopulate(val, "RestoreLocation", &r.RestoreLocation)
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 RetentionTag.
func (r RetentionTag) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eTag", r.ETag)
populate(objectMap, "id", r.ID)
populate(objectMap, "tagName", r.TagName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RetentionTag.
func (r *RetentionTag) UnmarshalJSON(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 "eTag":
err = unpopulate(val, "ETag", &r.ETag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "tagName":
err = unpopulate(val, "TagName", &r.TagName)
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 ScheduleBasedBackupCriteria.
func (s ScheduleBasedBackupCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "absoluteCriteria", s.AbsoluteCriteria)
populate(objectMap, "daysOfMonth", s.DaysOfMonth)
populate(objectMap, "daysOfTheWeek", s.DaysOfTheWeek)
populate(objectMap, "monthsOfYear", s.MonthsOfYear)
objectMap["objectType"] = "ScheduleBasedBackupCriteria"
aux := make([]*dateTimeRFC3339, len(s.ScheduleTimes), len(s.ScheduleTimes))
for i := 0; i < len(s.ScheduleTimes); i++ {
aux[i] = (*dateTimeRFC3339)(s.ScheduleTimes[i])
}
populate(objectMap, "scheduleTimes", aux)
populate(objectMap, "weeksOfTheMonth", s.WeeksOfTheMonth)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ScheduleBasedBackupCriteria.
func (s *ScheduleBasedBackupCriteria) UnmarshalJSON(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 "absoluteCriteria":
err = unpopulate(val, "AbsoluteCriteria", &s.AbsoluteCriteria)
delete(rawMsg, key)
case "daysOfMonth":
err = unpopulate(val, "DaysOfMonth", &s.DaysOfMonth)
delete(rawMsg, key)
case "daysOfTheWeek":
err = unpopulate(val, "DaysOfTheWeek", &s.DaysOfTheWeek)
delete(rawMsg, key)
case "monthsOfYear":
err = unpopulate(val, "MonthsOfYear", &s.MonthsOfYear)
delete(rawMsg, key)
case "objectType":
err = unpopulate(val, "ObjectType", &s.ObjectType)
delete(rawMsg, key)
case "scheduleTimes":
var aux []*dateTimeRFC3339
err = unpopulate(val, "ScheduleTimes", &aux)
for _, au := range aux {
s.ScheduleTimes = append(s.ScheduleTimes, (*time.Time)(au))
}
delete(rawMsg, key)
case "weeksOfTheMonth":
err = unpopulate(val, "WeeksOfTheMonth", &s.WeeksOfTheMonth)
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 ScheduleBasedTriggerContext.
func (s ScheduleBasedTriggerContext) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "ScheduleBasedTriggerContext"
populate(objectMap, "schedule", s.Schedule)
populate(objectMap, "taggingCriteria", s.TaggingCriteria)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ScheduleBasedTriggerContext.
func (s *ScheduleBasedTriggerContext) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &s.ObjectType)
delete(rawMsg, key)
case "schedule":
err = unpopulate(val, "Schedule", &s.Schedule)
delete(rawMsg, key)
case "taggingCriteria":
err = unpopulate(val, "TaggingCriteria", &s.TaggingCriteria)
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 SecretStoreBasedAuthCredentials.
func (s SecretStoreBasedAuthCredentials) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = "SecretStoreBasedAuthCredentials"
populate(objectMap, "secretStoreResource", s.SecretStoreResource)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecretStoreBasedAuthCredentials.
func (s *SecretStoreBasedAuthCredentials) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &s.ObjectType)
delete(rawMsg, key)
case "secretStoreResource":
err = unpopulate(val, "SecretStoreResource", &s.SecretStoreResource)
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 SecretStoreResource.
func (s SecretStoreResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "secretStoreType", s.SecretStoreType)
populate(objectMap, "uri", s.URI)
populate(objectMap, "value", s.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecretStoreResource.
func (s *SecretStoreResource) UnmarshalJSON(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 "secretStoreType":
err = unpopulate(val, "SecretStoreType", &s.SecretStoreType)
delete(rawMsg, key)
case "uri":
err = unpopulate(val, "URI", &s.URI)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &s.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SecuritySettings.
func (s SecuritySettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "encryptionSettings", s.EncryptionSettings)
populate(objectMap, "immutabilitySettings", s.ImmutabilitySettings)
populate(objectMap, "softDeleteSettings", s.SoftDeleteSettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SecuritySettings.
func (s *SecuritySettings) UnmarshalJSON(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 "encryptionSettings":
err = unpopulate(val, "EncryptionSettings", &s.EncryptionSettings)
delete(rawMsg, key)
case "immutabilitySettings":
err = unpopulate(val, "ImmutabilitySettings", &s.ImmutabilitySettings)
delete(rawMsg, key)
case "softDeleteSettings":
err = unpopulate(val, "SoftDeleteSettings", &s.SoftDeleteSettings)
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 SoftDeleteSettings.
func (s SoftDeleteSettings) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "retentionDurationInDays", s.RetentionDurationInDays)
populate(objectMap, "state", s.State)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SoftDeleteSettings.
func (s *SoftDeleteSettings) UnmarshalJSON(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 "retentionDurationInDays":
err = unpopulate(val, "RetentionDurationInDays", &s.RetentionDurationInDays)
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 SourceLifeCycle.
func (s SourceLifeCycle) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "deleteAfter", s.DeleteAfter)
populate(objectMap, "sourceDataStore", s.SourceDataStore)
populate(objectMap, "targetDataStoreCopySettings", s.TargetDataStoreCopySettings)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SourceLifeCycle.
func (s *SourceLifeCycle) UnmarshalJSON(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 "deleteAfter":
s.DeleteAfter, err = unmarshalDeleteOptionClassification(val)
delete(rawMsg, key)
case "sourceDataStore":
err = unpopulate(val, "SourceDataStore", &s.SourceDataStore)
delete(rawMsg, key)
case "targetDataStoreCopySettings":
err = unpopulate(val, "TargetDataStoreCopySettings", &s.TargetDataStoreCopySettings)
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 StopProtectionRequest.
func (s StopProtectionRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "resourceGuardOperationRequests", s.ResourceGuardOperationRequests)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StopProtectionRequest.
func (s *StopProtectionRequest) UnmarshalJSON(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 "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &s.ResourceGuardOperationRequests)
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 StorageSetting.
func (s StorageSetting) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "datastoreType", s.DatastoreType)
populate(objectMap, "type", s.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageSetting.
func (s *StorageSetting) UnmarshalJSON(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 "datastoreType":
err = unpopulate(val, "DatastoreType", &s.DatastoreType)
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 SupportedFeature.
func (s SupportedFeature) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "exposureControlledFeatures", s.ExposureControlledFeatures)
populate(objectMap, "featureName", s.FeatureName)
populate(objectMap, "supportStatus", s.SupportStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SupportedFeature.
func (s *SupportedFeature) UnmarshalJSON(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 "exposureControlledFeatures":
err = unpopulate(val, "ExposureControlledFeatures", &s.ExposureControlledFeatures)
delete(rawMsg, key)
case "featureName":
err = unpopulate(val, "FeatureName", &s.FeatureName)
delete(rawMsg, key)
case "supportStatus":
err = unpopulate(val, "SupportStatus", &s.SupportStatus)
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 SuspendBackupRequest.
func (s SuspendBackupRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "resourceGuardOperationRequests", s.ResourceGuardOperationRequests)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SuspendBackupRequest.
func (s *SuspendBackupRequest) UnmarshalJSON(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 "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &s.ResourceGuardOperationRequests)
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 SyncBackupInstanceRequest.
func (s SyncBackupInstanceRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "syncType", s.SyncType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SyncBackupInstanceRequest.
func (s *SyncBackupInstanceRequest) UnmarshalJSON(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 "syncType":
err = unpopulate(val, "SyncType", &s.SyncType)
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 TaggingCriteria.
func (t TaggingCriteria) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "criteria", t.Criteria)
populate(objectMap, "isDefault", t.IsDefault)
populate(objectMap, "tagInfo", t.TagInfo)
populate(objectMap, "taggingPriority", t.TaggingPriority)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TaggingCriteria.
func (t *TaggingCriteria) UnmarshalJSON(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 "criteria":
t.Criteria, err = unmarshalBackupCriteriaClassificationArray(val)
delete(rawMsg, key)
case "isDefault":
err = unpopulate(val, "IsDefault", &t.IsDefault)
delete(rawMsg, key)
case "tagInfo":
err = unpopulate(val, "TagInfo", &t.TagInfo)
delete(rawMsg, key)
case "taggingPriority":
err = unpopulate(val, "TaggingPriority", &t.TaggingPriority)
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 TargetCopySetting.
func (t TargetCopySetting) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "copyAfter", t.CopyAfter)
populate(objectMap, "dataStore", t.DataStore)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TargetCopySetting.
func (t *TargetCopySetting) UnmarshalJSON(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 "copyAfter":
t.CopyAfter, err = unmarshalCopyOptionClassification(val)
delete(rawMsg, key)
case "dataStore":
err = unpopulate(val, "DataStore", &t.DataStore)
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 TargetDetails.
func (t TargetDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "filePrefix", t.FilePrefix)
populate(objectMap, "restoreTargetLocationType", t.RestoreTargetLocationType)
populate(objectMap, "targetResourceArmId", t.TargetResourceArmID)
populate(objectMap, "url", t.URL)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TargetDetails.
func (t *TargetDetails) UnmarshalJSON(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 "filePrefix":
err = unpopulate(val, "FilePrefix", &t.FilePrefix)
delete(rawMsg, key)
case "restoreTargetLocationType":
err = unpopulate(val, "RestoreTargetLocationType", &t.RestoreTargetLocationType)
delete(rawMsg, key)
case "targetResourceArmId":
err = unpopulate(val, "TargetResourceArmID", &t.TargetResourceArmID)
delete(rawMsg, key)
case "url":
err = unpopulate(val, "URL", &t.URL)
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 TriggerBackupRequest.
func (t TriggerBackupRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backupRuleOptions", t.BackupRuleOptions)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TriggerBackupRequest.
func (t *TriggerBackupRequest) UnmarshalJSON(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 "backupRuleOptions":
err = unpopulate(val, "BackupRuleOptions", &t.BackupRuleOptions)
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 TriggerContext.
func (t TriggerContext) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["objectType"] = t.ObjectType
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TriggerContext.
func (t *TriggerContext) UnmarshalJSON(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 "objectType":
err = unpopulate(val, "ObjectType", &t.ObjectType)
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 UnlockDeleteRequest.
func (u UnlockDeleteRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "resourceGuardOperationRequests", u.ResourceGuardOperationRequests)
populate(objectMap, "resourceToBeDeleted", u.ResourceToBeDeleted)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UnlockDeleteRequest.
func (u *UnlockDeleteRequest) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "resourceGuardOperationRequests":
err = unpopulate(val, "ResourceGuardOperationRequests", &u.ResourceGuardOperationRequests)
delete(rawMsg, key)
case "resourceToBeDeleted":
err = unpopulate(val, "ResourceToBeDeleted", &u.ResourceToBeDeleted)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UnlockDeleteResponse.
func (u UnlockDeleteResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "unlockDeleteExpiryTime", u.UnlockDeleteExpiryTime)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UnlockDeleteResponse.
func (u *UnlockDeleteResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "unlockDeleteExpiryTime":
err = unpopulate(val, "UnlockDeleteExpiryTime", &u.UnlockDeleteExpiryTime)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UserAssignedIdentity.
func (u UserAssignedIdentity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "clientId", u.ClientID)
populate(objectMap, "principalId", u.PrincipalID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserAssignedIdentity.
func (u *UserAssignedIdentity) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "clientId":
err = unpopulate(val, "ClientID", &u.ClientID)
delete(rawMsg, key)
case "principalId":
err = unpopulate(val, "PrincipalID", &u.PrincipalID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UserFacingError.
func (u UserFacingError) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "code", u.Code)
populate(objectMap, "details", u.Details)
populate(objectMap, "innerError", u.InnerError)
populate(objectMap, "isRetryable", u.IsRetryable)
populate(objectMap, "isUserError", u.IsUserError)
populate(objectMap, "message", u.Message)
populate(objectMap, "properties", u.Properties)
populate(objectMap, "recommendedAction", u.RecommendedAction)
populate(objectMap, "target", u.Target)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserFacingError.
func (u *UserFacingError) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "code":
err = unpopulate(val, "Code", &u.Code)
delete(rawMsg, key)
case "details":
err = unpopulate(val, "Details", &u.Details)
delete(rawMsg, key)
case "innerError":
err = unpopulate(val, "InnerError", &u.InnerError)
delete(rawMsg, key)
case "isRetryable":
err = unpopulate(val, "IsRetryable", &u.IsRetryable)
delete(rawMsg, key)
case "isUserError":
err = unpopulate(val, "IsUserError", &u.IsUserError)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &u.Message)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &u.Properties)
delete(rawMsg, key)
case "recommendedAction":
err = unpopulate(val, "RecommendedAction", &u.RecommendedAction)
delete(rawMsg, key)
case "target":
err = unpopulate(val, "Target", &u.Target)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UserFacingWarningDetail.
func (u UserFacingWarningDetail) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "resourceName", u.ResourceName)
populate(objectMap, "warning", u.Warning)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserFacingWarningDetail.
func (u *UserFacingWarningDetail) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "resourceName":
err = unpopulate(val, "ResourceName", &u.ResourceName)
delete(rawMsg, key)
case "warning":
err = unpopulate(val, "Warning", &u.Warning)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ValidateCrossRegionRestoreRequestObject.
func (v ValidateCrossRegionRestoreRequestObject) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "crossRegionRestoreDetails", v.CrossRegionRestoreDetails)
populate(objectMap, "restoreRequestObject", v.RestoreRequestObject)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ValidateCrossRegionRestoreRequestObject.
func (v *ValidateCrossRegionRestoreRequestObject) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "crossRegionRestoreDetails":
err = unpopulate(val, "CrossRegionRestoreDetails", &v.CrossRegionRestoreDetails)
delete(rawMsg, key)
case "restoreRequestObject":
v.RestoreRequestObject, err = unmarshalAzureBackupRestoreRequestClassification(val)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ValidateForBackupRequest.
func (v ValidateForBackupRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "backupInstance", v.BackupInstance)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ValidateForBackupRequest.
func (v *ValidateForBackupRequest) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "backupInstance":
err = unpopulate(val, "BackupInstance", &v.BackupInstance)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ValidateRestoreRequestObject.
func (v ValidateRestoreRequestObject) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "restoreRequestObject", v.RestoreRequestObject)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ValidateRestoreRequestObject.
func (v *ValidateRestoreRequestObject) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "restoreRequestObject":
v.RestoreRequestObject, err = unmarshalAzureBackupRestoreRequestClassification(val)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
func populate(m map[string]any, k string, v any) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else if !reflect.ValueOf(v).IsNil() {
m[k] = v
}
}
func populateAny(m map[string]any, k string, v any) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else {
m[k] = v
}
}
func unpopulate(data json.RawMessage, fn string, v any) error {
if data == nil || string(data) == "null" {
return nil
}
if err := json.Unmarshal(data, v); err != nil {
return fmt.Errorf("struct field %s: %v", fn, err)
}
return nil
}