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
}