profile/p20200901/resourcemanager/iothub/armiothub/models_serde.go (2,225 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.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// DO NOT EDIT.
package armiothub
import (
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
)
// MarshalJSON implements the json.Marshaller interface for type Capacity.
func (c Capacity) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "default", c.Default)
populate(objectMap, "maximum", c.Maximum)
populate(objectMap, "minimum", c.Minimum)
populate(objectMap, "scaleType", c.ScaleType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Capacity.
func (c *Capacity) UnmarshalJSON(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 "default":
err = unpopulate(val, "Default", &c.Default)
delete(rawMsg, key)
case "maximum":
err = unpopulate(val, "Maximum", &c.Maximum)
delete(rawMsg, key)
case "minimum":
err = unpopulate(val, "Minimum", &c.Minimum)
delete(rawMsg, key)
case "scaleType":
err = unpopulate(val, "ScaleType", &c.ScaleType)
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 CertificateBodyDescription.
func (c CertificateBodyDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "certificate", c.Certificate)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CertificateBodyDescription.
func (c *CertificateBodyDescription) UnmarshalJSON(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 "certificate":
err = unpopulate(val, "Certificate", &c.Certificate)
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 CertificateDescription.
func (c CertificateDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "etag", c.Etag)
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 CertificateDescription.
func (c *CertificateDescription) UnmarshalJSON(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 "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 CertificateListDescription.
func (c CertificateListDescription) 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 CertificateListDescription.
func (c *CertificateListDescription) UnmarshalJSON(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 CertificateProperties.
func (c CertificateProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "certificate", c.Certificate)
populateTimeRFC1123(objectMap, "created", c.Created)
populateTimeRFC1123(objectMap, "expiry", c.Expiry)
populate(objectMap, "isVerified", c.IsVerified)
populate(objectMap, "subject", c.Subject)
populate(objectMap, "thumbprint", c.Thumbprint)
populateTimeRFC1123(objectMap, "updated", c.Updated)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CertificateProperties.
func (c *CertificateProperties) UnmarshalJSON(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 "certificate":
err = unpopulate(val, "Certificate", &c.Certificate)
delete(rawMsg, key)
case "created":
err = unpopulateTimeRFC1123(val, "Created", &c.Created)
delete(rawMsg, key)
case "expiry":
err = unpopulateTimeRFC1123(val, "Expiry", &c.Expiry)
delete(rawMsg, key)
case "isVerified":
err = unpopulate(val, "IsVerified", &c.IsVerified)
delete(rawMsg, key)
case "subject":
err = unpopulate(val, "Subject", &c.Subject)
delete(rawMsg, key)
case "thumbprint":
err = unpopulate(val, "Thumbprint", &c.Thumbprint)
delete(rawMsg, key)
case "updated":
err = unpopulateTimeRFC1123(val, "Updated", &c.Updated)
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 CertificatePropertiesWithNonce.
func (c CertificatePropertiesWithNonce) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "certificate", c.Certificate)
populateTimeRFC1123(objectMap, "created", c.Created)
populateTimeRFC1123(objectMap, "expiry", c.Expiry)
populate(objectMap, "isVerified", c.IsVerified)
populate(objectMap, "subject", c.Subject)
populate(objectMap, "thumbprint", c.Thumbprint)
populateTimeRFC1123(objectMap, "updated", c.Updated)
populate(objectMap, "verificationCode", c.VerificationCode)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CertificatePropertiesWithNonce.
func (c *CertificatePropertiesWithNonce) UnmarshalJSON(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 "certificate":
err = unpopulate(val, "Certificate", &c.Certificate)
delete(rawMsg, key)
case "created":
err = unpopulateTimeRFC1123(val, "Created", &c.Created)
delete(rawMsg, key)
case "expiry":
err = unpopulateTimeRFC1123(val, "Expiry", &c.Expiry)
delete(rawMsg, key)
case "isVerified":
err = unpopulate(val, "IsVerified", &c.IsVerified)
delete(rawMsg, key)
case "subject":
err = unpopulate(val, "Subject", &c.Subject)
delete(rawMsg, key)
case "thumbprint":
err = unpopulate(val, "Thumbprint", &c.Thumbprint)
delete(rawMsg, key)
case "updated":
err = unpopulateTimeRFC1123(val, "Updated", &c.Updated)
delete(rawMsg, key)
case "verificationCode":
err = unpopulate(val, "VerificationCode", &c.VerificationCode)
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 CertificateVerificationDescription.
func (c CertificateVerificationDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "certificate", c.Certificate)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CertificateVerificationDescription.
func (c *CertificateVerificationDescription) UnmarshalJSON(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 "certificate":
err = unpopulate(val, "Certificate", &c.Certificate)
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 CertificateWithNonceDescription.
func (c CertificateWithNonceDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "etag", c.Etag)
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 CertificateWithNonceDescription.
func (c *CertificateWithNonceDescription) UnmarshalJSON(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 "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 CloudToDeviceProperties.
func (c CloudToDeviceProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "defaultTtlAsIso8601", c.DefaultTTLAsIso8601)
populate(objectMap, "feedback", c.Feedback)
populate(objectMap, "maxDeliveryCount", c.MaxDeliveryCount)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CloudToDeviceProperties.
func (c *CloudToDeviceProperties) UnmarshalJSON(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 "defaultTtlAsIso8601":
err = unpopulate(val, "DefaultTTLAsIso8601", &c.DefaultTTLAsIso8601)
delete(rawMsg, key)
case "feedback":
err = unpopulate(val, "Feedback", &c.Feedback)
delete(rawMsg, key)
case "maxDeliveryCount":
err = unpopulate(val, "MaxDeliveryCount", &c.MaxDeliveryCount)
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 Description.
func (d Description) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "etag", d.Etag)
populate(objectMap, "id", d.ID)
populate(objectMap, "location", d.Location)
populate(objectMap, "name", d.Name)
populate(objectMap, "properties", d.Properties)
populate(objectMap, "sku", d.SKU)
populate(objectMap, "tags", d.Tags)
populate(objectMap, "type", d.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Description.
func (d *Description) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "etag":
err = unpopulate(val, "Etag", &d.Etag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &d.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &d.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &d.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &d.Properties)
delete(rawMsg, key)
case "sku":
err = unpopulate(val, "SKU", &d.SKU)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &d.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &d.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type DescriptionListResult.
func (d DescriptionListResult) 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 DescriptionListResult.
func (d *DescriptionListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &d.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &d.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", d, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type EndpointHealthData.
func (e EndpointHealthData) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endpointId", e.EndpointID)
populate(objectMap, "healthStatus", e.HealthStatus)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EndpointHealthData.
func (e *EndpointHealthData) UnmarshalJSON(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 "endpointId":
err = unpopulate(val, "EndpointID", &e.EndpointID)
delete(rawMsg, key)
case "healthStatus":
err = unpopulate(val, "HealthStatus", &e.HealthStatus)
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 EndpointHealthDataListResult.
func (e EndpointHealthDataListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", e.NextLink)
populate(objectMap, "value", e.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EndpointHealthDataListResult.
func (e *EndpointHealthDataListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &e.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &e.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type EnrichmentProperties.
func (e EnrichmentProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endpointNames", e.EndpointNames)
populate(objectMap, "key", e.Key)
populate(objectMap, "value", e.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EnrichmentProperties.
func (e *EnrichmentProperties) UnmarshalJSON(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 "endpointNames":
err = unpopulate(val, "EndpointNames", &e.EndpointNames)
delete(rawMsg, key)
case "key":
err = unpopulate(val, "Key", &e.Key)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &e.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ErrorDetails.
func (e ErrorDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "code", e.Code)
populate(objectMap, "details", e.Details)
populate(objectMap, "httpStatusCode", e.HTTPStatusCode)
populate(objectMap, "message", e.Message)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetails.
func (e *ErrorDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "code":
err = unpopulate(val, "Code", &e.Code)
delete(rawMsg, key)
case "details":
err = unpopulate(val, "Details", &e.Details)
delete(rawMsg, key)
case "httpStatusCode":
err = unpopulate(val, "HTTPStatusCode", &e.HTTPStatusCode)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &e.Message)
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 EventHubConsumerGroupInfo.
func (e EventHubConsumerGroupInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "etag", e.Etag)
populate(objectMap, "id", e.ID)
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 EventHubConsumerGroupInfo.
func (e *EventHubConsumerGroupInfo) UnmarshalJSON(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 "etag":
err = unpopulate(val, "Etag", &e.Etag)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &e.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &e.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &e.Properties)
delete(rawMsg, key)
case "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 EventHubConsumerGroupsListResult.
func (e EventHubConsumerGroupsListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", e.NextLink)
populate(objectMap, "value", e.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EventHubConsumerGroupsListResult.
func (e *EventHubConsumerGroupsListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &e.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &e.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type EventHubProperties.
func (e EventHubProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endpoint", e.Endpoint)
populate(objectMap, "partitionCount", e.PartitionCount)
populate(objectMap, "partitionIds", e.PartitionIDs)
populate(objectMap, "path", e.Path)
populate(objectMap, "retentionTimeInDays", e.RetentionTimeInDays)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type EventHubProperties.
func (e *EventHubProperties) UnmarshalJSON(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 "endpoint":
err = unpopulate(val, "Endpoint", &e.Endpoint)
delete(rawMsg, key)
case "partitionCount":
err = unpopulate(val, "PartitionCount", &e.PartitionCount)
delete(rawMsg, key)
case "partitionIds":
err = unpopulate(val, "PartitionIDs", &e.PartitionIDs)
delete(rawMsg, key)
case "path":
err = unpopulate(val, "Path", &e.Path)
delete(rawMsg, key)
case "retentionTimeInDays":
err = unpopulate(val, "RetentionTimeInDays", &e.RetentionTimeInDays)
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 ExportDevicesRequest.
func (e ExportDevicesRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "excludeKeys", e.ExcludeKeys)
populate(objectMap, "exportBlobContainerUri", e.ExportBlobContainerURI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ExportDevicesRequest.
func (e *ExportDevicesRequest) UnmarshalJSON(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 "excludeKeys":
err = unpopulate(val, "ExcludeKeys", &e.ExcludeKeys)
delete(rawMsg, key)
case "exportBlobContainerUri":
err = unpopulate(val, "ExportBlobContainerURI", &e.ExportBlobContainerURI)
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 FailoverInput.
func (f FailoverInput) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "failoverRegion", f.FailoverRegion)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FailoverInput.
func (f *FailoverInput) UnmarshalJSON(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 "failoverRegion":
err = unpopulate(val, "FailoverRegion", &f.FailoverRegion)
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 FallbackRouteProperties.
func (f FallbackRouteProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "condition", f.Condition)
populate(objectMap, "endpointNames", f.EndpointNames)
populate(objectMap, "isEnabled", f.IsEnabled)
populate(objectMap, "name", f.Name)
populate(objectMap, "source", f.Source)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FallbackRouteProperties.
func (f *FallbackRouteProperties) UnmarshalJSON(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 "condition":
err = unpopulate(val, "Condition", &f.Condition)
delete(rawMsg, key)
case "endpointNames":
err = unpopulate(val, "EndpointNames", &f.EndpointNames)
delete(rawMsg, key)
case "isEnabled":
err = unpopulate(val, "IsEnabled", &f.IsEnabled)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &f.Name)
delete(rawMsg, key)
case "source":
err = unpopulate(val, "Source", &f.Source)
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 FeedbackProperties.
func (f FeedbackProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "lockDurationAsIso8601", f.LockDurationAsIso8601)
populate(objectMap, "maxDeliveryCount", f.MaxDeliveryCount)
populate(objectMap, "ttlAsIso8601", f.TTLAsIso8601)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FeedbackProperties.
func (f *FeedbackProperties) UnmarshalJSON(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 "lockDurationAsIso8601":
err = unpopulate(val, "LockDurationAsIso8601", &f.LockDurationAsIso8601)
delete(rawMsg, key)
case "maxDeliveryCount":
err = unpopulate(val, "MaxDeliveryCount", &f.MaxDeliveryCount)
delete(rawMsg, key)
case "ttlAsIso8601":
err = unpopulate(val, "TTLAsIso8601", &f.TTLAsIso8601)
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 IPFilterRule.
func (i IPFilterRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "action", i.Action)
populate(objectMap, "filterName", i.FilterName)
populate(objectMap, "ipMask", i.IPMask)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type IPFilterRule.
func (i *IPFilterRule) UnmarshalJSON(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 "action":
err = unpopulate(val, "Action", &i.Action)
delete(rawMsg, key)
case "filterName":
err = unpopulate(val, "FilterName", &i.FilterName)
delete(rawMsg, key)
case "ipMask":
err = unpopulate(val, "IPMask", &i.IPMask)
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 ImportDevicesRequest.
func (i ImportDevicesRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "inputBlobContainerUri", i.InputBlobContainerURI)
populate(objectMap, "outputBlobContainerUri", i.OutputBlobContainerURI)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ImportDevicesRequest.
func (i *ImportDevicesRequest) UnmarshalJSON(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 "inputBlobContainerUri":
err = unpopulate(val, "InputBlobContainerURI", &i.InputBlobContainerURI)
delete(rawMsg, key)
case "outputBlobContainerUri":
err = unpopulate(val, "OutputBlobContainerURI", &i.OutputBlobContainerURI)
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 JobResponse.
func (j JobResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populateTimeRFC1123(objectMap, "endTimeUtc", j.EndTimeUTC)
populate(objectMap, "failureReason", j.FailureReason)
populate(objectMap, "jobId", j.JobID)
populate(objectMap, "parentJobId", j.ParentJobID)
populateTimeRFC1123(objectMap, "startTimeUtc", j.StartTimeUTC)
populate(objectMap, "status", j.Status)
populate(objectMap, "statusMessage", j.StatusMessage)
populate(objectMap, "type", j.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type JobResponse.
func (j *JobResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "endTimeUtc":
err = unpopulateTimeRFC1123(val, "EndTimeUTC", &j.EndTimeUTC)
delete(rawMsg, key)
case "failureReason":
err = unpopulate(val, "FailureReason", &j.FailureReason)
delete(rawMsg, key)
case "jobId":
err = unpopulate(val, "JobID", &j.JobID)
delete(rawMsg, key)
case "parentJobId":
err = unpopulate(val, "ParentJobID", &j.ParentJobID)
delete(rawMsg, key)
case "startTimeUtc":
err = unpopulateTimeRFC1123(val, "StartTimeUTC", &j.StartTimeUTC)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &j.Status)
delete(rawMsg, key)
case "statusMessage":
err = unpopulate(val, "StatusMessage", &j.StatusMessage)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &j.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type JobResponseListResult.
func (j JobResponseListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", j.NextLink)
populate(objectMap, "value", j.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type JobResponseListResult.
func (j *JobResponseListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &j.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &j.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", j, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type LocationDescription.
func (l LocationDescription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "location", l.Location)
populate(objectMap, "role", l.Role)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type LocationDescription.
func (l *LocationDescription) UnmarshalJSON(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 "location":
err = unpopulate(val, "Location", &l.Location)
delete(rawMsg, key)
case "role":
err = unpopulate(val, "Role", &l.Role)
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 MatchedRoute.
func (m MatchedRoute) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", m.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MatchedRoute.
func (m *MatchedRoute) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &m.Properties)
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 MessagingEndpointProperties.
func (m MessagingEndpointProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "lockDurationAsIso8601", m.LockDurationAsIso8601)
populate(objectMap, "maxDeliveryCount", m.MaxDeliveryCount)
populate(objectMap, "ttlAsIso8601", m.TTLAsIso8601)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MessagingEndpointProperties.
func (m *MessagingEndpointProperties) UnmarshalJSON(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 "lockDurationAsIso8601":
err = unpopulate(val, "LockDurationAsIso8601", &m.LockDurationAsIso8601)
delete(rawMsg, key)
case "maxDeliveryCount":
err = unpopulate(val, "MaxDeliveryCount", &m.MaxDeliveryCount)
delete(rawMsg, key)
case "ttlAsIso8601":
err = unpopulate(val, "TTLAsIso8601", &m.TTLAsIso8601)
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 Name.
func (n Name) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "localizedValue", n.LocalizedValue)
populate(objectMap, "value", n.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Name.
func (n *Name) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "localizedValue":
err = unpopulate(val, "LocalizedValue", &n.LocalizedValue)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &n.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type NameAvailabilityInfo.
func (n NameAvailabilityInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "message", n.Message)
populate(objectMap, "nameAvailable", n.NameAvailable)
populate(objectMap, "reason", n.Reason)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NameAvailabilityInfo.
func (n *NameAvailabilityInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "message":
err = unpopulate(val, "Message", &n.Message)
delete(rawMsg, key)
case "nameAvailable":
err = unpopulate(val, "NameAvailable", &n.NameAvailable)
delete(rawMsg, key)
case "reason":
err = unpopulate(val, "Reason", &n.Reason)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", n, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Operation.
func (o Operation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "display", o.Display)
populate(objectMap, "name", o.Name)
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)
}
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 OperationInputs.
func (o OperationInputs) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "name", o.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OperationInputs.
func (o *OperationInputs) UnmarshalJSON(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 "name":
err = unpopulate(val, "Name", &o.Name)
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 Properties.
func (p Properties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "authorizationPolicies", p.AuthorizationPolicies)
populate(objectMap, "cloudToDevice", p.CloudToDevice)
populate(objectMap, "comments", p.Comments)
populate(objectMap, "deviceStreams", p.DeviceStreams)
populate(objectMap, "enableFileUploadNotifications", p.EnableFileUploadNotifications)
populate(objectMap, "eventHubEndpoints", p.EventHubEndpoints)
populate(objectMap, "features", p.Features)
populate(objectMap, "hostName", p.HostName)
populate(objectMap, "ipFilterRules", p.IPFilterRules)
populate(objectMap, "locations", p.Locations)
populate(objectMap, "messagingEndpoints", p.MessagingEndpoints)
populate(objectMap, "provisioningState", p.ProvisioningState)
populate(objectMap, "routing", p.Routing)
populate(objectMap, "state", p.State)
populate(objectMap, "storageEndpoints", p.StorageEndpoints)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Properties.
func (p *Properties) UnmarshalJSON(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 "authorizationPolicies":
err = unpopulate(val, "AuthorizationPolicies", &p.AuthorizationPolicies)
delete(rawMsg, key)
case "cloudToDevice":
err = unpopulate(val, "CloudToDevice", &p.CloudToDevice)
delete(rawMsg, key)
case "comments":
err = unpopulate(val, "Comments", &p.Comments)
delete(rawMsg, key)
case "deviceStreams":
err = unpopulate(val, "DeviceStreams", &p.DeviceStreams)
delete(rawMsg, key)
case "enableFileUploadNotifications":
err = unpopulate(val, "EnableFileUploadNotifications", &p.EnableFileUploadNotifications)
delete(rawMsg, key)
case "eventHubEndpoints":
err = unpopulate(val, "EventHubEndpoints", &p.EventHubEndpoints)
delete(rawMsg, key)
case "features":
err = unpopulate(val, "Features", &p.Features)
delete(rawMsg, key)
case "hostName":
err = unpopulate(val, "HostName", &p.HostName)
delete(rawMsg, key)
case "ipFilterRules":
err = unpopulate(val, "IPFilterRules", &p.IPFilterRules)
delete(rawMsg, key)
case "locations":
err = unpopulate(val, "Locations", &p.Locations)
delete(rawMsg, key)
case "messagingEndpoints":
err = unpopulate(val, "MessagingEndpoints", &p.MessagingEndpoints)
delete(rawMsg, key)
case "provisioningState":
err = unpopulate(val, "ProvisioningState", &p.ProvisioningState)
delete(rawMsg, key)
case "routing":
err = unpopulate(val, "Routing", &p.Routing)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &p.State)
delete(rawMsg, key)
case "storageEndpoints":
err = unpopulate(val, "StorageEndpoints", &p.StorageEndpoints)
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 PropertiesDeviceStreams.
func (p PropertiesDeviceStreams) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "streamingEndpoints", p.StreamingEndpoints)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PropertiesDeviceStreams.
func (p *PropertiesDeviceStreams) UnmarshalJSON(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 "streamingEndpoints":
err = unpopulate(val, "StreamingEndpoints", &p.StreamingEndpoints)
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 QuotaMetricInfo.
func (q QuotaMetricInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "currentValue", q.CurrentValue)
populate(objectMap, "maxValue", q.MaxValue)
populate(objectMap, "name", q.Name)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QuotaMetricInfo.
func (q *QuotaMetricInfo) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", q, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "currentValue":
err = unpopulate(val, "CurrentValue", &q.CurrentValue)
delete(rawMsg, key)
case "maxValue":
err = unpopulate(val, "MaxValue", &q.MaxValue)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &q.Name)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", q, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type QuotaMetricInfoListResult.
func (q QuotaMetricInfoListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", q.NextLink)
populate(objectMap, "value", q.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QuotaMetricInfoListResult.
func (q *QuotaMetricInfoListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", q, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &q.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &q.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", q, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RegistryStatistics.
func (r RegistryStatistics) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "disabledDeviceCount", r.DisabledDeviceCount)
populate(objectMap, "enabledDeviceCount", r.EnabledDeviceCount)
populate(objectMap, "totalDeviceCount", r.TotalDeviceCount)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RegistryStatistics.
func (r *RegistryStatistics) UnmarshalJSON(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 "disabledDeviceCount":
err = unpopulate(val, "DisabledDeviceCount", &r.DisabledDeviceCount)
delete(rawMsg, key)
case "enabledDeviceCount":
err = unpopulate(val, "EnabledDeviceCount", &r.EnabledDeviceCount)
delete(rawMsg, key)
case "totalDeviceCount":
err = unpopulate(val, "TotalDeviceCount", &r.TotalDeviceCount)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Resource.
func (r Resource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", r.ID)
populate(objectMap, "location", r.Location)
populate(objectMap, "name", r.Name)
populate(objectMap, "tags", r.Tags)
populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Resource.
func (r *Resource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "location":
err = unpopulate(val, "Location", &r.Location)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &r.Tags)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RouteCompilationError.
func (r RouteCompilationError) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "location", r.Location)
populate(objectMap, "message", r.Message)
populate(objectMap, "severity", r.Severity)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RouteCompilationError.
func (r *RouteCompilationError) UnmarshalJSON(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 "location":
err = unpopulate(val, "Location", &r.Location)
delete(rawMsg, key)
case "message":
err = unpopulate(val, "Message", &r.Message)
delete(rawMsg, key)
case "severity":
err = unpopulate(val, "Severity", &r.Severity)
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 RouteErrorPosition.
func (r RouteErrorPosition) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "column", r.Column)
populate(objectMap, "line", r.Line)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RouteErrorPosition.
func (r *RouteErrorPosition) UnmarshalJSON(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 "column":
err = unpopulate(val, "Column", &r.Column)
delete(rawMsg, key)
case "line":
err = unpopulate(val, "Line", &r.Line)
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 RouteErrorRange.
func (r RouteErrorRange) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "end", r.End)
populate(objectMap, "start", r.Start)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RouteErrorRange.
func (r *RouteErrorRange) UnmarshalJSON(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 "end":
err = unpopulate(val, "End", &r.End)
delete(rawMsg, key)
case "start":
err = unpopulate(val, "Start", &r.Start)
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 RouteProperties.
func (r RouteProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "condition", r.Condition)
populate(objectMap, "endpointNames", r.EndpointNames)
populate(objectMap, "isEnabled", r.IsEnabled)
populate(objectMap, "name", r.Name)
populate(objectMap, "source", r.Source)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RouteProperties.
func (r *RouteProperties) UnmarshalJSON(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 "condition":
err = unpopulate(val, "Condition", &r.Condition)
delete(rawMsg, key)
case "endpointNames":
err = unpopulate(val, "EndpointNames", &r.EndpointNames)
delete(rawMsg, key)
case "isEnabled":
err = unpopulate(val, "IsEnabled", &r.IsEnabled)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "source":
err = unpopulate(val, "Source", &r.Source)
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 RoutingEndpoints.
func (r RoutingEndpoints) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "eventHubs", r.EventHubs)
populate(objectMap, "serviceBusQueues", r.ServiceBusQueues)
populate(objectMap, "serviceBusTopics", r.ServiceBusTopics)
populate(objectMap, "storageContainers", r.StorageContainers)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingEndpoints.
func (r *RoutingEndpoints) UnmarshalJSON(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 "eventHubs":
err = unpopulate(val, "EventHubs", &r.EventHubs)
delete(rawMsg, key)
case "serviceBusQueues":
err = unpopulate(val, "ServiceBusQueues", &r.ServiceBusQueues)
delete(rawMsg, key)
case "serviceBusTopics":
err = unpopulate(val, "ServiceBusTopics", &r.ServiceBusTopics)
delete(rawMsg, key)
case "storageContainers":
err = unpopulate(val, "StorageContainers", &r.StorageContainers)
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 RoutingEventHubProperties.
func (r RoutingEventHubProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "connectionString", r.ConnectionString)
populate(objectMap, "name", r.Name)
populate(objectMap, "resourceGroup", r.ResourceGroup)
populate(objectMap, "subscriptionId", r.SubscriptionID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingEventHubProperties.
func (r *RoutingEventHubProperties) UnmarshalJSON(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 "connectionString":
err = unpopulate(val, "ConnectionString", &r.ConnectionString)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "resourceGroup":
err = unpopulate(val, "ResourceGroup", &r.ResourceGroup)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &r.SubscriptionID)
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 RoutingMessage.
func (r RoutingMessage) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "appProperties", r.AppProperties)
populate(objectMap, "body", r.Body)
populate(objectMap, "systemProperties", r.SystemProperties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingMessage.
func (r *RoutingMessage) UnmarshalJSON(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 "appProperties":
err = unpopulate(val, "AppProperties", &r.AppProperties)
delete(rawMsg, key)
case "body":
err = unpopulate(val, "Body", &r.Body)
delete(rawMsg, key)
case "systemProperties":
err = unpopulate(val, "SystemProperties", &r.SystemProperties)
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 RoutingProperties.
func (r RoutingProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "endpoints", r.Endpoints)
populate(objectMap, "enrichments", r.Enrichments)
populate(objectMap, "fallbackRoute", r.FallbackRoute)
populate(objectMap, "routes", r.Routes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingProperties.
func (r *RoutingProperties) UnmarshalJSON(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 "endpoints":
err = unpopulate(val, "Endpoints", &r.Endpoints)
delete(rawMsg, key)
case "enrichments":
err = unpopulate(val, "Enrichments", &r.Enrichments)
delete(rawMsg, key)
case "fallbackRoute":
err = unpopulate(val, "FallbackRoute", &r.FallbackRoute)
delete(rawMsg, key)
case "routes":
err = unpopulate(val, "Routes", &r.Routes)
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 RoutingServiceBusQueueEndpointProperties.
func (r RoutingServiceBusQueueEndpointProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "connectionString", r.ConnectionString)
populate(objectMap, "name", r.Name)
populate(objectMap, "resourceGroup", r.ResourceGroup)
populate(objectMap, "subscriptionId", r.SubscriptionID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingServiceBusQueueEndpointProperties.
func (r *RoutingServiceBusQueueEndpointProperties) UnmarshalJSON(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 "connectionString":
err = unpopulate(val, "ConnectionString", &r.ConnectionString)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "resourceGroup":
err = unpopulate(val, "ResourceGroup", &r.ResourceGroup)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &r.SubscriptionID)
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 RoutingServiceBusTopicEndpointProperties.
func (r RoutingServiceBusTopicEndpointProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "connectionString", r.ConnectionString)
populate(objectMap, "name", r.Name)
populate(objectMap, "resourceGroup", r.ResourceGroup)
populate(objectMap, "subscriptionId", r.SubscriptionID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingServiceBusTopicEndpointProperties.
func (r *RoutingServiceBusTopicEndpointProperties) UnmarshalJSON(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 "connectionString":
err = unpopulate(val, "ConnectionString", &r.ConnectionString)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "resourceGroup":
err = unpopulate(val, "ResourceGroup", &r.ResourceGroup)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &r.SubscriptionID)
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 RoutingStorageContainerProperties.
func (r RoutingStorageContainerProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "batchFrequencyInSeconds", r.BatchFrequencyInSeconds)
populate(objectMap, "connectionString", r.ConnectionString)
populate(objectMap, "containerName", r.ContainerName)
populate(objectMap, "encoding", r.Encoding)
populate(objectMap, "fileNameFormat", r.FileNameFormat)
populate(objectMap, "maxChunkSizeInBytes", r.MaxChunkSizeInBytes)
populate(objectMap, "name", r.Name)
populate(objectMap, "resourceGroup", r.ResourceGroup)
populate(objectMap, "subscriptionId", r.SubscriptionID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingStorageContainerProperties.
func (r *RoutingStorageContainerProperties) UnmarshalJSON(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 "batchFrequencyInSeconds":
err = unpopulate(val, "BatchFrequencyInSeconds", &r.BatchFrequencyInSeconds)
delete(rawMsg, key)
case "connectionString":
err = unpopulate(val, "ConnectionString", &r.ConnectionString)
delete(rawMsg, key)
case "containerName":
err = unpopulate(val, "ContainerName", &r.ContainerName)
delete(rawMsg, key)
case "encoding":
err = unpopulate(val, "Encoding", &r.Encoding)
delete(rawMsg, key)
case "fileNameFormat":
err = unpopulate(val, "FileNameFormat", &r.FileNameFormat)
delete(rawMsg, key)
case "maxChunkSizeInBytes":
err = unpopulate(val, "MaxChunkSizeInBytes", &r.MaxChunkSizeInBytes)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "resourceGroup":
err = unpopulate(val, "ResourceGroup", &r.ResourceGroup)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &r.SubscriptionID)
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 RoutingTwin.
func (r RoutingTwin) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", r.Properties)
populate(objectMap, "tags", &r.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingTwin.
func (r *RoutingTwin) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &r.Properties)
delete(rawMsg, key)
case "tags":
err = unpopulate(val, "Tags", &r.Tags)
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 RoutingTwinProperties.
func (r RoutingTwinProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "desired", &r.Desired)
populate(objectMap, "reported", &r.Reported)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RoutingTwinProperties.
func (r *RoutingTwinProperties) UnmarshalJSON(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 "desired":
err = unpopulate(val, "Desired", &r.Desired)
delete(rawMsg, key)
case "reported":
err = unpopulate(val, "Reported", &r.Reported)
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, "capacity", s.Capacity)
populate(objectMap, "resourceType", s.ResourceType)
populate(objectMap, "sku", s.SKU)
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 "capacity":
err = unpopulate(val, "Capacity", &s.Capacity)
delete(rawMsg, key)
case "resourceType":
err = unpopulate(val, "ResourceType", &s.ResourceType)
delete(rawMsg, key)
case "sku":
err = unpopulate(val, "SKU", &s.SKU)
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 SKUDescriptionListResult.
func (s SKUDescriptionListResult) 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 SKUDescriptionListResult.
func (s *SKUDescriptionListResult) UnmarshalJSON(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 SKUInfo.
func (s SKUInfo) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "capacity", s.Capacity)
populate(objectMap, "name", s.Name)
populate(objectMap, "tier", s.Tier)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SKUInfo.
func (s *SKUInfo) UnmarshalJSON(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 "capacity":
err = unpopulate(val, "Capacity", &s.Capacity)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
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 SharedAccessSignatureAuthorizationRule.
func (s SharedAccessSignatureAuthorizationRule) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "keyName", s.KeyName)
populate(objectMap, "primaryKey", s.PrimaryKey)
populate(objectMap, "rights", s.Rights)
populate(objectMap, "secondaryKey", s.SecondaryKey)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SharedAccessSignatureAuthorizationRule.
func (s *SharedAccessSignatureAuthorizationRule) UnmarshalJSON(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 "keyName":
err = unpopulate(val, "KeyName", &s.KeyName)
delete(rawMsg, key)
case "primaryKey":
err = unpopulate(val, "PrimaryKey", &s.PrimaryKey)
delete(rawMsg, key)
case "rights":
err = unpopulate(val, "Rights", &s.Rights)
delete(rawMsg, key)
case "secondaryKey":
err = unpopulate(val, "SecondaryKey", &s.SecondaryKey)
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 SharedAccessSignatureAuthorizationRuleListResult.
func (s SharedAccessSignatureAuthorizationRuleListResult) 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 SharedAccessSignatureAuthorizationRuleListResult.
func (s *SharedAccessSignatureAuthorizationRuleListResult) UnmarshalJSON(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 StorageEndpointProperties.
func (s StorageEndpointProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "connectionString", s.ConnectionString)
populate(objectMap, "containerName", s.ContainerName)
populate(objectMap, "sasTtlAsIso8601", s.SasTTLAsIso8601)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StorageEndpointProperties.
func (s *StorageEndpointProperties) UnmarshalJSON(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 "connectionString":
err = unpopulate(val, "ConnectionString", &s.ConnectionString)
delete(rawMsg, key)
case "containerName":
err = unpopulate(val, "ContainerName", &s.ContainerName)
delete(rawMsg, key)
case "sasTtlAsIso8601":
err = unpopulate(val, "SasTTLAsIso8601", &s.SasTTLAsIso8601)
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 TagsResource.
func (t TagsResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "tags", t.Tags)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TagsResource.
func (t *TagsResource) UnmarshalJSON(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 "tags":
err = unpopulate(val, "Tags", &t.Tags)
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 TestAllRoutesInput.
func (t TestAllRoutesInput) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "message", t.Message)
populate(objectMap, "routingSource", t.RoutingSource)
populate(objectMap, "twin", t.Twin)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TestAllRoutesInput.
func (t *TestAllRoutesInput) UnmarshalJSON(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 "message":
err = unpopulate(val, "Message", &t.Message)
delete(rawMsg, key)
case "routingSource":
err = unpopulate(val, "RoutingSource", &t.RoutingSource)
delete(rawMsg, key)
case "twin":
err = unpopulate(val, "Twin", &t.Twin)
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 TestAllRoutesResult.
func (t TestAllRoutesResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "routes", t.Routes)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TestAllRoutesResult.
func (t *TestAllRoutesResult) UnmarshalJSON(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 "routes":
err = unpopulate(val, "Routes", &t.Routes)
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 TestRouteInput.
func (t TestRouteInput) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "message", t.Message)
populate(objectMap, "route", t.Route)
populate(objectMap, "twin", t.Twin)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TestRouteInput.
func (t *TestRouteInput) UnmarshalJSON(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 "message":
err = unpopulate(val, "Message", &t.Message)
delete(rawMsg, key)
case "route":
err = unpopulate(val, "Route", &t.Route)
delete(rawMsg, key)
case "twin":
err = unpopulate(val, "Twin", &t.Twin)
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 TestRouteResult.
func (t TestRouteResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "details", t.Details)
populate(objectMap, "result", t.Result)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TestRouteResult.
func (t *TestRouteResult) UnmarshalJSON(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 "details":
err = unpopulate(val, "Details", &t.Details)
delete(rawMsg, key)
case "result":
err = unpopulate(val, "Result", &t.Result)
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 TestRouteResultDetails.
func (t TestRouteResultDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "compilationErrors", t.CompilationErrors)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TestRouteResultDetails.
func (t *TestRouteResultDetails) UnmarshalJSON(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 "compilationErrors":
err = unpopulate(val, "CompilationErrors", &t.CompilationErrors)
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 UserSubscriptionQuota.
func (u UserSubscriptionQuota) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "currentValue", u.CurrentValue)
populate(objectMap, "id", u.ID)
populate(objectMap, "limit", u.Limit)
populate(objectMap, "name", u.Name)
populate(objectMap, "type", u.Type)
populate(objectMap, "unit", u.Unit)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserSubscriptionQuota.
func (u *UserSubscriptionQuota) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "currentValue":
err = unpopulate(val, "CurrentValue", &u.CurrentValue)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &u.ID)
delete(rawMsg, key)
case "limit":
err = unpopulate(val, "Limit", &u.Limit)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &u.Name)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &u.Type)
delete(rawMsg, key)
case "unit":
err = unpopulate(val, "Unit", &u.Unit)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type UserSubscriptionQuotaListResult.
func (u UserSubscriptionQuotaListResult) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", u.NextLink)
populate(objectMap, "value", u.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserSubscriptionQuotaListResult.
func (u *UserSubscriptionQuotaListResult) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &u.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &u.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", u, err)
}
}
return nil
}
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 unpopulate(data json.RawMessage, fn string, v any) error {
if data == nil {
return nil
}
if err := json.Unmarshal(data, v); err != nil {
return fmt.Errorf("struct field %s: %v", fn, err)
}
return nil
}