func()

in sdk/resourcemanager/consumption/armconsumption/models_serde.go [1818:1970]


func (l *LegacyUsageDetailProperties) UnmarshalJSON(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 "accountName":
			err = unpopulate(val, "AccountName", &l.AccountName)
			delete(rawMsg, key)
		case "accountOwnerId":
			err = unpopulate(val, "AccountOwnerID", &l.AccountOwnerID)
			delete(rawMsg, key)
		case "additionalInfo":
			err = unpopulate(val, "AdditionalInfo", &l.AdditionalInfo)
			delete(rawMsg, key)
		case "benefitId":
			err = unpopulate(val, "BenefitID", &l.BenefitID)
			delete(rawMsg, key)
		case "benefitName":
			err = unpopulate(val, "BenefitName", &l.BenefitName)
			delete(rawMsg, key)
		case "billingAccountId":
			err = unpopulate(val, "BillingAccountID", &l.BillingAccountID)
			delete(rawMsg, key)
		case "billingAccountName":
			err = unpopulate(val, "BillingAccountName", &l.BillingAccountName)
			delete(rawMsg, key)
		case "billingCurrency":
			err = unpopulate(val, "BillingCurrency", &l.BillingCurrency)
			delete(rawMsg, key)
		case "billingPeriodEndDate":
			err = unpopulateDateTimeRFC3339(val, "BillingPeriodEndDate", &l.BillingPeriodEndDate)
			delete(rawMsg, key)
		case "billingPeriodStartDate":
			err = unpopulateDateTimeRFC3339(val, "BillingPeriodStartDate", &l.BillingPeriodStartDate)
			delete(rawMsg, key)
		case "billingProfileId":
			err = unpopulate(val, "BillingProfileID", &l.BillingProfileID)
			delete(rawMsg, key)
		case "billingProfileName":
			err = unpopulate(val, "BillingProfileName", &l.BillingProfileName)
			delete(rawMsg, key)
		case "chargeType":
			err = unpopulate(val, "ChargeType", &l.ChargeType)
			delete(rawMsg, key)
		case "consumedService":
			err = unpopulate(val, "ConsumedService", &l.ConsumedService)
			delete(rawMsg, key)
		case "cost":
			err = unpopulate(val, "Cost", &l.Cost)
			delete(rawMsg, key)
		case "costCenter":
			err = unpopulate(val, "CostCenter", &l.CostCenter)
			delete(rawMsg, key)
		case "date":
			err = unpopulateDateTimeRFC3339(val, "Date", &l.Date)
			delete(rawMsg, key)
		case "effectivePrice":
			err = unpopulate(val, "EffectivePrice", &l.EffectivePrice)
			delete(rawMsg, key)
		case "frequency":
			err = unpopulate(val, "Frequency", &l.Frequency)
			delete(rawMsg, key)
		case "invoiceSection":
			err = unpopulate(val, "InvoiceSection", &l.InvoiceSection)
			delete(rawMsg, key)
		case "isAzureCreditEligible":
			err = unpopulate(val, "IsAzureCreditEligible", &l.IsAzureCreditEligible)
			delete(rawMsg, key)
		case "meterDetails":
			err = unpopulate(val, "MeterDetails", &l.MeterDetails)
			delete(rawMsg, key)
		case "meterId":
			err = unpopulate(val, "MeterID", &l.MeterID)
			delete(rawMsg, key)
		case "offerId":
			err = unpopulate(val, "OfferID", &l.OfferID)
			delete(rawMsg, key)
		case "partNumber":
			err = unpopulate(val, "PartNumber", &l.PartNumber)
			delete(rawMsg, key)
		case "payGPrice":
			err = unpopulate(val, "PayGPrice", &l.PayGPrice)
			delete(rawMsg, key)
		case "planName":
			err = unpopulate(val, "PlanName", &l.PlanName)
			delete(rawMsg, key)
		case "pricingModel":
			err = unpopulate(val, "PricingModel", &l.PricingModel)
			delete(rawMsg, key)
		case "product":
			err = unpopulate(val, "Product", &l.Product)
			delete(rawMsg, key)
		case "productOrderId":
			err = unpopulate(val, "ProductOrderID", &l.ProductOrderID)
			delete(rawMsg, key)
		case "productOrderName":
			err = unpopulate(val, "ProductOrderName", &l.ProductOrderName)
			delete(rawMsg, key)
		case "publisherName":
			err = unpopulate(val, "PublisherName", &l.PublisherName)
			delete(rawMsg, key)
		case "publisherType":
			err = unpopulate(val, "PublisherType", &l.PublisherType)
			delete(rawMsg, key)
		case "quantity":
			err = unpopulate(val, "Quantity", &l.Quantity)
			delete(rawMsg, key)
		case "reservationId":
			err = unpopulate(val, "ReservationID", &l.ReservationID)
			delete(rawMsg, key)
		case "reservationName":
			err = unpopulate(val, "ReservationName", &l.ReservationName)
			delete(rawMsg, key)
		case "resourceGroup":
			err = unpopulate(val, "ResourceGroup", &l.ResourceGroup)
			delete(rawMsg, key)
		case "resourceId":
			err = unpopulate(val, "ResourceID", &l.ResourceID)
			delete(rawMsg, key)
		case "resourceLocation":
			err = unpopulate(val, "ResourceLocation", &l.ResourceLocation)
			delete(rawMsg, key)
		case "resourceName":
			err = unpopulate(val, "ResourceName", &l.ResourceName)
			delete(rawMsg, key)
		case "serviceInfo1":
			err = unpopulate(val, "ServiceInfo1", &l.ServiceInfo1)
			delete(rawMsg, key)
		case "serviceInfo2":
			err = unpopulate(val, "ServiceInfo2", &l.ServiceInfo2)
			delete(rawMsg, key)
		case "subscriptionId":
			err = unpopulate(val, "SubscriptionID", &l.SubscriptionID)
			delete(rawMsg, key)
		case "subscriptionName":
			err = unpopulate(val, "SubscriptionName", &l.SubscriptionName)
			delete(rawMsg, key)
		case "term":
			err = unpopulate(val, "Term", &l.Term)
			delete(rawMsg, key)
		case "unitPrice":
			err = unpopulate(val, "UnitPrice", &l.UnitPrice)
			delete(rawMsg, key)
		}
		if err != nil {
			return fmt.Errorf("unmarshalling type %T: %v", l, err)
		}
	}
	return nil
}