sdk/resourcemanager/kusto/armkusto/models_serde.go (3,786 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 armkusto import ( "encoding/json" "fmt" "github.com/Azure/azure-sdk-for-go/sdk/azcore" "reflect" ) // MarshalJSON implements the json.Marshaller interface for type AcceptedAudiences. func (a AcceptedAudiences) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AcceptedAudiences. func (a *AcceptedAudiences) UnmarshalJSON(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 "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 AttachedDatabaseConfiguration. func (a AttachedDatabaseConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", a.ID) populate(objectMap, "location", a.Location) populate(objectMap, "name", a.Name) populate(objectMap, "properties", a.Properties) populate(objectMap, "type", a.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AttachedDatabaseConfiguration. func (a *AttachedDatabaseConfiguration) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", a, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &a.ID) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &a.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &a.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &a.Properties) delete(rawMsg, key) case "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 AttachedDatabaseConfigurationListResult. func (a AttachedDatabaseConfigurationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", a.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AttachedDatabaseConfigurationListResult. func (a *AttachedDatabaseConfigurationListResult) UnmarshalJSON(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 "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 AttachedDatabaseConfigurationProperties. func (a AttachedDatabaseConfigurationProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "attachedDatabaseNames", a.AttachedDatabaseNames) populate(objectMap, "clusterResourceId", a.ClusterResourceID) populate(objectMap, "databaseName", a.DatabaseName) populate(objectMap, "databaseNameOverride", a.DatabaseNameOverride) populate(objectMap, "databaseNamePrefix", a.DatabaseNamePrefix) populate(objectMap, "defaultPrincipalsModificationKind", a.DefaultPrincipalsModificationKind) populate(objectMap, "provisioningState", a.ProvisioningState) populate(objectMap, "tableLevelSharingProperties", a.TableLevelSharingProperties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AttachedDatabaseConfigurationProperties. func (a *AttachedDatabaseConfigurationProperties) UnmarshalJSON(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 "attachedDatabaseNames": err = unpopulate(val, "AttachedDatabaseNames", &a.AttachedDatabaseNames) delete(rawMsg, key) case "clusterResourceId": err = unpopulate(val, "ClusterResourceID", &a.ClusterResourceID) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &a.DatabaseName) delete(rawMsg, key) case "databaseNameOverride": err = unpopulate(val, "DatabaseNameOverride", &a.DatabaseNameOverride) delete(rawMsg, key) case "databaseNamePrefix": err = unpopulate(val, "DatabaseNamePrefix", &a.DatabaseNamePrefix) delete(rawMsg, key) case "defaultPrincipalsModificationKind": err = unpopulate(val, "DefaultPrincipalsModificationKind", &a.DefaultPrincipalsModificationKind) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &a.ProvisioningState) delete(rawMsg, key) case "tableLevelSharingProperties": err = unpopulate(val, "TableLevelSharingProperties", &a.TableLevelSharingProperties) 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 AttachedDatabaseConfigurationsCheckNameRequest. func (a AttachedDatabaseConfigurationsCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", a.Name) objectMap["type"] = "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AttachedDatabaseConfigurationsCheckNameRequest. func (a *AttachedDatabaseConfigurationsCheckNameRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", a, err) } for key, val := range rawMsg { var err error switch key { case "name": err = unpopulate(val, "Name", &a.Name) delete(rawMsg, key) case "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 AzureCapacity. func (a AzureCapacity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "default", a.Default) populate(objectMap, "maximum", a.Maximum) populate(objectMap, "minimum", a.Minimum) populate(objectMap, "scaleType", a.ScaleType) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AzureCapacity. func (a *AzureCapacity) UnmarshalJSON(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 "default": err = unpopulate(val, "Default", &a.Default) delete(rawMsg, key) case "maximum": err = unpopulate(val, "Maximum", &a.Maximum) delete(rawMsg, key) case "minimum": err = unpopulate(val, "Minimum", &a.Minimum) delete(rawMsg, key) case "scaleType": err = unpopulate(val, "ScaleType", &a.ScaleType) 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 AzureResourceSKU. func (a AzureResourceSKU) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "capacity", a.Capacity) populate(objectMap, "resourceType", a.ResourceType) populate(objectMap, "sku", a.SKU) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AzureResourceSKU. func (a *AzureResourceSKU) UnmarshalJSON(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 "capacity": err = unpopulate(val, "Capacity", &a.Capacity) delete(rawMsg, key) case "resourceType": err = unpopulate(val, "ResourceType", &a.ResourceType) delete(rawMsg, key) case "sku": err = unpopulate(val, "SKU", &a.SKU) 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 AzureSKU. func (a AzureSKU) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "capacity", a.Capacity) populate(objectMap, "name", a.Name) populate(objectMap, "tier", a.Tier) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type AzureSKU. func (a *AzureSKU) UnmarshalJSON(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 "capacity": err = unpopulate(val, "Capacity", &a.Capacity) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &a.Name) delete(rawMsg, key) case "tier": err = unpopulate(val, "Tier", &a.Tier) 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 CalloutPoliciesList. func (c CalloutPoliciesList) 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 CalloutPoliciesList. func (c *CalloutPoliciesList) UnmarshalJSON(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 CalloutPolicy. func (c CalloutPolicy) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "calloutId", c.CalloutID) populate(objectMap, "calloutType", c.CalloutType) populate(objectMap, "calloutUriRegex", c.CalloutURIRegex) populate(objectMap, "outboundAccess", c.OutboundAccess) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CalloutPolicy. func (c *CalloutPolicy) UnmarshalJSON(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 "calloutId": err = unpopulate(val, "CalloutID", &c.CalloutID) delete(rawMsg, key) case "calloutType": err = unpopulate(val, "CalloutType", &c.CalloutType) delete(rawMsg, key) case "calloutUriRegex": err = unpopulate(val, "CalloutURIRegex", &c.CalloutURIRegex) delete(rawMsg, key) case "outboundAccess": err = unpopulate(val, "OutboundAccess", &c.OutboundAccess) 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 CalloutPolicyToRemove. func (c CalloutPolicyToRemove) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "calloutId", c.CalloutID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CalloutPolicyToRemove. func (c *CalloutPolicyToRemove) UnmarshalJSON(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 "calloutId": err = unpopulate(val, "CalloutID", &c.CalloutID) 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 CheckNameRequest. func (c CheckNameRequest) 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 CheckNameRequest. func (c *CheckNameRequest) UnmarshalJSON(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 CheckNameResult. func (c CheckNameResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "message", c.Message) populate(objectMap, "name", c.Name) populate(objectMap, "nameAvailable", c.NameAvailable) populate(objectMap, "reason", c.Reason) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CheckNameResult. func (c *CheckNameResult) UnmarshalJSON(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 "name": err = unpopulate(val, "Name", &c.Name) 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 Cluster. func (c Cluster) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "etag", c.Etag) populate(objectMap, "id", c.ID) populate(objectMap, "identity", c.Identity) populate(objectMap, "location", c.Location) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "sku", c.SKU) populate(objectMap, "systemData", c.SystemData) populate(objectMap, "tags", c.Tags) populate(objectMap, "type", c.Type) populate(objectMap, "zones", c.Zones) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Cluster. func (c *Cluster) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "etag": err = unpopulate(val, "Etag", &c.Etag) delete(rawMsg, key) case "id": err = unpopulate(val, "ID", &c.ID) delete(rawMsg, key) case "identity": err = unpopulate(val, "Identity", &c.Identity) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &c.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &c.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &c.Properties) delete(rawMsg, key) case "sku": err = unpopulate(val, "SKU", &c.SKU) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &c.SystemData) delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &c.Tags) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &c.Type) delete(rawMsg, key) case "zones": err = unpopulate(val, "Zones", &c.Zones) 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 ClusterCheckNameRequest. func (c ClusterCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", c.Name) objectMap["type"] = "Microsoft.Kusto/clusters" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterCheckNameRequest. func (c *ClusterCheckNameRequest) UnmarshalJSON(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 ClusterListResult. func (c ClusterListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", c.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterListResult. func (c *ClusterListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &c.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ClusterMigrateRequest. func (c ClusterMigrateRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "clusterResourceId", c.ClusterResourceID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterMigrateRequest. func (c *ClusterMigrateRequest) UnmarshalJSON(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 "clusterResourceId": err = unpopulate(val, "ClusterResourceID", &c.ClusterResourceID) 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 ClusterPrincipalAssignment. func (c ClusterPrincipalAssignment) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", c.ID) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPrincipalAssignment. func (c *ClusterPrincipalAssignment) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &c.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &c.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &c.Properties) delete(rawMsg, key) case "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 ClusterPrincipalAssignmentCheckNameRequest. func (c ClusterPrincipalAssignmentCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", c.Name) objectMap["type"] = "Microsoft.Kusto/clusters/principalAssignments" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPrincipalAssignmentCheckNameRequest. func (c *ClusterPrincipalAssignmentCheckNameRequest) UnmarshalJSON(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 ClusterPrincipalAssignmentListResult. func (c ClusterPrincipalAssignmentListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", c.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPrincipalAssignmentListResult. func (c *ClusterPrincipalAssignmentListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &c.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ClusterPrincipalProperties. func (c ClusterPrincipalProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "aadObjectId", c.AADObjectID) populate(objectMap, "principalId", c.PrincipalID) populate(objectMap, "principalName", c.PrincipalName) populate(objectMap, "principalType", c.PrincipalType) populate(objectMap, "provisioningState", c.ProvisioningState) populate(objectMap, "role", c.Role) populate(objectMap, "tenantId", c.TenantID) populate(objectMap, "tenantName", c.TenantName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPrincipalProperties. func (c *ClusterPrincipalProperties) UnmarshalJSON(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 "aadObjectId": err = unpopulate(val, "AADObjectID", &c.AADObjectID) delete(rawMsg, key) case "principalId": err = unpopulate(val, "PrincipalID", &c.PrincipalID) delete(rawMsg, key) case "principalName": err = unpopulate(val, "PrincipalName", &c.PrincipalName) delete(rawMsg, key) case "principalType": err = unpopulate(val, "PrincipalType", &c.PrincipalType) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) delete(rawMsg, key) case "role": err = unpopulate(val, "Role", &c.Role) delete(rawMsg, key) case "tenantId": err = unpopulate(val, "TenantID", &c.TenantID) delete(rawMsg, key) case "tenantName": err = unpopulate(val, "TenantName", &c.TenantName) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ClusterProperties. func (c ClusterProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "acceptedAudiences", c.AcceptedAudiences) populate(objectMap, "allowedFqdnList", c.AllowedFqdnList) populate(objectMap, "allowedIpRangeList", c.AllowedIPRangeList) populate(objectMap, "calloutPolicies", c.CalloutPolicies) populate(objectMap, "dataIngestionUri", c.DataIngestionURI) populate(objectMap, "enableAutoStop", c.EnableAutoStop) populate(objectMap, "enableDiskEncryption", c.EnableDiskEncryption) populate(objectMap, "enableDoubleEncryption", c.EnableDoubleEncryption) populate(objectMap, "enablePurge", c.EnablePurge) populate(objectMap, "enableStreamingIngest", c.EnableStreamingIngest) populate(objectMap, "engineType", c.EngineType) populate(objectMap, "keyVaultProperties", c.KeyVaultProperties) populate(objectMap, "languageExtensions", c.LanguageExtensions) populate(objectMap, "migrationCluster", c.MigrationCluster) populate(objectMap, "optimizedAutoscale", c.OptimizedAutoscale) populate(objectMap, "privateEndpointConnections", c.PrivateEndpointConnections) populate(objectMap, "provisioningState", c.ProvisioningState) populate(objectMap, "publicIPType", c.PublicIPType) populate(objectMap, "publicNetworkAccess", c.PublicNetworkAccess) populate(objectMap, "restrictOutboundNetworkAccess", c.RestrictOutboundNetworkAccess) populate(objectMap, "state", c.State) populate(objectMap, "stateReason", c.StateReason) populate(objectMap, "trustedExternalTenants", c.TrustedExternalTenants) populate(objectMap, "uri", c.URI) populate(objectMap, "virtualClusterGraduationProperties", c.VirtualClusterGraduationProperties) populate(objectMap, "virtualNetworkConfiguration", c.VirtualNetworkConfiguration) populate(objectMap, "zoneStatus", c.ZoneStatus) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterProperties. func (c *ClusterProperties) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "acceptedAudiences": err = unpopulate(val, "AcceptedAudiences", &c.AcceptedAudiences) delete(rawMsg, key) case "allowedFqdnList": err = unpopulate(val, "AllowedFqdnList", &c.AllowedFqdnList) delete(rawMsg, key) case "allowedIpRangeList": err = unpopulate(val, "AllowedIPRangeList", &c.AllowedIPRangeList) delete(rawMsg, key) case "calloutPolicies": err = unpopulate(val, "CalloutPolicies", &c.CalloutPolicies) delete(rawMsg, key) case "dataIngestionUri": err = unpopulate(val, "DataIngestionURI", &c.DataIngestionURI) delete(rawMsg, key) case "enableAutoStop": err = unpopulate(val, "EnableAutoStop", &c.EnableAutoStop) delete(rawMsg, key) case "enableDiskEncryption": err = unpopulate(val, "EnableDiskEncryption", &c.EnableDiskEncryption) delete(rawMsg, key) case "enableDoubleEncryption": err = unpopulate(val, "EnableDoubleEncryption", &c.EnableDoubleEncryption) delete(rawMsg, key) case "enablePurge": err = unpopulate(val, "EnablePurge", &c.EnablePurge) delete(rawMsg, key) case "enableStreamingIngest": err = unpopulate(val, "EnableStreamingIngest", &c.EnableStreamingIngest) delete(rawMsg, key) case "engineType": err = unpopulate(val, "EngineType", &c.EngineType) delete(rawMsg, key) case "keyVaultProperties": err = unpopulate(val, "KeyVaultProperties", &c.KeyVaultProperties) delete(rawMsg, key) case "languageExtensions": err = unpopulate(val, "LanguageExtensions", &c.LanguageExtensions) delete(rawMsg, key) case "migrationCluster": err = unpopulate(val, "MigrationCluster", &c.MigrationCluster) delete(rawMsg, key) case "optimizedAutoscale": err = unpopulate(val, "OptimizedAutoscale", &c.OptimizedAutoscale) delete(rawMsg, key) case "privateEndpointConnections": err = unpopulate(val, "PrivateEndpointConnections", &c.PrivateEndpointConnections) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) delete(rawMsg, key) case "publicIPType": err = unpopulate(val, "PublicIPType", &c.PublicIPType) delete(rawMsg, key) case "publicNetworkAccess": err = unpopulate(val, "PublicNetworkAccess", &c.PublicNetworkAccess) delete(rawMsg, key) case "restrictOutboundNetworkAccess": err = unpopulate(val, "RestrictOutboundNetworkAccess", &c.RestrictOutboundNetworkAccess) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &c.State) delete(rawMsg, key) case "stateReason": err = unpopulate(val, "StateReason", &c.StateReason) delete(rawMsg, key) case "trustedExternalTenants": err = unpopulate(val, "TrustedExternalTenants", &c.TrustedExternalTenants) delete(rawMsg, key) case "uri": err = unpopulate(val, "URI", &c.URI) delete(rawMsg, key) case "virtualClusterGraduationProperties": err = unpopulate(val, "VirtualClusterGraduationProperties", &c.VirtualClusterGraduationProperties) delete(rawMsg, key) case "virtualNetworkConfiguration": err = unpopulate(val, "VirtualNetworkConfiguration", &c.VirtualNetworkConfiguration) delete(rawMsg, key) case "zoneStatus": err = unpopulate(val, "ZoneStatus", &c.ZoneStatus) 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 ClusterUpdate. func (c ClusterUpdate) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", c.ID) populate(objectMap, "identity", c.Identity) populate(objectMap, "location", c.Location) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "sku", c.SKU) populate(objectMap, "tags", c.Tags) populate(objectMap, "type", c.Type) populate(objectMap, "zones", c.Zones) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpdate. func (c *ClusterUpdate) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &c.ID) delete(rawMsg, key) case "identity": err = unpopulate(val, "Identity", &c.Identity) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &c.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &c.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &c.Properties) delete(rawMsg, key) case "sku": err = unpopulate(val, "SKU", &c.SKU) delete(rawMsg, key) case "tags": err = unpopulate(val, "Tags", &c.Tags) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &c.Type) delete(rawMsg, key) case "zones": err = unpopulate(val, "Zones", &c.Zones) 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 ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties. func (c ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "clientId", c.ClientID) populate(objectMap, "principalId", c.PrincipalID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties. func (c *ComponentsSgqdofSchemasIdentityPropertiesUserassignedidentitiesAdditionalproperties) UnmarshalJSON(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 "clientId": err = unpopulate(val, "ClientID", &c.ClientID) delete(rawMsg, key) case "principalId": err = unpopulate(val, "PrincipalID", &c.PrincipalID) 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 CosmosDbDataConnection. func (c CosmosDbDataConnection) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", c.ID) objectMap["kind"] = DataConnectionKindCosmosDb populate(objectMap, "location", c.Location) populate(objectMap, "name", c.Name) populate(objectMap, "properties", c.Properties) populate(objectMap, "type", c.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CosmosDbDataConnection. func (c *CosmosDbDataConnection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", c, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &c.ID) delete(rawMsg, key) case "kind": err = unpopulate(val, "Kind", &c.Kind) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &c.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &c.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &c.Properties) delete(rawMsg, key) case "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 CosmosDbDataConnectionProperties. func (c CosmosDbDataConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "cosmosDbAccountResourceId", c.CosmosDbAccountResourceID) populate(objectMap, "cosmosDbContainer", c.CosmosDbContainer) populate(objectMap, "cosmosDbDatabase", c.CosmosDbDatabase) populate(objectMap, "managedIdentityObjectId", c.ManagedIdentityObjectID) populate(objectMap, "managedIdentityResourceId", c.ManagedIdentityResourceID) populate(objectMap, "mappingRuleName", c.MappingRuleName) populate(objectMap, "provisioningState", c.ProvisioningState) populateDateTimeRFC3339(objectMap, "retrievalStartDate", c.RetrievalStartDate) populate(objectMap, "tableName", c.TableName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type CosmosDbDataConnectionProperties. func (c *CosmosDbDataConnectionProperties) UnmarshalJSON(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 "cosmosDbAccountResourceId": err = unpopulate(val, "CosmosDbAccountResourceID", &c.CosmosDbAccountResourceID) delete(rawMsg, key) case "cosmosDbContainer": err = unpopulate(val, "CosmosDbContainer", &c.CosmosDbContainer) delete(rawMsg, key) case "cosmosDbDatabase": err = unpopulate(val, "CosmosDbDatabase", &c.CosmosDbDatabase) delete(rawMsg, key) case "managedIdentityObjectId": err = unpopulate(val, "ManagedIdentityObjectID", &c.ManagedIdentityObjectID) delete(rawMsg, key) case "managedIdentityResourceId": err = unpopulate(val, "ManagedIdentityResourceID", &c.ManagedIdentityResourceID) delete(rawMsg, key) case "mappingRuleName": err = unpopulate(val, "MappingRuleName", &c.MappingRuleName) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &c.ProvisioningState) delete(rawMsg, key) case "retrievalStartDate": err = unpopulateDateTimeRFC3339(val, "RetrievalStartDate", &c.RetrievalStartDate) delete(rawMsg, key) case "tableName": err = unpopulate(val, "TableName", &c.TableName) 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 DataConnection. func (d DataConnection) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", d.ID) objectMap["kind"] = d.Kind populate(objectMap, "location", d.Location) populate(objectMap, "name", d.Name) populate(objectMap, "type", d.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DataConnection. func (d *DataConnection) UnmarshalJSON(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 "kind": err = unpopulate(val, "Kind", &d.Kind) 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 "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 DataConnectionCheckNameRequest. func (d DataConnectionCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", d.Name) objectMap["type"] = "Microsoft.Kusto/clusters/databases/dataConnections" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DataConnectionCheckNameRequest. func (d *DataConnectionCheckNameRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", d, err) } for key, val := range rawMsg { var err error switch key { case "name": err = unpopulate(val, "Name", &d.Name) delete(rawMsg, key) case "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 DataConnectionListResult. func (d DataConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DataConnectionListResult. func (d *DataConnectionListResult) UnmarshalJSON(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 "value": d.Value, err = unmarshalDataConnectionClassificationArray(val) 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 DataConnectionValidation. func (d DataConnectionValidation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "dataConnectionName", d.DataConnectionName) populate(objectMap, "properties", d.Properties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DataConnectionValidation. func (d *DataConnectionValidation) UnmarshalJSON(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 "dataConnectionName": err = unpopulate(val, "DataConnectionName", &d.DataConnectionName) delete(rawMsg, key) case "properties": d.Properties, err = unmarshalDataConnectionClassification(val) 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 DataConnectionValidationListResult. func (d DataConnectionValidationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DataConnectionValidationListResult. func (d *DataConnectionValidationListResult) UnmarshalJSON(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 "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 DataConnectionValidationResult. func (d DataConnectionValidationResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "errorMessage", d.ErrorMessage) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DataConnectionValidationResult. func (d *DataConnectionValidationResult) UnmarshalJSON(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 "errorMessage": err = unpopulate(val, "ErrorMessage", &d.ErrorMessage) 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 Database. func (d Database) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", d.ID) objectMap["kind"] = d.Kind populate(objectMap, "location", d.Location) populate(objectMap, "name", d.Name) populate(objectMap, "type", d.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Database. func (d *Database) UnmarshalJSON(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 "kind": err = unpopulate(val, "Kind", &d.Kind) 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 "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 DatabaseInviteFollowerRequest. func (d DatabaseInviteFollowerRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "inviteeEmail", d.InviteeEmail) populate(objectMap, "tableLevelSharingProperties", d.TableLevelSharingProperties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabaseInviteFollowerRequest. func (d *DatabaseInviteFollowerRequest) UnmarshalJSON(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 "inviteeEmail": err = unpopulate(val, "InviteeEmail", &d.InviteeEmail) delete(rawMsg, key) case "tableLevelSharingProperties": err = unpopulate(val, "TableLevelSharingProperties", &d.TableLevelSharingProperties) 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 DatabaseInviteFollowerResult. func (d DatabaseInviteFollowerResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "generatedInvitation", d.GeneratedInvitation) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabaseInviteFollowerResult. func (d *DatabaseInviteFollowerResult) UnmarshalJSON(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 "generatedInvitation": err = unpopulate(val, "GeneratedInvitation", &d.GeneratedInvitation) 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 DatabaseListResult. func (d DatabaseListResult) 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 DatabaseListResult. func (d *DatabaseListResult) UnmarshalJSON(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": d.Value, err = unmarshalDatabaseClassificationArray(val) 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 DatabasePrincipal. func (d DatabasePrincipal) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "appId", d.AppID) populate(objectMap, "email", d.Email) populate(objectMap, "fqn", d.Fqn) populate(objectMap, "name", d.Name) populate(objectMap, "role", d.Role) populate(objectMap, "tenantName", d.TenantName) populate(objectMap, "type", d.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipal. func (d *DatabasePrincipal) UnmarshalJSON(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 "appId": err = unpopulate(val, "AppID", &d.AppID) delete(rawMsg, key) case "email": err = unpopulate(val, "Email", &d.Email) delete(rawMsg, key) case "fqn": err = unpopulate(val, "Fqn", &d.Fqn) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &d.Name) delete(rawMsg, key) case "role": err = unpopulate(val, "Role", &d.Role) delete(rawMsg, key) case "tenantName": err = unpopulate(val, "TenantName", &d.TenantName) 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 DatabasePrincipalAssignment. func (d DatabasePrincipalAssignment) 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, "type", d.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipalAssignment. func (d *DatabasePrincipalAssignment) UnmarshalJSON(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 "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 DatabasePrincipalAssignmentCheckNameRequest. func (d DatabasePrincipalAssignmentCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", d.Name) objectMap["type"] = "Microsoft.Kusto/clusters/databases/principalAssignments" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipalAssignmentCheckNameRequest. func (d *DatabasePrincipalAssignmentCheckNameRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", d, err) } for key, val := range rawMsg { var err error switch key { case "name": err = unpopulate(val, "Name", &d.Name) delete(rawMsg, key) case "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 DatabasePrincipalAssignmentListResult. func (d DatabasePrincipalAssignmentListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipalAssignmentListResult. func (d *DatabasePrincipalAssignmentListResult) UnmarshalJSON(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 "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 DatabasePrincipalListRequest. func (d DatabasePrincipalListRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipalListRequest. func (d *DatabasePrincipalListRequest) UnmarshalJSON(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 "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 DatabasePrincipalListResult. func (d DatabasePrincipalListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", d.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipalListResult. func (d *DatabasePrincipalListResult) UnmarshalJSON(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 "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 DatabasePrincipalProperties. func (d DatabasePrincipalProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "aadObjectId", d.AADObjectID) populate(objectMap, "principalId", d.PrincipalID) populate(objectMap, "principalName", d.PrincipalName) populate(objectMap, "principalType", d.PrincipalType) populate(objectMap, "provisioningState", d.ProvisioningState) populate(objectMap, "role", d.Role) populate(objectMap, "tenantId", d.TenantID) populate(objectMap, "tenantName", d.TenantName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabasePrincipalProperties. func (d *DatabasePrincipalProperties) UnmarshalJSON(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 "aadObjectId": err = unpopulate(val, "AADObjectID", &d.AADObjectID) delete(rawMsg, key) case "principalId": err = unpopulate(val, "PrincipalID", &d.PrincipalID) delete(rawMsg, key) case "principalName": err = unpopulate(val, "PrincipalName", &d.PrincipalName) delete(rawMsg, key) case "principalType": err = unpopulate(val, "PrincipalType", &d.PrincipalType) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &d.ProvisioningState) delete(rawMsg, key) case "role": err = unpopulate(val, "Role", &d.Role) delete(rawMsg, key) case "tenantId": err = unpopulate(val, "TenantID", &d.TenantID) delete(rawMsg, key) case "tenantName": err = unpopulate(val, "TenantName", &d.TenantName) 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 DatabaseStatistics. func (d DatabaseStatistics) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "size", d.Size) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DatabaseStatistics. func (d *DatabaseStatistics) UnmarshalJSON(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 "size": err = unpopulate(val, "Size", &d.Size) 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 DiagnoseVirtualNetworkResult. func (d DiagnoseVirtualNetworkResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "findings", d.Findings) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type DiagnoseVirtualNetworkResult. func (d *DiagnoseVirtualNetworkResult) UnmarshalJSON(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 "findings": err = unpopulate(val, "Findings", &d.Findings) 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 EndpointDependency. func (e EndpointDependency) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "domainName", e.DomainName) populate(objectMap, "endpointDetails", e.EndpointDetails) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type EndpointDependency. func (e *EndpointDependency) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", e, err) } for key, val := range rawMsg { var err error switch key { case "domainName": err = unpopulate(val, "DomainName", &e.DomainName) delete(rawMsg, key) case "endpointDetails": err = unpopulate(val, "EndpointDetails", &e.EndpointDetails) 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 EndpointDetail. func (e EndpointDetail) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "ipAddress", e.IPAddress) populate(objectMap, "port", e.Port) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type EndpointDetail. func (e *EndpointDetail) UnmarshalJSON(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 "ipAddress": err = unpopulate(val, "IPAddress", &e.IPAddress) delete(rawMsg, key) case "port": err = unpopulate(val, "Port", &e.Port) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", e, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type EventGridConnectionProperties. func (e EventGridConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "blobStorageEventType", e.BlobStorageEventType) populate(objectMap, "consumerGroup", e.ConsumerGroup) populate(objectMap, "dataFormat", e.DataFormat) populate(objectMap, "databaseRouting", e.DatabaseRouting) populate(objectMap, "eventGridResourceId", e.EventGridResourceID) populate(objectMap, "eventHubResourceId", e.EventHubResourceID) populate(objectMap, "ignoreFirstRecord", e.IgnoreFirstRecord) populate(objectMap, "managedIdentityObjectId", e.ManagedIdentityObjectID) populate(objectMap, "managedIdentityResourceId", e.ManagedIdentityResourceID) populate(objectMap, "mappingRuleName", e.MappingRuleName) populate(objectMap, "provisioningState", e.ProvisioningState) populate(objectMap, "storageAccountResourceId", e.StorageAccountResourceID) populate(objectMap, "tableName", e.TableName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type EventGridConnectionProperties. func (e *EventGridConnectionProperties) UnmarshalJSON(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 "blobStorageEventType": err = unpopulate(val, "BlobStorageEventType", &e.BlobStorageEventType) delete(rawMsg, key) case "consumerGroup": err = unpopulate(val, "ConsumerGroup", &e.ConsumerGroup) delete(rawMsg, key) case "dataFormat": err = unpopulate(val, "DataFormat", &e.DataFormat) delete(rawMsg, key) case "databaseRouting": err = unpopulate(val, "DatabaseRouting", &e.DatabaseRouting) delete(rawMsg, key) case "eventGridResourceId": err = unpopulate(val, "EventGridResourceID", &e.EventGridResourceID) delete(rawMsg, key) case "eventHubResourceId": err = unpopulate(val, "EventHubResourceID", &e.EventHubResourceID) delete(rawMsg, key) case "ignoreFirstRecord": err = unpopulate(val, "IgnoreFirstRecord", &e.IgnoreFirstRecord) delete(rawMsg, key) case "managedIdentityObjectId": err = unpopulate(val, "ManagedIdentityObjectID", &e.ManagedIdentityObjectID) delete(rawMsg, key) case "managedIdentityResourceId": err = unpopulate(val, "ManagedIdentityResourceID", &e.ManagedIdentityResourceID) delete(rawMsg, key) case "mappingRuleName": err = unpopulate(val, "MappingRuleName", &e.MappingRuleName) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) delete(rawMsg, key) case "storageAccountResourceId": err = unpopulate(val, "StorageAccountResourceID", &e.StorageAccountResourceID) delete(rawMsg, key) case "tableName": err = unpopulate(val, "TableName", &e.TableName) 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 EventGridDataConnection. func (e EventGridDataConnection) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", e.ID) objectMap["kind"] = DataConnectionKindEventGrid populate(objectMap, "location", e.Location) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) populate(objectMap, "type", e.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type EventGridDataConnection. func (e *EventGridDataConnection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", e, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &e.ID) delete(rawMsg, key) case "kind": err = unpopulate(val, "Kind", &e.Kind) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &e.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &e.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &e.Properties) delete(rawMsg, key) case "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 EventHubConnectionProperties. func (e EventHubConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "compression", e.Compression) populate(objectMap, "consumerGroup", e.ConsumerGroup) populate(objectMap, "dataFormat", e.DataFormat) populate(objectMap, "databaseRouting", e.DatabaseRouting) populate(objectMap, "eventHubResourceId", e.EventHubResourceID) populate(objectMap, "eventSystemProperties", e.EventSystemProperties) populate(objectMap, "managedIdentityObjectId", e.ManagedIdentityObjectID) populate(objectMap, "managedIdentityResourceId", e.ManagedIdentityResourceID) populate(objectMap, "mappingRuleName", e.MappingRuleName) populate(objectMap, "provisioningState", e.ProvisioningState) populateDateTimeRFC3339(objectMap, "retrievalStartDate", e.RetrievalStartDate) populate(objectMap, "tableName", e.TableName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type EventHubConnectionProperties. func (e *EventHubConnectionProperties) UnmarshalJSON(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 "compression": err = unpopulate(val, "Compression", &e.Compression) delete(rawMsg, key) case "consumerGroup": err = unpopulate(val, "ConsumerGroup", &e.ConsumerGroup) delete(rawMsg, key) case "dataFormat": err = unpopulate(val, "DataFormat", &e.DataFormat) delete(rawMsg, key) case "databaseRouting": err = unpopulate(val, "DatabaseRouting", &e.DatabaseRouting) delete(rawMsg, key) case "eventHubResourceId": err = unpopulate(val, "EventHubResourceID", &e.EventHubResourceID) delete(rawMsg, key) case "eventSystemProperties": err = unpopulate(val, "EventSystemProperties", &e.EventSystemProperties) delete(rawMsg, key) case "managedIdentityObjectId": err = unpopulate(val, "ManagedIdentityObjectID", &e.ManagedIdentityObjectID) delete(rawMsg, key) case "managedIdentityResourceId": err = unpopulate(val, "ManagedIdentityResourceID", &e.ManagedIdentityResourceID) delete(rawMsg, key) case "mappingRuleName": err = unpopulate(val, "MappingRuleName", &e.MappingRuleName) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &e.ProvisioningState) delete(rawMsg, key) case "retrievalStartDate": err = unpopulateDateTimeRFC3339(val, "RetrievalStartDate", &e.RetrievalStartDate) delete(rawMsg, key) case "tableName": err = unpopulate(val, "TableName", &e.TableName) 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 EventHubDataConnection. func (e EventHubDataConnection) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", e.ID) objectMap["kind"] = DataConnectionKindEventHub populate(objectMap, "location", e.Location) populate(objectMap, "name", e.Name) populate(objectMap, "properties", e.Properties) populate(objectMap, "type", e.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type EventHubDataConnection. func (e *EventHubDataConnection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", e, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &e.ID) delete(rawMsg, key) case "kind": err = unpopulate(val, "Kind", &e.Kind) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &e.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &e.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &e.Properties) delete(rawMsg, key) case "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 FollowerDatabaseDefinition. func (f FollowerDatabaseDefinition) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "attachedDatabaseConfigurationName", f.AttachedDatabaseConfigurationName) populate(objectMap, "clusterResourceId", f.ClusterResourceID) populate(objectMap, "databaseName", f.DatabaseName) populate(objectMap, "databaseShareOrigin", f.DatabaseShareOrigin) populate(objectMap, "tableLevelSharingProperties", f.TableLevelSharingProperties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FollowerDatabaseDefinition. func (f *FollowerDatabaseDefinition) UnmarshalJSON(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 "attachedDatabaseConfigurationName": err = unpopulate(val, "AttachedDatabaseConfigurationName", &f.AttachedDatabaseConfigurationName) delete(rawMsg, key) case "clusterResourceId": err = unpopulate(val, "ClusterResourceID", &f.ClusterResourceID) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &f.DatabaseName) delete(rawMsg, key) case "databaseShareOrigin": err = unpopulate(val, "DatabaseShareOrigin", &f.DatabaseShareOrigin) delete(rawMsg, key) case "tableLevelSharingProperties": err = unpopulate(val, "TableLevelSharingProperties", &f.TableLevelSharingProperties) 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 FollowerDatabaseDefinitionGet. func (f FollowerDatabaseDefinitionGet) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "properties", f.Properties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FollowerDatabaseDefinitionGet. func (f *FollowerDatabaseDefinitionGet) UnmarshalJSON(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 "properties": err = unpopulate(val, "Properties", &f.Properties) 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 FollowerDatabaseListResult. func (f FollowerDatabaseListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", f.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FollowerDatabaseListResult. func (f *FollowerDatabaseListResult) UnmarshalJSON(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 "value": err = unpopulate(val, "Value", &f.Value) 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 FollowerDatabaseListResultGet. func (f FollowerDatabaseListResultGet) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "nextLink", f.NextLink) populate(objectMap, "value", f.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FollowerDatabaseListResultGet. func (f *FollowerDatabaseListResultGet) UnmarshalJSON(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 "nextLink": err = unpopulate(val, "NextLink", &f.NextLink) delete(rawMsg, key) case "value": err = unpopulate(val, "Value", &f.Value) 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 FollowerDatabaseProperties. func (f FollowerDatabaseProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "attachedDatabaseConfigurationName", f.AttachedDatabaseConfigurationName) populate(objectMap, "clusterResourceId", f.ClusterResourceID) populate(objectMap, "databaseName", f.DatabaseName) populate(objectMap, "databaseShareOrigin", f.DatabaseShareOrigin) populate(objectMap, "tableLevelSharingProperties", f.TableLevelSharingProperties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type FollowerDatabaseProperties. func (f *FollowerDatabaseProperties) UnmarshalJSON(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 "attachedDatabaseConfigurationName": err = unpopulate(val, "AttachedDatabaseConfigurationName", &f.AttachedDatabaseConfigurationName) delete(rawMsg, key) case "clusterResourceId": err = unpopulate(val, "ClusterResourceID", &f.ClusterResourceID) delete(rawMsg, key) case "databaseName": err = unpopulate(val, "DatabaseName", &f.DatabaseName) delete(rawMsg, key) case "databaseShareOrigin": err = unpopulate(val, "DatabaseShareOrigin", &f.DatabaseShareOrigin) delete(rawMsg, key) case "tableLevelSharingProperties": err = unpopulate(val, "TableLevelSharingProperties", &f.TableLevelSharingProperties) 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 Identity. func (i Identity) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "principalId", i.PrincipalID) populate(objectMap, "tenantId", i.TenantID) populate(objectMap, "type", i.Type) populate(objectMap, "userAssignedIdentities", i.UserAssignedIdentities) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Identity. func (i *Identity) UnmarshalJSON(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 "principalId": err = unpopulate(val, "PrincipalID", &i.PrincipalID) delete(rawMsg, key) case "tenantId": err = unpopulate(val, "TenantID", &i.TenantID) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &i.Type) delete(rawMsg, key) case "userAssignedIdentities": err = unpopulate(val, "UserAssignedIdentities", &i.UserAssignedIdentities) 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 IotHubConnectionProperties. func (i IotHubConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "consumerGroup", i.ConsumerGroup) populate(objectMap, "dataFormat", i.DataFormat) populate(objectMap, "databaseRouting", i.DatabaseRouting) populate(objectMap, "eventSystemProperties", i.EventSystemProperties) populate(objectMap, "iotHubResourceId", i.IotHubResourceID) populate(objectMap, "mappingRuleName", i.MappingRuleName) populate(objectMap, "provisioningState", i.ProvisioningState) populateDateTimeRFC3339(objectMap, "retrievalStartDate", i.RetrievalStartDate) populate(objectMap, "sharedAccessPolicyName", i.SharedAccessPolicyName) populate(objectMap, "tableName", i.TableName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type IotHubConnectionProperties. func (i *IotHubConnectionProperties) UnmarshalJSON(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 "consumerGroup": err = unpopulate(val, "ConsumerGroup", &i.ConsumerGroup) delete(rawMsg, key) case "dataFormat": err = unpopulate(val, "DataFormat", &i.DataFormat) delete(rawMsg, key) case "databaseRouting": err = unpopulate(val, "DatabaseRouting", &i.DatabaseRouting) delete(rawMsg, key) case "eventSystemProperties": err = unpopulate(val, "EventSystemProperties", &i.EventSystemProperties) delete(rawMsg, key) case "iotHubResourceId": err = unpopulate(val, "IotHubResourceID", &i.IotHubResourceID) delete(rawMsg, key) case "mappingRuleName": err = unpopulate(val, "MappingRuleName", &i.MappingRuleName) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &i.ProvisioningState) delete(rawMsg, key) case "retrievalStartDate": err = unpopulateDateTimeRFC3339(val, "RetrievalStartDate", &i.RetrievalStartDate) delete(rawMsg, key) case "sharedAccessPolicyName": err = unpopulate(val, "SharedAccessPolicyName", &i.SharedAccessPolicyName) delete(rawMsg, key) case "tableName": err = unpopulate(val, "TableName", &i.TableName) 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 IotHubDataConnection. func (i IotHubDataConnection) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", i.ID) objectMap["kind"] = DataConnectionKindIotHub populate(objectMap, "location", i.Location) populate(objectMap, "name", i.Name) populate(objectMap, "properties", i.Properties) populate(objectMap, "type", i.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type IotHubDataConnection. func (i *IotHubDataConnection) UnmarshalJSON(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 "id": err = unpopulate(val, "ID", &i.ID) delete(rawMsg, key) case "kind": err = unpopulate(val, "Kind", &i.Kind) delete(rawMsg, key) case "location": err = unpopulate(val, "Location", &i.Location) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &i.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &i.Properties) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &i.Type) 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 KeyVaultProperties. func (k KeyVaultProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "keyName", k.KeyName) populate(objectMap, "keyVaultUri", k.KeyVaultURI) populate(objectMap, "keyVersion", k.KeyVersion) populate(objectMap, "userIdentity", k.UserIdentity) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type KeyVaultProperties. func (k *KeyVaultProperties) UnmarshalJSON(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 "keyName": err = unpopulate(val, "KeyName", &k.KeyName) delete(rawMsg, key) case "keyVaultUri": err = unpopulate(val, "KeyVaultURI", &k.KeyVaultURI) delete(rawMsg, key) case "keyVersion": err = unpopulate(val, "KeyVersion", &k.KeyVersion) delete(rawMsg, key) case "userIdentity": err = unpopulate(val, "UserIdentity", &k.UserIdentity) 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 LanguageExtension. func (l LanguageExtension) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "languageExtensionCustomImageName", l.LanguageExtensionCustomImageName) populate(objectMap, "languageExtensionImageName", l.LanguageExtensionImageName) populate(objectMap, "languageExtensionName", l.LanguageExtensionName) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type LanguageExtension. func (l *LanguageExtension) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } for key, val := range rawMsg { var err error switch key { case "languageExtensionCustomImageName": err = unpopulate(val, "LanguageExtensionCustomImageName", &l.LanguageExtensionCustomImageName) delete(rawMsg, key) case "languageExtensionImageName": err = unpopulate(val, "LanguageExtensionImageName", &l.LanguageExtensionImageName) delete(rawMsg, key) case "languageExtensionName": err = unpopulate(val, "LanguageExtensionName", &l.LanguageExtensionName) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type LanguageExtensionsList. func (l LanguageExtensionsList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type LanguageExtensionsList. func (l *LanguageExtensionsList) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &l.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ListResourceSKUsResult. func (l ListResourceSKUsResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", l.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ListResourceSKUsResult. func (l *ListResourceSKUsResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &l.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", l, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ManagedPrivateEndpoint. func (m ManagedPrivateEndpoint) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", m.ID) populate(objectMap, "name", m.Name) populate(objectMap, "properties", m.Properties) populate(objectMap, "systemData", m.SystemData) populate(objectMap, "type", m.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedPrivateEndpoint. func (m *ManagedPrivateEndpoint) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", m, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &m.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &m.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &m.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &m.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &m.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", m, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ManagedPrivateEndpointListResult. func (m ManagedPrivateEndpointListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", m.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedPrivateEndpointListResult. func (m *ManagedPrivateEndpointListResult) UnmarshalJSON(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 "value": err = unpopulate(val, "Value", &m.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", m, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ManagedPrivateEndpointProperties. func (m ManagedPrivateEndpointProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "groupId", m.GroupID) populate(objectMap, "privateLinkResourceId", m.PrivateLinkResourceID) populate(objectMap, "privateLinkResourceRegion", m.PrivateLinkResourceRegion) populate(objectMap, "provisioningState", m.ProvisioningState) populate(objectMap, "requestMessage", m.RequestMessage) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedPrivateEndpointProperties. func (m *ManagedPrivateEndpointProperties) UnmarshalJSON(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 "groupId": err = unpopulate(val, "GroupID", &m.GroupID) delete(rawMsg, key) case "privateLinkResourceId": err = unpopulate(val, "PrivateLinkResourceID", &m.PrivateLinkResourceID) delete(rawMsg, key) case "privateLinkResourceRegion": err = unpopulate(val, "PrivateLinkResourceRegion", &m.PrivateLinkResourceRegion) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &m.ProvisioningState) delete(rawMsg, key) case "requestMessage": err = unpopulate(val, "RequestMessage", &m.RequestMessage) 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 ManagedPrivateEndpointsCheckNameRequest. func (m ManagedPrivateEndpointsCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", m.Name) objectMap["type"] = "Microsoft.Kusto/clusters/managedPrivateEndpoints" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ManagedPrivateEndpointsCheckNameRequest. func (m *ManagedPrivateEndpointsCheckNameRequest) UnmarshalJSON(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 "name": err = unpopulate(val, "Name", &m.Name) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &m.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", m, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type MigrationClusterProperties. func (m MigrationClusterProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "dataIngestionUri", m.DataIngestionURI) populate(objectMap, "id", m.ID) populate(objectMap, "role", m.Role) populate(objectMap, "uri", m.URI) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type MigrationClusterProperties. func (m *MigrationClusterProperties) UnmarshalJSON(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 "dataIngestionUri": err = unpopulate(val, "DataIngestionURI", &m.DataIngestionURI) delete(rawMsg, key) case "id": err = unpopulate(val, "ID", &m.ID) delete(rawMsg, key) case "role": err = unpopulate(val, "Role", &m.Role) delete(rawMsg, key) case "uri": err = unpopulate(val, "URI", &m.URI) 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 Operation. func (o Operation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "display", o.Display) populate(objectMap, "name", o.Name) populate(objectMap, "origin", o.Origin) populateAny(objectMap, "properties", o.Properties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Operation. func (o *Operation) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "display": err = unpopulate(val, "Display", &o.Display) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &o.Name) delete(rawMsg, key) case "origin": err = unpopulate(val, "Origin", &o.Origin) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &o.Properties) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type OperationDisplay. func (o OperationDisplay) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "description", o.Description) populate(objectMap, "operation", o.Operation) populate(objectMap, "provider", o.Provider) populate(objectMap, "resource", o.Resource) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay. func (o *OperationDisplay) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "description": err = unpopulate(val, "Description", &o.Description) delete(rawMsg, key) case "operation": err = unpopulate(val, "Operation", &o.Operation) delete(rawMsg, key) case "provider": err = unpopulate(val, "Provider", &o.Provider) delete(rawMsg, key) case "resource": err = unpopulate(val, "Resource", &o.Resource) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type OperationListResult. func (o OperationListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "nextLink", o.NextLink) populate(objectMap, "value", o.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult. func (o *OperationListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "nextLink": err = unpopulate(val, "NextLink", &o.NextLink) delete(rawMsg, key) case "value": err = unpopulate(val, "Value", &o.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type OperationResult. func (o OperationResult) 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, "percentComplete", o.PercentComplete) 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 OperationResult. func (o *OperationResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "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 "percentComplete": err = unpopulate(val, "PercentComplete", &o.PercentComplete) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &o.Properties) 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 OperationResultErrorProperties. func (o OperationResultErrorProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "code", o.Code) populate(objectMap, "message", o.Message) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultErrorProperties. func (o *OperationResultErrorProperties) UnmarshalJSON(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 "code": err = unpopulate(val, "Code", &o.Code) delete(rawMsg, key) case "message": err = unpopulate(val, "Message", &o.Message) 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 OperationResultProperties. func (o OperationResultProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "operationKind", o.OperationKind) populate(objectMap, "operationState", o.OperationState) populate(objectMap, "provisioningState", o.ProvisioningState) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OperationResultProperties. func (o *OperationResultProperties) UnmarshalJSON(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 "operationKind": err = unpopulate(val, "OperationKind", &o.OperationKind) delete(rawMsg, key) case "operationState": err = unpopulate(val, "OperationState", &o.OperationState) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &o.ProvisioningState) 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 OptimizedAutoscale. func (o OptimizedAutoscale) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "isEnabled", o.IsEnabled) populate(objectMap, "maximum", o.Maximum) populate(objectMap, "minimum", o.Minimum) populate(objectMap, "version", o.Version) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OptimizedAutoscale. func (o *OptimizedAutoscale) UnmarshalJSON(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 "isEnabled": err = unpopulate(val, "IsEnabled", &o.IsEnabled) delete(rawMsg, key) case "maximum": err = unpopulate(val, "Maximum", &o.Maximum) delete(rawMsg, key) case "minimum": err = unpopulate(val, "Minimum", &o.Minimum) delete(rawMsg, key) case "version": err = unpopulate(val, "Version", &o.Version) 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 OutboundNetworkDependenciesEndpoint. func (o OutboundNetworkDependenciesEndpoint) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "etag", o.Etag) populate(objectMap, "id", o.ID) populate(objectMap, "name", o.Name) populate(objectMap, "properties", o.Properties) populate(objectMap, "type", o.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OutboundNetworkDependenciesEndpoint. func (o *OutboundNetworkDependenciesEndpoint) UnmarshalJSON(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 "etag": err = unpopulate(val, "Etag", &o.Etag) 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": err = unpopulate(val, "Properties", &o.Properties) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &o.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type OutboundNetworkDependenciesEndpointListResult. func (o OutboundNetworkDependenciesEndpointListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "nextLink", o.NextLink) populate(objectMap, "value", o.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OutboundNetworkDependenciesEndpointListResult. func (o *OutboundNetworkDependenciesEndpointListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } for key, val := range rawMsg { var err error switch key { case "nextLink": err = unpopulate(val, "NextLink", &o.NextLink) delete(rawMsg, key) case "value": err = unpopulate(val, "Value", &o.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", o, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type OutboundNetworkDependenciesEndpointProperties. func (o OutboundNetworkDependenciesEndpointProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "category", o.Category) populate(objectMap, "endpoints", o.Endpoints) populate(objectMap, "provisioningState", o.ProvisioningState) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type OutboundNetworkDependenciesEndpointProperties. func (o *OutboundNetworkDependenciesEndpointProperties) UnmarshalJSON(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 "category": err = unpopulate(val, "Category", &o.Category) delete(rawMsg, key) case "endpoints": err = unpopulate(val, "Endpoints", &o.Endpoints) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &o.ProvisioningState) 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 PrivateEndpointConnection. func (p PrivateEndpointConnection) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", p.ID) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "systemData", p.SystemData) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnection. func (p *PrivateEndpointConnection) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &p.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &p.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &p.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &p.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &p.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionListResult. func (p PrivateEndpointConnectionListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionListResult. func (p *PrivateEndpointConnectionListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &p.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointConnectionProperties. func (p PrivateEndpointConnectionProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "groupId", p.GroupID) populate(objectMap, "privateEndpoint", p.PrivateEndpoint) populate(objectMap, "privateLinkServiceConnectionState", p.PrivateLinkServiceConnectionState) populate(objectMap, "provisioningState", p.ProvisioningState) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointConnectionProperties. func (p *PrivateEndpointConnectionProperties) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "groupId": err = unpopulate(val, "GroupID", &p.GroupID) delete(rawMsg, key) case "privateEndpoint": err = unpopulate(val, "PrivateEndpoint", &p.PrivateEndpoint) delete(rawMsg, key) case "privateLinkServiceConnectionState": err = unpopulate(val, "PrivateLinkServiceConnectionState", &p.PrivateLinkServiceConnectionState) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &p.ProvisioningState) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateEndpointProperty. func (p PrivateEndpointProperty) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", p.ID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateEndpointProperty. func (p *PrivateEndpointProperty) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &p.ID) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkResource. func (p PrivateLinkResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", p.ID) populate(objectMap, "name", p.Name) populate(objectMap, "properties", p.Properties) populate(objectMap, "systemData", p.SystemData) populate(objectMap, "type", p.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkResource. func (p *PrivateLinkResource) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &p.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &p.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &p.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &p.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &p.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkResourceListResult. func (p PrivateLinkResourceListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", p.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkResourceListResult. func (p *PrivateLinkResourceListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &p.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkResourceProperties. func (p PrivateLinkResourceProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "groupId", p.GroupID) populate(objectMap, "requiredMembers", p.RequiredMembers) populate(objectMap, "requiredZoneNames", p.RequiredZoneNames) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkResourceProperties. func (p *PrivateLinkResourceProperties) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "groupId": err = unpopulate(val, "GroupID", &p.GroupID) delete(rawMsg, key) case "requiredMembers": err = unpopulate(val, "RequiredMembers", &p.RequiredMembers) delete(rawMsg, key) case "requiredZoneNames": err = unpopulate(val, "RequiredZoneNames", &p.RequiredZoneNames) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type PrivateLinkServiceConnectionStateProperty. func (p PrivateLinkServiceConnectionStateProperty) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "actionsRequired", p.ActionsRequired) populate(objectMap, "description", p.Description) populate(objectMap, "status", p.Status) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type PrivateLinkServiceConnectionStateProperty. func (p *PrivateLinkServiceConnectionStateProperty) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } for key, val := range rawMsg { var err error switch key { case "actionsRequired": err = unpopulate(val, "ActionsRequired", &p.ActionsRequired) delete(rawMsg, key) case "description": err = unpopulate(val, "Description", &p.Description) delete(rawMsg, key) case "status": err = unpopulate(val, "Status", &p.Status) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", p, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ReadOnlyFollowingDatabase. func (r ReadOnlyFollowingDatabase) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", r.ID) objectMap["kind"] = KindReadOnlyFollowing populate(objectMap, "location", r.Location) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ReadOnlyFollowingDatabase. func (r *ReadOnlyFollowingDatabase) UnmarshalJSON(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 "kind": err = unpopulate(val, "Kind", &r.Kind) 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 "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 ReadOnlyFollowingDatabaseProperties. func (r ReadOnlyFollowingDatabaseProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "attachedDatabaseConfigurationName", r.AttachedDatabaseConfigurationName) populate(objectMap, "databaseShareOrigin", r.DatabaseShareOrigin) populate(objectMap, "hotCachePeriod", r.HotCachePeriod) populate(objectMap, "leaderClusterResourceId", r.LeaderClusterResourceID) populate(objectMap, "originalDatabaseName", r.OriginalDatabaseName) populate(objectMap, "principalsModificationKind", r.PrincipalsModificationKind) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "softDeletePeriod", r.SoftDeletePeriod) populate(objectMap, "statistics", r.Statistics) populate(objectMap, "suspensionDetails", r.SuspensionDetails) populate(objectMap, "tableLevelSharingProperties", r.TableLevelSharingProperties) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ReadOnlyFollowingDatabaseProperties. func (r *ReadOnlyFollowingDatabaseProperties) UnmarshalJSON(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 "attachedDatabaseConfigurationName": err = unpopulate(val, "AttachedDatabaseConfigurationName", &r.AttachedDatabaseConfigurationName) delete(rawMsg, key) case "databaseShareOrigin": err = unpopulate(val, "DatabaseShareOrigin", &r.DatabaseShareOrigin) delete(rawMsg, key) case "hotCachePeriod": err = unpopulate(val, "HotCachePeriod", &r.HotCachePeriod) delete(rawMsg, key) case "leaderClusterResourceId": err = unpopulate(val, "LeaderClusterResourceID", &r.LeaderClusterResourceID) delete(rawMsg, key) case "originalDatabaseName": err = unpopulate(val, "OriginalDatabaseName", &r.OriginalDatabaseName) delete(rawMsg, key) case "principalsModificationKind": err = unpopulate(val, "PrincipalsModificationKind", &r.PrincipalsModificationKind) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) delete(rawMsg, key) case "softDeletePeriod": err = unpopulate(val, "SoftDeletePeriod", &r.SoftDeletePeriod) delete(rawMsg, key) case "statistics": err = unpopulate(val, "Statistics", &r.Statistics) delete(rawMsg, key) case "suspensionDetails": err = unpopulate(val, "SuspensionDetails", &r.SuspensionDetails) delete(rawMsg, key) case "tableLevelSharingProperties": err = unpopulate(val, "TableLevelSharingProperties", &r.TableLevelSharingProperties) 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 ReadWriteDatabase. func (r ReadWriteDatabase) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", r.ID) objectMap["kind"] = KindReadWrite populate(objectMap, "location", r.Location) populate(objectMap, "name", r.Name) populate(objectMap, "properties", r.Properties) populate(objectMap, "type", r.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ReadWriteDatabase. func (r *ReadWriteDatabase) UnmarshalJSON(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 "kind": err = unpopulate(val, "Kind", &r.Kind) 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 "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 ReadWriteDatabaseProperties. func (r ReadWriteDatabaseProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "hotCachePeriod", r.HotCachePeriod) populate(objectMap, "isFollowed", r.IsFollowed) populate(objectMap, "keyVaultProperties", r.KeyVaultProperties) populate(objectMap, "provisioningState", r.ProvisioningState) populate(objectMap, "softDeletePeriod", r.SoftDeletePeriod) populate(objectMap, "statistics", r.Statistics) populate(objectMap, "suspensionDetails", r.SuspensionDetails) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ReadWriteDatabaseProperties. func (r *ReadWriteDatabaseProperties) UnmarshalJSON(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 "hotCachePeriod": err = unpopulate(val, "HotCachePeriod", &r.HotCachePeriod) delete(rawMsg, key) case "isFollowed": err = unpopulate(val, "IsFollowed", &r.IsFollowed) delete(rawMsg, key) case "keyVaultProperties": err = unpopulate(val, "KeyVaultProperties", &r.KeyVaultProperties) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &r.ProvisioningState) delete(rawMsg, key) case "softDeletePeriod": err = unpopulate(val, "SoftDeletePeriod", &r.SoftDeletePeriod) delete(rawMsg, key) case "statistics": err = unpopulate(val, "Statistics", &r.Statistics) delete(rawMsg, key) case "suspensionDetails": err = unpopulate(val, "SuspensionDetails", &r.SuspensionDetails) 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 ResourceSKUCapabilities. func (r ResourceSKUCapabilities) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", r.Name) populate(objectMap, "value", r.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceSKUCapabilities. func (r *ResourceSKUCapabilities) UnmarshalJSON(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 "name": err = unpopulate(val, "Name", &r.Name) 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 ResourceSKUZoneDetails. func (r ResourceSKUZoneDetails) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "capabilities", r.Capabilities) populate(objectMap, "name", r.Name) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ResourceSKUZoneDetails. func (r *ResourceSKUZoneDetails) UnmarshalJSON(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 "capabilities": err = unpopulate(val, "Capabilities", &r.Capabilities) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &r.Name) 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 SKUDescription. func (s SKUDescription) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "locationInfo", s.LocationInfo) populate(objectMap, "locations", s.Locations) populate(objectMap, "name", s.Name) populate(objectMap, "resourceType", s.ResourceType) populate(objectMap, "restrictions", s.Restrictions) populate(objectMap, "tier", s.Tier) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SKUDescription. func (s *SKUDescription) UnmarshalJSON(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 "locationInfo": err = unpopulate(val, "LocationInfo", &s.LocationInfo) delete(rawMsg, key) case "locations": err = unpopulate(val, "Locations", &s.Locations) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "resourceType": err = unpopulate(val, "ResourceType", &s.ResourceType) delete(rawMsg, key) case "restrictions": err = unpopulate(val, "Restrictions", &s.Restrictions) delete(rawMsg, key) case "tier": err = unpopulate(val, "Tier", &s.Tier) 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 SKUDescriptionList. func (s SKUDescriptionList) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SKUDescriptionList. func (s *SKUDescriptionList) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &s.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type SKULocationInfoItem. func (s SKULocationInfoItem) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "location", s.Location) populate(objectMap, "zoneDetails", s.ZoneDetails) populate(objectMap, "zones", s.Zones) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SKULocationInfoItem. func (s *SKULocationInfoItem) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "location": err = unpopulate(val, "Location", &s.Location) delete(rawMsg, key) case "zoneDetails": err = unpopulate(val, "ZoneDetails", &s.ZoneDetails) delete(rawMsg, key) case "zones": err = unpopulate(val, "Zones", &s.Zones) 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 SandboxCustomImage. func (s SandboxCustomImage) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", s.ID) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SandboxCustomImage. func (s *SandboxCustomImage) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &s.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &s.Properties) delete(rawMsg, key) case "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 SandboxCustomImageProperties. func (s SandboxCustomImageProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "baseImageName", s.BaseImageName) populate(objectMap, "language", s.Language) populate(objectMap, "languageVersion", s.LanguageVersion) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "requirementsFileContent", s.RequirementsFileContent) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SandboxCustomImageProperties. func (s *SandboxCustomImageProperties) UnmarshalJSON(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 "baseImageName": err = unpopulate(val, "BaseImageName", &s.BaseImageName) delete(rawMsg, key) case "language": err = unpopulate(val, "Language", &s.Language) delete(rawMsg, key) case "languageVersion": err = unpopulate(val, "LanguageVersion", &s.LanguageVersion) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) delete(rawMsg, key) case "requirementsFileContent": err = unpopulate(val, "RequirementsFileContent", &s.RequirementsFileContent) 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 SandboxCustomImagesCheckNameRequest. func (s SandboxCustomImagesCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", s.Name) objectMap["type"] = "Microsoft.Kusto/clusters/sandboxCustomImages" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SandboxCustomImagesCheckNameRequest. func (s *SandboxCustomImagesCheckNameRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "name": err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "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 SandboxCustomImagesListResult. func (s SandboxCustomImagesListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "nextLink", s.NextLink) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SandboxCustomImagesListResult. func (s *SandboxCustomImagesListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "nextLink": err = unpopulate(val, "NextLink", &s.NextLink) delete(rawMsg, key) case "value": err = unpopulate(val, "Value", &s.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type Script. func (s Script) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "id", s.ID) populate(objectMap, "name", s.Name) populate(objectMap, "properties", s.Properties) populate(objectMap, "systemData", s.SystemData) populate(objectMap, "type", s.Type) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type Script. func (s *Script) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "id": err = unpopulate(val, "ID", &s.ID) delete(rawMsg, key) case "name": err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "properties": err = unpopulate(val, "Properties", &s.Properties) delete(rawMsg, key) case "systemData": err = unpopulate(val, "SystemData", &s.SystemData) delete(rawMsg, key) case "type": err = unpopulate(val, "Type", &s.Type) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ScriptCheckNameRequest. func (s ScriptCheckNameRequest) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "name", s.Name) objectMap["type"] = "Microsoft.Kusto/clusters/databases/scripts" return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ScriptCheckNameRequest. func (s *ScriptCheckNameRequest) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "name": err = unpopulate(val, "Name", &s.Name) delete(rawMsg, key) case "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 ScriptListResult. func (s ScriptListResult) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", s.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ScriptListResult. func (s *ScriptListResult) UnmarshalJSON(data []byte) error { var rawMsg map[string]json.RawMessage if err := json.Unmarshal(data, &rawMsg); err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } for key, val := range rawMsg { var err error switch key { case "value": err = unpopulate(val, "Value", &s.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", s, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type ScriptProperties. func (s ScriptProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "continueOnErrors", s.ContinueOnErrors) populate(objectMap, "forceUpdateTag", s.ForceUpdateTag) populate(objectMap, "principalPermissionsAction", s.PrincipalPermissionsAction) populate(objectMap, "provisioningState", s.ProvisioningState) populate(objectMap, "scriptContent", s.ScriptContent) populate(objectMap, "scriptLevel", s.ScriptLevel) populate(objectMap, "scriptUrl", s.ScriptURL) populate(objectMap, "scriptUrlSasToken", s.ScriptURLSasToken) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type ScriptProperties. func (s *ScriptProperties) UnmarshalJSON(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 "continueOnErrors": err = unpopulate(val, "ContinueOnErrors", &s.ContinueOnErrors) delete(rawMsg, key) case "forceUpdateTag": err = unpopulate(val, "ForceUpdateTag", &s.ForceUpdateTag) delete(rawMsg, key) case "principalPermissionsAction": err = unpopulate(val, "PrincipalPermissionsAction", &s.PrincipalPermissionsAction) delete(rawMsg, key) case "provisioningState": err = unpopulate(val, "ProvisioningState", &s.ProvisioningState) delete(rawMsg, key) case "scriptContent": err = unpopulate(val, "ScriptContent", &s.ScriptContent) delete(rawMsg, key) case "scriptLevel": err = unpopulate(val, "ScriptLevel", &s.ScriptLevel) delete(rawMsg, key) case "scriptUrl": err = unpopulate(val, "ScriptURL", &s.ScriptURL) delete(rawMsg, key) case "scriptUrlSasToken": err = unpopulate(val, "ScriptURLSasToken", &s.ScriptURLSasToken) 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 SuspensionDetails. func (s SuspensionDetails) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populateDateTimeRFC3339(objectMap, "suspensionStartDate", s.SuspensionStartDate) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type SuspensionDetails. func (s *SuspensionDetails) UnmarshalJSON(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 "suspensionStartDate": err = unpopulateDateTimeRFC3339(val, "SuspensionStartDate", &s.SuspensionStartDate) 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 TableLevelSharingProperties. func (t TableLevelSharingProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "externalTablesToExclude", t.ExternalTablesToExclude) populate(objectMap, "externalTablesToInclude", t.ExternalTablesToInclude) populate(objectMap, "functionsToExclude", t.FunctionsToExclude) populate(objectMap, "functionsToInclude", t.FunctionsToInclude) populate(objectMap, "materializedViewsToExclude", t.MaterializedViewsToExclude) populate(objectMap, "materializedViewsToInclude", t.MaterializedViewsToInclude) populate(objectMap, "tablesToExclude", t.TablesToExclude) populate(objectMap, "tablesToInclude", t.TablesToInclude) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type TableLevelSharingProperties. func (t *TableLevelSharingProperties) UnmarshalJSON(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 "externalTablesToExclude": err = unpopulate(val, "ExternalTablesToExclude", &t.ExternalTablesToExclude) delete(rawMsg, key) case "externalTablesToInclude": err = unpopulate(val, "ExternalTablesToInclude", &t.ExternalTablesToInclude) delete(rawMsg, key) case "functionsToExclude": err = unpopulate(val, "FunctionsToExclude", &t.FunctionsToExclude) delete(rawMsg, key) case "functionsToInclude": err = unpopulate(val, "FunctionsToInclude", &t.FunctionsToInclude) delete(rawMsg, key) case "materializedViewsToExclude": err = unpopulate(val, "MaterializedViewsToExclude", &t.MaterializedViewsToExclude) delete(rawMsg, key) case "materializedViewsToInclude": err = unpopulate(val, "MaterializedViewsToInclude", &t.MaterializedViewsToInclude) delete(rawMsg, key) case "tablesToExclude": err = unpopulate(val, "TablesToExclude", &t.TablesToExclude) delete(rawMsg, key) case "tablesToInclude": err = unpopulate(val, "TablesToInclude", &t.TablesToInclude) 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 TrustedExternalTenant. func (t TrustedExternalTenant) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "value", t.Value) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type TrustedExternalTenant. func (t *TrustedExternalTenant) UnmarshalJSON(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 "value": err = unpopulate(val, "Value", &t.Value) delete(rawMsg, key) } if err != nil { return fmt.Errorf("unmarshalling type %T: %v", t, err) } } return nil } // MarshalJSON implements the json.Marshaller interface for type VirtualNetworkConfiguration. func (v VirtualNetworkConfiguration) MarshalJSON() ([]byte, error) { objectMap := make(map[string]any) populate(objectMap, "dataManagementPublicIpId", v.DataManagementPublicIPID) populate(objectMap, "enginePublicIpId", v.EnginePublicIPID) populate(objectMap, "state", v.State) populate(objectMap, "subnetId", v.SubnetID) return json.Marshal(objectMap) } // UnmarshalJSON implements the json.Unmarshaller interface for type VirtualNetworkConfiguration. func (v *VirtualNetworkConfiguration) UnmarshalJSON(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 "dataManagementPublicIpId": err = unpopulate(val, "DataManagementPublicIPID", &v.DataManagementPublicIPID) delete(rawMsg, key) case "enginePublicIpId": err = unpopulate(val, "EnginePublicIPID", &v.EnginePublicIPID) delete(rawMsg, key) case "state": err = unpopulate(val, "State", &v.State) delete(rawMsg, key) case "subnetId": err = unpopulate(val, "SubnetID", &v.SubnetID) 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 }