sdk/resourcemanager/marketplace/armmarketplace/models_serde.go (2,102 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 armmarketplace
import (
"encoding/json"
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"reflect"
)
// MarshalJSON implements the json.Marshaller interface for type AcknowledgeOfferNotificationDetails.
func (a AcknowledgeOfferNotificationDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "acknowledge", a.Acknowledge)
populate(objectMap, "addPlans", a.AddPlans)
populate(objectMap, "dismiss", a.Dismiss)
populate(objectMap, "removeOffer", a.RemoveOffer)
populate(objectMap, "removePlans", a.RemovePlans)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AcknowledgeOfferNotificationDetails.
func (a *AcknowledgeOfferNotificationDetails) UnmarshalJSON(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 "acknowledge":
err = unpopulate(val, "Acknowledge", &a.Acknowledge)
delete(rawMsg, key)
case "addPlans":
err = unpopulate(val, "AddPlans", &a.AddPlans)
delete(rawMsg, key)
case "dismiss":
err = unpopulate(val, "Dismiss", &a.Dismiss)
delete(rawMsg, key)
case "removeOffer":
err = unpopulate(val, "RemoveOffer", &a.RemoveOffer)
delete(rawMsg, key)
case "removePlans":
err = unpopulate(val, "RemovePlans", &a.RemovePlans)
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 AcknowledgeOfferNotificationProperties.
func (a AcknowledgeOfferNotificationProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", a.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AcknowledgeOfferNotificationProperties.
func (a *AcknowledgeOfferNotificationProperties) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &a.Properties)
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 AdminRequestApprovalProperties.
func (a AdminRequestApprovalProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "adminAction", a.AdminAction)
populate(objectMap, "administrator", a.Administrator)
populate(objectMap, "approvedPlans", a.ApprovedPlans)
populate(objectMap, "collectionIds", a.CollectionIDs)
populate(objectMap, "comment", a.Comment)
populate(objectMap, "displayName", a.DisplayName)
populate(objectMap, "offerId", a.OfferID)
populate(objectMap, "plans", a.Plans)
populate(objectMap, "publisherId", a.PublisherID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdminRequestApprovalProperties.
func (a *AdminRequestApprovalProperties) UnmarshalJSON(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 "adminAction":
err = unpopulate(val, "AdminAction", &a.AdminAction)
delete(rawMsg, key)
case "administrator":
err = unpopulate(val, "Administrator", &a.Administrator)
delete(rawMsg, key)
case "approvedPlans":
err = unpopulate(val, "ApprovedPlans", &a.ApprovedPlans)
delete(rawMsg, key)
case "collectionIds":
err = unpopulate(val, "CollectionIDs", &a.CollectionIDs)
delete(rawMsg, key)
case "comment":
err = unpopulate(val, "Comment", &a.Comment)
delete(rawMsg, key)
case "displayName":
err = unpopulate(val, "DisplayName", &a.DisplayName)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &a.OfferID)
delete(rawMsg, key)
case "plans":
err = unpopulate(val, "Plans", &a.Plans)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &a.PublisherID)
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 AdminRequestApprovalsList.
func (a AdminRequestApprovalsList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", a.NextLink)
populate(objectMap, "value", a.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdminRequestApprovalsList.
func (a *AdminRequestApprovalsList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &a.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &a.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type AdminRequestApprovalsResource.
func (a AdminRequestApprovalsResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", a.ID)
populate(objectMap, "name", a.Name)
populate(objectMap, "properties", a.Properties)
populate(objectMap, "systemData", a.SystemData)
populate(objectMap, "type", a.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type AdminRequestApprovalsResource.
func (a *AdminRequestApprovalsResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &a.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &a.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &a.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &a.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &a.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", a, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BillingAccountsResponse.
func (b BillingAccountsResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "billingAccounts", b.BillingAccounts)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BillingAccountsResponse.
func (b *BillingAccountsResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "billingAccounts":
err = unpopulate(val, "BillingAccounts", &b.BillingAccounts)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BulkCollectionsDetails.
func (b BulkCollectionsDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "action", b.Action)
populate(objectMap, "collectionIds", b.CollectionIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BulkCollectionsDetails.
func (b *BulkCollectionsDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "action":
err = unpopulate(val, "Action", &b.Action)
delete(rawMsg, key)
case "collectionIds":
err = unpopulate(val, "CollectionIDs", &b.CollectionIDs)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BulkCollectionsPayload.
func (b BulkCollectionsPayload) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", b.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BulkCollectionsPayload.
func (b *BulkCollectionsPayload) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &b.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type BulkCollectionsResponse.
func (b BulkCollectionsResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "failed", b.Failed)
populate(objectMap, "succeeded", b.Succeeded)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type BulkCollectionsResponse.
func (b *BulkCollectionsResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "failed":
err = unpopulate(val, "Failed", &b.Failed)
delete(rawMsg, key)
case "succeeded":
err = unpopulate(val, "Succeeded", &b.Succeeded)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", b, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type Collection.
func (c Collection) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", c.ID)
populate(objectMap, "name", c.Name)
populate(objectMap, "properties", c.Properties)
populate(objectMap, "systemData", c.SystemData)
populate(objectMap, "type", c.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Collection.
func (c *Collection) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &c.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &c.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &c.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &c.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type CollectionProperties.
func (c CollectionProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "allSubscriptions", c.AllSubscriptions)
populate(objectMap, "claim", c.Claim)
populate(objectMap, "collectionId", c.CollectionID)
populate(objectMap, "collectionName", c.CollectionName)
populate(objectMap, "enabled", c.Enabled)
populate(objectMap, "numberOfOffers", c.NumberOfOffers)
populate(objectMap, "subscriptionsList", c.SubscriptionsList)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CollectionProperties.
func (c *CollectionProperties) UnmarshalJSON(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 "allSubscriptions":
err = unpopulate(val, "AllSubscriptions", &c.AllSubscriptions)
delete(rawMsg, key)
case "claim":
err = unpopulate(val, "Claim", &c.Claim)
delete(rawMsg, key)
case "collectionId":
err = unpopulate(val, "CollectionID", &c.CollectionID)
delete(rawMsg, key)
case "collectionName":
err = unpopulate(val, "CollectionName", &c.CollectionName)
delete(rawMsg, key)
case "enabled":
err = unpopulate(val, "Enabled", &c.Enabled)
delete(rawMsg, key)
case "numberOfOffers":
err = unpopulate(val, "NumberOfOffers", &c.NumberOfOffers)
delete(rawMsg, key)
case "subscriptionsList":
err = unpopulate(val, "SubscriptionsList", &c.SubscriptionsList)
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 CollectionsDetails.
func (c CollectionsDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "collectionId", c.CollectionID)
populate(objectMap, "collectionName", c.CollectionName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CollectionsDetails.
func (c *CollectionsDetails) UnmarshalJSON(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 "collectionId":
err = unpopulate(val, "CollectionID", &c.CollectionID)
delete(rawMsg, key)
case "collectionName":
err = unpopulate(val, "CollectionName", &c.CollectionName)
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 CollectionsList.
func (c CollectionsList) 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 CollectionsList.
func (c *CollectionsList) UnmarshalJSON(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 CollectionsSubscriptionsMappingDetails.
func (c CollectionsSubscriptionsMappingDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "collectionName", c.CollectionName)
populate(objectMap, "subscriptions", c.Subscriptions)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CollectionsSubscriptionsMappingDetails.
func (c *CollectionsSubscriptionsMappingDetails) UnmarshalJSON(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 "collectionName":
err = unpopulate(val, "CollectionName", &c.CollectionName)
delete(rawMsg, key)
case "subscriptions":
err = unpopulate(val, "Subscriptions", &c.Subscriptions)
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 CollectionsToSubscriptionsMappingPayload.
func (c CollectionsToSubscriptionsMappingPayload) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", c.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CollectionsToSubscriptionsMappingPayload.
func (c *CollectionsToSubscriptionsMappingPayload) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &c.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", c, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type CollectionsToSubscriptionsMappingProperties.
func (c CollectionsToSubscriptionsMappingProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "subscriptionIds", c.SubscriptionIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CollectionsToSubscriptionsMappingProperties.
func (c *CollectionsToSubscriptionsMappingProperties) UnmarshalJSON(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 "subscriptionIds":
err = unpopulate(val, "SubscriptionIDs", &c.SubscriptionIDs)
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 CollectionsToSubscriptionsMappingResponse.
func (c CollectionsToSubscriptionsMappingResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "details", c.Details)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CollectionsToSubscriptionsMappingResponse.
func (c *CollectionsToSubscriptionsMappingResponse) UnmarshalJSON(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 "details":
err = unpopulate(val, "Details", &c.Details)
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 ErrorResponse.
func (e ErrorResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "error", e.Error)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponse.
func (e *ErrorResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "error":
err = unpopulate(val, "Error", &e.Error)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", e, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type ErrorResponseError.
func (e ErrorResponseError) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "code", e.Code)
populate(objectMap, "message", e.Message)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type ErrorResponseError.
func (e *ErrorResponseError) UnmarshalJSON(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 "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 NewNotifications.
func (n NewNotifications) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "displayName", n.DisplayName)
populate(objectMap, "icon", n.Icon)
populate(objectMap, "isFuturePlansEnabled", n.IsFuturePlansEnabled)
populate(objectMap, "messageCode", n.MessageCode)
populate(objectMap, "offerId", n.OfferID)
populate(objectMap, "plans", n.Plans)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NewNotifications.
func (n *NewNotifications) UnmarshalJSON(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 "displayName":
err = unpopulate(val, "DisplayName", &n.DisplayName)
delete(rawMsg, key)
case "icon":
err = unpopulate(val, "Icon", &n.Icon)
delete(rawMsg, key)
case "isFuturePlansEnabled":
err = unpopulate(val, "IsFuturePlansEnabled", &n.IsFuturePlansEnabled)
delete(rawMsg, key)
case "messageCode":
err = unpopulate(val, "MessageCode", &n.MessageCode)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &n.OfferID)
delete(rawMsg, key)
case "plans":
err = unpopulate(val, "Plans", &n.Plans)
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 NewPlansNotificationsList.
func (n NewPlansNotificationsList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "newPlansNotifications", n.NewPlansNotifications)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NewPlansNotificationsList.
func (n *NewPlansNotificationsList) UnmarshalJSON(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 "newPlansNotifications":
err = unpopulate(val, "NewPlansNotifications", &n.NewPlansNotifications)
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 NotificationsSettingsProperties.
func (n NotificationsSettingsProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "recipients", n.Recipients)
populate(objectMap, "sendToAllMarketplaceAdmins", n.SendToAllMarketplaceAdmins)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type NotificationsSettingsProperties.
func (n *NotificationsSettingsProperties) UnmarshalJSON(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 "recipients":
err = unpopulate(val, "Recipients", &n.Recipients)
delete(rawMsg, key)
case "sendToAllMarketplaceAdmins":
err = unpopulate(val, "SendToAllMarketplaceAdmins", &n.SendToAllMarketplaceAdmins)
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 Offer.
func (o Offer) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", o.ID)
populate(objectMap, "name", o.Name)
populate(objectMap, "properties", o.Properties)
populate(objectMap, "systemData", o.SystemData)
populate(objectMap, "type", o.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Offer.
func (o *Offer) UnmarshalJSON(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 "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 "systemData":
err = unpopulate(val, "SystemData", &o.SystemData)
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 OfferListResponse.
func (o OfferListResponse) 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 OfferListResponse.
func (o *OfferListResponse) UnmarshalJSON(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 OfferProperties.
func (o OfferProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "createdAt", o.CreatedAt)
populate(objectMap, "eTag", o.ETag)
populate(objectMap, "iconFileUris", o.IconFileUris)
populate(objectMap, "modifiedAt", o.ModifiedAt)
populate(objectMap, "offerDisplayName", o.OfferDisplayName)
populate(objectMap, "plans", o.Plans)
populate(objectMap, "privateStoreId", o.PrivateStoreID)
populate(objectMap, "publisherDisplayName", o.PublisherDisplayName)
populate(objectMap, "specificPlanIdsLimitation", o.SpecificPlanIDsLimitation)
populate(objectMap, "uniqueOfferId", o.UniqueOfferID)
populate(objectMap, "updateSuppressedDueIdempotence", o.UpdateSuppressedDueIdempotence)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type OfferProperties.
func (o *OfferProperties) UnmarshalJSON(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 "createdAt":
err = unpopulate(val, "CreatedAt", &o.CreatedAt)
delete(rawMsg, key)
case "eTag":
err = unpopulate(val, "ETag", &o.ETag)
delete(rawMsg, key)
case "iconFileUris":
err = unpopulate(val, "IconFileUris", &o.IconFileUris)
delete(rawMsg, key)
case "modifiedAt":
err = unpopulate(val, "ModifiedAt", &o.ModifiedAt)
delete(rawMsg, key)
case "offerDisplayName":
err = unpopulate(val, "OfferDisplayName", &o.OfferDisplayName)
delete(rawMsg, key)
case "plans":
err = unpopulate(val, "Plans", &o.Plans)
delete(rawMsg, key)
case "privateStoreId":
err = unpopulate(val, "PrivateStoreID", &o.PrivateStoreID)
delete(rawMsg, key)
case "publisherDisplayName":
err = unpopulate(val, "PublisherDisplayName", &o.PublisherDisplayName)
delete(rawMsg, key)
case "specificPlanIdsLimitation":
err = unpopulate(val, "SpecificPlanIDsLimitation", &o.SpecificPlanIDsLimitation)
delete(rawMsg, key)
case "uniqueOfferId":
err = unpopulate(val, "UniqueOfferID", &o.UniqueOfferID)
delete(rawMsg, key)
case "updateSuppressedDueIdempotence":
err = unpopulate(val, "UpdateSuppressedDueIdempotence", &o.UpdateSuppressedDueIdempotence)
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 Plan.
func (p Plan) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "accessibility", p.Accessibility)
populate(objectMap, "altStackReference", p.AltStackReference)
populate(objectMap, "planDisplayName", p.PlanDisplayName)
populate(objectMap, "planId", p.PlanID)
populate(objectMap, "skuId", p.SKUID)
populate(objectMap, "stackType", p.StackType)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Plan.
func (p *Plan) UnmarshalJSON(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 "accessibility":
err = unpopulate(val, "Accessibility", &p.Accessibility)
delete(rawMsg, key)
case "altStackReference":
err = unpopulate(val, "AltStackReference", &p.AltStackReference)
delete(rawMsg, key)
case "planDisplayName":
err = unpopulate(val, "PlanDisplayName", &p.PlanDisplayName)
delete(rawMsg, key)
case "planId":
err = unpopulate(val, "PlanID", &p.PlanID)
delete(rawMsg, key)
case "skuId":
err = unpopulate(val, "SKUID", &p.SKUID)
delete(rawMsg, key)
case "stackType":
err = unpopulate(val, "StackType", &p.StackType)
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 PlanDetails.
func (p PlanDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "justification", p.Justification)
populate(objectMap, "planId", p.PlanID)
populateAny(objectMap, "requestDate", p.RequestDate)
populate(objectMap, "status", p.Status)
populate(objectMap, "subscriptionId", p.SubscriptionID)
populate(objectMap, "subscriptionName", p.SubscriptionName)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PlanDetails.
func (p *PlanDetails) UnmarshalJSON(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 "justification":
err = unpopulate(val, "Justification", &p.Justification)
delete(rawMsg, key)
case "planId":
err = unpopulate(val, "PlanID", &p.PlanID)
delete(rawMsg, key)
case "requestDate":
err = unpopulate(val, "RequestDate", &p.RequestDate)
delete(rawMsg, key)
case "status":
err = unpopulate(val, "Status", &p.Status)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &p.SubscriptionID)
delete(rawMsg, key)
case "subscriptionName":
err = unpopulate(val, "SubscriptionName", &p.SubscriptionName)
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 PlanNotificationDetails.
func (p PlanNotificationDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "planDisplayName", p.PlanDisplayName)
populate(objectMap, "planId", p.PlanID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PlanNotificationDetails.
func (p *PlanNotificationDetails) UnmarshalJSON(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 "planDisplayName":
err = unpopulate(val, "PlanDisplayName", &p.PlanDisplayName)
delete(rawMsg, key)
case "planId":
err = unpopulate(val, "PlanID", &p.PlanID)
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 PlanRequesterDetails.
func (p PlanRequesterDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "planDisplayName", p.PlanDisplayName)
populate(objectMap, "planId", p.PlanID)
populate(objectMap, "requesters", p.Requesters)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PlanRequesterDetails.
func (p *PlanRequesterDetails) UnmarshalJSON(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 "planDisplayName":
err = unpopulate(val, "PlanDisplayName", &p.PlanDisplayName)
delete(rawMsg, key)
case "planId":
err = unpopulate(val, "PlanID", &p.PlanID)
delete(rawMsg, key)
case "requesters":
err = unpopulate(val, "Requesters", &p.Requesters)
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 PrivateStore.
func (p PrivateStore) 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 PrivateStore.
func (p *PrivateStore) UnmarshalJSON(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 PrivateStoreList.
func (p PrivateStoreList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", p.NextLink)
populate(objectMap, "value", p.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PrivateStoreList.
func (p *PrivateStoreList) UnmarshalJSON(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 "nextLink":
err = unpopulate(val, "NextLink", &p.NextLink)
delete(rawMsg, 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 PrivateStoreNotificationsState.
func (p PrivateStoreNotificationsState) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "approvalRequests", p.ApprovalRequests)
populate(objectMap, "newNotifications", p.NewNotifications)
populate(objectMap, "stopSellNotifications", p.StopSellNotifications)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PrivateStoreNotificationsState.
func (p *PrivateStoreNotificationsState) UnmarshalJSON(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 "approvalRequests":
err = unpopulate(val, "ApprovalRequests", &p.ApprovalRequests)
delete(rawMsg, key)
case "newNotifications":
err = unpopulate(val, "NewNotifications", &p.NewNotifications)
delete(rawMsg, key)
case "stopSellNotifications":
err = unpopulate(val, "StopSellNotifications", &p.StopSellNotifications)
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 PrivateStoreProperties.
func (p PrivateStoreProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "availability", p.Availability)
populate(objectMap, "branding", p.Branding)
populate(objectMap, "collectionIds", p.CollectionIDs)
populate(objectMap, "eTag", p.ETag)
populate(objectMap, "isGov", p.IsGov)
populate(objectMap, "notificationsSettings", p.NotificationsSettings)
populate(objectMap, "privateStoreId", p.PrivateStoreID)
populate(objectMap, "privateStoreName", p.PrivateStoreName)
populate(objectMap, "tenantId", p.TenantID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type PrivateStoreProperties.
func (p *PrivateStoreProperties) UnmarshalJSON(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 "availability":
err = unpopulate(val, "Availability", &p.Availability)
delete(rawMsg, key)
case "branding":
err = unpopulate(val, "Branding", &p.Branding)
delete(rawMsg, key)
case "collectionIds":
err = unpopulate(val, "CollectionIDs", &p.CollectionIDs)
delete(rawMsg, key)
case "eTag":
err = unpopulate(val, "ETag", &p.ETag)
delete(rawMsg, key)
case "isGov":
err = unpopulate(val, "IsGov", &p.IsGov)
delete(rawMsg, key)
case "notificationsSettings":
err = unpopulate(val, "NotificationsSettings", &p.NotificationsSettings)
delete(rawMsg, key)
case "privateStoreId":
err = unpopulate(val, "PrivateStoreID", &p.PrivateStoreID)
delete(rawMsg, key)
case "privateStoreName":
err = unpopulate(val, "PrivateStoreName", &p.PrivateStoreName)
delete(rawMsg, key)
case "tenantId":
err = unpopulate(val, "TenantID", &p.TenantID)
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 QueryApprovedPlans.
func (q QueryApprovedPlans) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "offerId", q.OfferID)
populate(objectMap, "planIds", q.PlanIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QueryApprovedPlans.
func (q *QueryApprovedPlans) UnmarshalJSON(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 "offerId":
err = unpopulate(val, "OfferID", &q.OfferID)
delete(rawMsg, key)
case "planIds":
err = unpopulate(val, "PlanIDs", &q.PlanIDs)
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 QueryApprovedPlansDetails.
func (q QueryApprovedPlansDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "allSubscriptions", q.AllSubscriptions)
populate(objectMap, "planId", q.PlanID)
populate(objectMap, "subscriptionIds", q.SubscriptionIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QueryApprovedPlansDetails.
func (q *QueryApprovedPlansDetails) UnmarshalJSON(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 "allSubscriptions":
err = unpopulate(val, "AllSubscriptions", &q.AllSubscriptions)
delete(rawMsg, key)
case "planId":
err = unpopulate(val, "PlanID", &q.PlanID)
delete(rawMsg, key)
case "subscriptionIds":
err = unpopulate(val, "SubscriptionIDs", &q.SubscriptionIDs)
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 QueryApprovedPlansPayload.
func (q QueryApprovedPlansPayload) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", q.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QueryApprovedPlansPayload.
func (q *QueryApprovedPlansPayload) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &q.Properties)
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 QueryApprovedPlansResponse.
func (q QueryApprovedPlansResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "details", q.Details)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QueryApprovedPlansResponse.
func (q *QueryApprovedPlansResponse) UnmarshalJSON(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 "details":
err = unpopulate(val, "Details", &q.Details)
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 QueryOffers.
func (q QueryOffers) 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 QueryOffers.
func (q *QueryOffers) UnmarshalJSON(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 QueryRequestApproval.
func (q QueryRequestApproval) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "etag", q.Etag)
populate(objectMap, "messageCode", q.MessageCode)
populate(objectMap, "plansDetails", q.PlansDetails)
populate(objectMap, "uniqueOfferId", q.UniqueOfferID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QueryRequestApproval.
func (q *QueryRequestApproval) UnmarshalJSON(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 "etag":
err = unpopulate(val, "Etag", &q.Etag)
delete(rawMsg, key)
case "messageCode":
err = unpopulate(val, "MessageCode", &q.MessageCode)
delete(rawMsg, key)
case "plansDetails":
err = unpopulate(val, "PlansDetails", &q.PlansDetails)
delete(rawMsg, key)
case "uniqueOfferId":
err = unpopulate(val, "UniqueOfferID", &q.UniqueOfferID)
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 QueryRequestApprovalProperties.
func (q QueryRequestApprovalProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", q.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type QueryRequestApprovalProperties.
func (q *QueryRequestApprovalProperties) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &q.Properties)
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 Recipient.
func (r Recipient) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "displayName", r.DisplayName)
populate(objectMap, "emailAddress", r.EmailAddress)
populate(objectMap, "principalId", r.PrincipalID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Recipient.
func (r *Recipient) UnmarshalJSON(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 "displayName":
err = unpopulate(val, "DisplayName", &r.DisplayName)
delete(rawMsg, key)
case "emailAddress":
err = unpopulate(val, "EmailAddress", &r.EmailAddress)
delete(rawMsg, key)
case "principalId":
err = unpopulate(val, "PrincipalID", &r.PrincipalID)
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 RequestApprovalProperties.
func (r RequestApprovalProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "isClosed", r.IsClosed)
populate(objectMap, "messageCode", r.MessageCode)
populate(objectMap, "offerDisplayName", r.OfferDisplayName)
populate(objectMap, "offerId", r.OfferID)
populate(objectMap, "plansDetails", r.PlansDetails)
populate(objectMap, "publisherId", r.PublisherID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RequestApprovalProperties.
func (r *RequestApprovalProperties) UnmarshalJSON(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 "isClosed":
err = unpopulate(val, "IsClosed", &r.IsClosed)
delete(rawMsg, key)
case "messageCode":
err = unpopulate(val, "MessageCode", &r.MessageCode)
delete(rawMsg, key)
case "offerDisplayName":
err = unpopulate(val, "OfferDisplayName", &r.OfferDisplayName)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &r.OfferID)
delete(rawMsg, key)
case "plansDetails":
err = unpopulate(val, "PlansDetails", &r.PlansDetails)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &r.PublisherID)
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 RequestApprovalResource.
func (r RequestApprovalResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", r.ID)
populate(objectMap, "name", r.Name)
populate(objectMap, "properties", r.Properties)
populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RequestApprovalResource.
func (r *RequestApprovalResource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &r.Properties)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RequestApprovalsDetails.
func (r RequestApprovalsDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "displayName", r.DisplayName)
populate(objectMap, "icon", r.Icon)
populate(objectMap, "messageCode", r.MessageCode)
populate(objectMap, "offerId", r.OfferID)
populate(objectMap, "plans", r.Plans)
populate(objectMap, "publisherId", r.PublisherID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RequestApprovalsDetails.
func (r *RequestApprovalsDetails) UnmarshalJSON(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 "displayName":
err = unpopulate(val, "DisplayName", &r.DisplayName)
delete(rawMsg, key)
case "icon":
err = unpopulate(val, "Icon", &r.Icon)
delete(rawMsg, key)
case "messageCode":
err = unpopulate(val, "MessageCode", &r.MessageCode)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &r.OfferID)
delete(rawMsg, key)
case "plans":
err = unpopulate(val, "Plans", &r.Plans)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &r.PublisherID)
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 RequestApprovalsList.
func (r RequestApprovalsList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "nextLink", r.NextLink)
populate(objectMap, "value", r.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RequestApprovalsList.
func (r *RequestApprovalsList) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "nextLink":
err = unpopulate(val, "NextLink", &r.NextLink)
delete(rawMsg, key)
case "value":
err = unpopulate(val, "Value", &r.Value)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RequestDetails.
func (r RequestDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "planIds", r.PlanIDs)
populate(objectMap, "publisherId", r.PublisherID)
populate(objectMap, "subscriptionId", r.SubscriptionID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type RequestDetails.
func (r *RequestDetails) UnmarshalJSON(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 "planIds":
err = unpopulate(val, "PlanIDs", &r.PlanIDs)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &r.PublisherID)
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 Resource.
func (r Resource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "id", r.ID)
populate(objectMap, "name", r.Name)
populate(objectMap, "systemData", r.SystemData)
populate(objectMap, "type", r.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Resource.
func (r *Resource) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "id":
err = unpopulate(val, "ID", &r.ID)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &r.Name)
delete(rawMsg, key)
case "systemData":
err = unpopulate(val, "SystemData", &r.SystemData)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &r.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", r, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SingleOperation.
func (s SingleOperation) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "display", s.Display)
populate(objectMap, "isDataAction", s.IsDataAction)
populate(objectMap, "name", s.Name)
populate(objectMap, "origin", s.Origin)
populateAny(objectMap, "properties", s.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SingleOperation.
func (s *SingleOperation) UnmarshalJSON(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 "display":
err = unpopulate(val, "Display", &s.Display)
delete(rawMsg, key)
case "isDataAction":
err = unpopulate(val, "IsDataAction", &s.IsDataAction)
delete(rawMsg, key)
case "name":
err = unpopulate(val, "Name", &s.Name)
delete(rawMsg, key)
case "origin":
err = unpopulate(val, "Origin", &s.Origin)
delete(rawMsg, key)
case "properties":
err = unpopulate(val, "Properties", &s.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type SingleOperationDisplay.
func (s SingleOperationDisplay) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "description", s.Description)
populate(objectMap, "operation", s.Operation)
populate(objectMap, "provider", s.Provider)
populate(objectMap, "resource", s.Resource)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SingleOperationDisplay.
func (s *SingleOperationDisplay) UnmarshalJSON(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 "description":
err = unpopulate(val, "Description", &s.Description)
delete(rawMsg, key)
case "operation":
err = unpopulate(val, "Operation", &s.Operation)
delete(rawMsg, key)
case "provider":
err = unpopulate(val, "Provider", &s.Provider)
delete(rawMsg, key)
case "resource":
err = unpopulate(val, "Resource", &s.Resource)
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 StopSellNotifications.
func (s StopSellNotifications) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "displayName", s.DisplayName)
populate(objectMap, "icon", s.Icon)
populate(objectMap, "isEntire", s.IsEntire)
populate(objectMap, "messageCode", s.MessageCode)
populate(objectMap, "offerId", s.OfferID)
populate(objectMap, "plans", s.Plans)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StopSellNotifications.
func (s *StopSellNotifications) UnmarshalJSON(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 "displayName":
err = unpopulate(val, "DisplayName", &s.DisplayName)
delete(rawMsg, key)
case "icon":
err = unpopulate(val, "Icon", &s.Icon)
delete(rawMsg, key)
case "isEntire":
err = unpopulate(val, "IsEntire", &s.IsEntire)
delete(rawMsg, key)
case "messageCode":
err = unpopulate(val, "MessageCode", &s.MessageCode)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &s.OfferID)
delete(rawMsg, key)
case "plans":
err = unpopulate(val, "Plans", &s.Plans)
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 StopSellOffersPlansNotificationsList.
func (s StopSellOffersPlansNotificationsList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "stopSellNotifications", s.StopSellNotifications)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StopSellOffersPlansNotificationsList.
func (s *StopSellOffersPlansNotificationsList) UnmarshalJSON(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 "stopSellNotifications":
err = unpopulate(val, "StopSellNotifications", &s.StopSellNotifications)
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 StopSellOffersPlansNotificationsListProperties.
func (s StopSellOffersPlansNotificationsListProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "displayName", s.DisplayName)
populate(objectMap, "icon", s.Icon)
populate(objectMap, "isEntire", s.IsEntire)
populate(objectMap, "messageCode", s.MessageCode)
populate(objectMap, "offerId", s.OfferID)
populate(objectMap, "plans", s.Plans)
populate(objectMap, "publicContext", s.PublicContext)
populate(objectMap, "subscriptionsIds", s.SubscriptionsIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StopSellOffersPlansNotificationsListProperties.
func (s *StopSellOffersPlansNotificationsListProperties) UnmarshalJSON(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 "displayName":
err = unpopulate(val, "DisplayName", &s.DisplayName)
delete(rawMsg, key)
case "icon":
err = unpopulate(val, "Icon", &s.Icon)
delete(rawMsg, key)
case "isEntire":
err = unpopulate(val, "IsEntire", &s.IsEntire)
delete(rawMsg, key)
case "messageCode":
err = unpopulate(val, "MessageCode", &s.MessageCode)
delete(rawMsg, key)
case "offerId":
err = unpopulate(val, "OfferID", &s.OfferID)
delete(rawMsg, key)
case "plans":
err = unpopulate(val, "Plans", &s.Plans)
delete(rawMsg, key)
case "publicContext":
err = unpopulate(val, "PublicContext", &s.PublicContext)
delete(rawMsg, key)
case "subscriptionsIds":
err = unpopulate(val, "SubscriptionsIDs", &s.SubscriptionsIDs)
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 StopSellSubscriptions.
func (s StopSellSubscriptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "subscriptions", s.Subscriptions)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type StopSellSubscriptions.
func (s *StopSellSubscriptions) UnmarshalJSON(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 "subscriptions":
err = unpopulate(val, "Subscriptions", &s.Subscriptions)
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 Subscription.
func (s Subscription) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "displayName", s.DisplayName)
populate(objectMap, "id", s.ID)
populate(objectMap, "state", s.State)
populate(objectMap, "subscriptionId", s.SubscriptionID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type Subscription.
func (s *Subscription) UnmarshalJSON(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 "displayName":
err = unpopulate(val, "DisplayName", &s.DisplayName)
delete(rawMsg, key)
case "id":
err = unpopulate(val, "ID", &s.ID)
delete(rawMsg, key)
case "state":
err = unpopulate(val, "State", &s.State)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &s.SubscriptionID)
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 SubscriptionsContextList.
func (s SubscriptionsContextList) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "subscriptionsIds", s.SubscriptionsIDs)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionsContextList.
func (s *SubscriptionsContextList) UnmarshalJSON(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 "subscriptionsIds":
err = unpopulate(val, "SubscriptionsIDs", &s.SubscriptionsIDs)
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 SubscriptionsResponse.
func (s SubscriptionsResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "count", s.Count)
populate(objectMap, "skipToken", s.SkipToken)
populate(objectMap, "value", s.Value)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type SubscriptionsResponse.
func (s *SubscriptionsResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", s, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "count":
err = unpopulate(val, "Count", &s.Count)
delete(rawMsg, key)
case "skipToken":
err = unpopulate(val, "SkipToken", &s.SkipToken)
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 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 TransferOffersDetails.
func (t TransferOffersDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "offerIdsList", t.OfferIDsList)
populate(objectMap, "operation", t.Operation)
populate(objectMap, "targetCollections", t.TargetCollections)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TransferOffersDetails.
func (t *TransferOffersDetails) UnmarshalJSON(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 "offerIdsList":
err = unpopulate(val, "OfferIDsList", &t.OfferIDsList)
delete(rawMsg, key)
case "operation":
err = unpopulate(val, "Operation", &t.Operation)
delete(rawMsg, key)
case "targetCollections":
err = unpopulate(val, "TargetCollections", &t.TargetCollections)
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 TransferOffersProperties.
func (t TransferOffersProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", t.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TransferOffersProperties.
func (t *TransferOffersProperties) UnmarshalJSON(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 "properties":
err = unpopulate(val, "Properties", &t.Properties)
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 TransferOffersResponse.
func (t TransferOffersResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "failed", t.Failed)
populate(objectMap, "succeeded", t.Succeeded)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type TransferOffersResponse.
func (t *TransferOffersResponse) UnmarshalJSON(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 "failed":
err = unpopulate(val, "Failed", &t.Failed)
delete(rawMsg, key)
case "succeeded":
err = unpopulate(val, "Succeeded", &t.Succeeded)
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 UserRequestDetails.
func (u UserRequestDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "date", u.Date)
populate(objectMap, "justification", u.Justification)
populate(objectMap, "subscriptionId", u.SubscriptionID)
populate(objectMap, "subscriptionName", u.SubscriptionName)
populate(objectMap, "user", u.User)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type UserRequestDetails.
func (u *UserRequestDetails) UnmarshalJSON(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 "date":
err = unpopulate(val, "Date", &u.Date)
delete(rawMsg, key)
case "justification":
err = unpopulate(val, "Justification", &u.Justification)
delete(rawMsg, key)
case "subscriptionId":
err = unpopulate(val, "SubscriptionID", &u.SubscriptionID)
delete(rawMsg, key)
case "subscriptionName":
err = unpopulate(val, "SubscriptionName", &u.SubscriptionName)
delete(rawMsg, key)
case "user":
err = unpopulate(val, "User", &u.User)
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 WithdrawDetails.
func (w WithdrawDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "planId", w.PlanID)
populate(objectMap, "publisherId", w.PublisherID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type WithdrawDetails.
func (w *WithdrawDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", w, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "planId":
err = unpopulate(val, "PlanID", &w.PlanID)
delete(rawMsg, key)
case "publisherId":
err = unpopulate(val, "PublisherID", &w.PublisherID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", w, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type WithdrawProperties.
func (w WithdrawProperties) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "properties", w.Properties)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type WithdrawProperties.
func (w *WithdrawProperties) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", w, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "properties":
err = unpopulate(val, "Properties", &w.Properties)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", w, err)
}
}
return nil
}
func populate(m map[string]any, k string, v any) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else if !reflect.ValueOf(v).IsNil() {
m[k] = v
}
}
func populateAny(m map[string]any, k string, v any) {
if v == nil {
return
} else if azcore.IsNullValue(v) {
m[k] = nil
} else {
m[k] = v
}
}
func unpopulate(data json.RawMessage, fn string, v any) error {
if data == nil {
return nil
}
if err := json.Unmarshal(data, v); err != nil {
return fmt.Errorf("struct field %s: %v", fn, err)
}
return nil
}