//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 armdatashare

import "encoding/json"

// AccountsClientCreateResponse contains the response from method AccountsClient.BeginCreate.
type AccountsClientCreateResponse struct {
	// An account data transfer object.
	Account
}

// AccountsClientDeleteResponse contains the response from method AccountsClient.BeginDelete.
type AccountsClientDeleteResponse struct {
	// Response for long running operation
	OperationResponse
}

// AccountsClientGetResponse contains the response from method AccountsClient.Get.
type AccountsClientGetResponse struct {
	// An account data transfer object.
	Account
}

// AccountsClientListByResourceGroupResponse contains the response from method AccountsClient.NewListByResourceGroupPager.
type AccountsClientListByResourceGroupResponse struct {
	// List response for get Accounts.
	AccountList
}

// AccountsClientListBySubscriptionResponse contains the response from method AccountsClient.NewListBySubscriptionPager.
type AccountsClientListBySubscriptionResponse struct {
	// List response for get Accounts.
	AccountList
}

// AccountsClientUpdateResponse contains the response from method AccountsClient.Update.
type AccountsClientUpdateResponse struct {
	// An account data transfer object.
	Account
}

// ConsumerInvitationsClientGetResponse contains the response from method ConsumerInvitationsClient.Get.
type ConsumerInvitationsClientGetResponse struct {
	// A consumer Invitation data transfer object.
	ConsumerInvitation
}

// ConsumerInvitationsClientListInvitationsResponse contains the response from method ConsumerInvitationsClient.NewListInvitationsPager.
type ConsumerInvitationsClientListInvitationsResponse struct {
	// List response for get InvitationList
	ConsumerInvitationList
}

// ConsumerInvitationsClientRejectInvitationResponse contains the response from method ConsumerInvitationsClient.RejectInvitation.
type ConsumerInvitationsClientRejectInvitationResponse struct {
	// A consumer Invitation data transfer object.
	ConsumerInvitation
}

// ConsumerSourceDataSetsClientListByShareSubscriptionResponse contains the response from method ConsumerSourceDataSetsClient.NewListByShareSubscriptionPager.
type ConsumerSourceDataSetsClientListByShareSubscriptionResponse struct {
	// A consumer side list of source dataSets
	ConsumerSourceDataSetList
}

// DataSetMappingsClientCreateResponse contains the response from method DataSetMappingsClient.Create.
type DataSetMappingsClientCreateResponse struct {
	// A data set mapping data transfer object.
	DataSetMappingClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type DataSetMappingsClientCreateResponse.
func (d *DataSetMappingsClientCreateResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalDataSetMappingClassification(data)
	if err != nil {
		return err
	}
	d.DataSetMappingClassification = res
	return nil
}

// DataSetMappingsClientDeleteResponse contains the response from method DataSetMappingsClient.Delete.
type DataSetMappingsClientDeleteResponse struct {
	// placeholder for future response values
}

// DataSetMappingsClientGetResponse contains the response from method DataSetMappingsClient.Get.
type DataSetMappingsClientGetResponse struct {
	// A data set mapping data transfer object.
	DataSetMappingClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type DataSetMappingsClientGetResponse.
func (d *DataSetMappingsClientGetResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalDataSetMappingClassification(data)
	if err != nil {
		return err
	}
	d.DataSetMappingClassification = res
	return nil
}

// DataSetMappingsClientListByShareSubscriptionResponse contains the response from method DataSetMappingsClient.NewListByShareSubscriptionPager.
type DataSetMappingsClientListByShareSubscriptionResponse struct {
	// List response for get DataSetMappings
	DataSetMappingList
}

// DataSetsClientCreateResponse contains the response from method DataSetsClient.Create.
type DataSetsClientCreateResponse struct {
	// A DataSet data transfer object.
	DataSetClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type DataSetsClientCreateResponse.
func (d *DataSetsClientCreateResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalDataSetClassification(data)
	if err != nil {
		return err
	}
	d.DataSetClassification = res
	return nil
}

// DataSetsClientDeleteResponse contains the response from method DataSetsClient.BeginDelete.
type DataSetsClientDeleteResponse struct {
	// placeholder for future response values
}

// DataSetsClientGetResponse contains the response from method DataSetsClient.Get.
type DataSetsClientGetResponse struct {
	// A DataSet data transfer object.
	DataSetClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type DataSetsClientGetResponse.
func (d *DataSetsClientGetResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalDataSetClassification(data)
	if err != nil {
		return err
	}
	d.DataSetClassification = res
	return nil
}

// DataSetsClientListByShareResponse contains the response from method DataSetsClient.NewListBySharePager.
type DataSetsClientListByShareResponse struct {
	// List response for get DataSets
	DataSetList
}

// EmailRegistrationsClientActivateEmailResponse contains the response from method EmailRegistrationsClient.ActivateEmail.
type EmailRegistrationsClientActivateEmailResponse struct {
	// Dto for tenant domain registration
	EmailRegistration
}

// EmailRegistrationsClientRegisterEmailResponse contains the response from method EmailRegistrationsClient.RegisterEmail.
type EmailRegistrationsClientRegisterEmailResponse struct {
	// Dto for tenant domain registration
	EmailRegistration
}

// InvitationsClientCreateResponse contains the response from method InvitationsClient.Create.
type InvitationsClientCreateResponse struct {
	// A Invitation data transfer object.
	Invitation
}

// InvitationsClientDeleteResponse contains the response from method InvitationsClient.Delete.
type InvitationsClientDeleteResponse struct {
	// placeholder for future response values
}

// InvitationsClientGetResponse contains the response from method InvitationsClient.Get.
type InvitationsClientGetResponse struct {
	// A Invitation data transfer object.
	Invitation
}

// InvitationsClientListByShareResponse contains the response from method InvitationsClient.NewListBySharePager.
type InvitationsClientListByShareResponse struct {
	// List response for get InvitationList
	InvitationList
}

// OperationsClientListResponse contains the response from method OperationsClient.NewListPager.
type OperationsClientListResponse struct {
	// List response for get operations.
	OperationList
}

// ProviderShareSubscriptionsClientAdjustResponse contains the response from method ProviderShareSubscriptionsClient.Adjust.
type ProviderShareSubscriptionsClientAdjustResponse struct {
	// A provider side share subscription data transfer object.
	ProviderShareSubscription
}

// ProviderShareSubscriptionsClientGetByShareResponse contains the response from method ProviderShareSubscriptionsClient.GetByShare.
type ProviderShareSubscriptionsClientGetByShareResponse struct {
	// A provider side share subscription data transfer object.
	ProviderShareSubscription
}

// ProviderShareSubscriptionsClientListByShareResponse contains the response from method ProviderShareSubscriptionsClient.NewListBySharePager.
type ProviderShareSubscriptionsClientListByShareResponse struct {
	// List response for get ShareSubscription.
	ProviderShareSubscriptionList
}

// ProviderShareSubscriptionsClientReinstateResponse contains the response from method ProviderShareSubscriptionsClient.Reinstate.
type ProviderShareSubscriptionsClientReinstateResponse struct {
	// A provider side share subscription data transfer object.
	ProviderShareSubscription
}

// ProviderShareSubscriptionsClientRevokeResponse contains the response from method ProviderShareSubscriptionsClient.BeginRevoke.
type ProviderShareSubscriptionsClientRevokeResponse struct {
	// A provider side share subscription data transfer object.
	ProviderShareSubscription
}

// ShareSubscriptionsClientCancelSynchronizationResponse contains the response from method ShareSubscriptionsClient.BeginCancelSynchronization.
type ShareSubscriptionsClientCancelSynchronizationResponse struct {
	// A ShareSubscriptionSynchronization data transfer object.
	ShareSubscriptionSynchronization
}

// ShareSubscriptionsClientCreateResponse contains the response from method ShareSubscriptionsClient.Create.
type ShareSubscriptionsClientCreateResponse struct {
	// A share subscription data transfer object.
	ShareSubscription
}

// ShareSubscriptionsClientDeleteResponse contains the response from method ShareSubscriptionsClient.BeginDelete.
type ShareSubscriptionsClientDeleteResponse struct {
	// Response for long running operation
	OperationResponse
}

// ShareSubscriptionsClientGetResponse contains the response from method ShareSubscriptionsClient.Get.
type ShareSubscriptionsClientGetResponse struct {
	// A share subscription data transfer object.
	ShareSubscription
}

// ShareSubscriptionsClientListByAccountResponse contains the response from method ShareSubscriptionsClient.NewListByAccountPager.
type ShareSubscriptionsClientListByAccountResponse struct {
	// List response for get ShareSubscription.
	ShareSubscriptionList
}

// ShareSubscriptionsClientListSourceShareSynchronizationSettingsResponse contains the response from method ShareSubscriptionsClient.NewListSourceShareSynchronizationSettingsPager.
type ShareSubscriptionsClientListSourceShareSynchronizationSettingsResponse struct {
	// List response for get source share Synchronization settings
	SourceShareSynchronizationSettingList
}

// ShareSubscriptionsClientListSynchronizationDetailsResponse contains the response from method ShareSubscriptionsClient.NewListSynchronizationDetailsPager.
type ShareSubscriptionsClientListSynchronizationDetailsResponse struct {
	// details of synchronization
	SynchronizationDetailsList
}

// ShareSubscriptionsClientListSynchronizationsResponse contains the response from method ShareSubscriptionsClient.NewListSynchronizationsPager.
type ShareSubscriptionsClientListSynchronizationsResponse struct {
	// A consumer side list of share subscription synchronizations
	ShareSubscriptionSynchronizationList
}

// ShareSubscriptionsClientSynchronizeResponse contains the response from method ShareSubscriptionsClient.BeginSynchronize.
type ShareSubscriptionsClientSynchronizeResponse struct {
	// A ShareSubscriptionSynchronization data transfer object.
	ShareSubscriptionSynchronization
}

// SharesClientCreateResponse contains the response from method SharesClient.Create.
type SharesClientCreateResponse struct {
	// A share data transfer object.
	Share
}

// SharesClientDeleteResponse contains the response from method SharesClient.BeginDelete.
type SharesClientDeleteResponse struct {
	// Response for long running operation
	OperationResponse
}

// SharesClientGetResponse contains the response from method SharesClient.Get.
type SharesClientGetResponse struct {
	// A share data transfer object.
	Share
}

// SharesClientListByAccountResponse contains the response from method SharesClient.NewListByAccountPager.
type SharesClientListByAccountResponse struct {
	// List response for get Shares.
	ShareList
}

// SharesClientListSynchronizationDetailsResponse contains the response from method SharesClient.NewListSynchronizationDetailsPager.
type SharesClientListSynchronizationDetailsResponse struct {
	// details of synchronization
	SynchronizationDetailsList
}

// SharesClientListSynchronizationsResponse contains the response from method SharesClient.NewListSynchronizationsPager.
type SharesClientListSynchronizationsResponse struct {
	// List response for get ShareSynchronization.
	ShareSynchronizationList
}

// SynchronizationSettingsClientCreateResponse contains the response from method SynchronizationSettingsClient.Create.
type SynchronizationSettingsClientCreateResponse struct {
	// A Synchronization Setting data transfer object.
	SynchronizationSettingClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type SynchronizationSettingsClientCreateResponse.
func (s *SynchronizationSettingsClientCreateResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalSynchronizationSettingClassification(data)
	if err != nil {
		return err
	}
	s.SynchronizationSettingClassification = res
	return nil
}

// SynchronizationSettingsClientDeleteResponse contains the response from method SynchronizationSettingsClient.BeginDelete.
type SynchronizationSettingsClientDeleteResponse struct {
	// Response for long running operation
	OperationResponse
}

// SynchronizationSettingsClientGetResponse contains the response from method SynchronizationSettingsClient.Get.
type SynchronizationSettingsClientGetResponse struct {
	// A Synchronization Setting data transfer object.
	SynchronizationSettingClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type SynchronizationSettingsClientGetResponse.
func (s *SynchronizationSettingsClientGetResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalSynchronizationSettingClassification(data)
	if err != nil {
		return err
	}
	s.SynchronizationSettingClassification = res
	return nil
}

// SynchronizationSettingsClientListByShareResponse contains the response from method SynchronizationSettingsClient.NewListBySharePager.
type SynchronizationSettingsClientListByShareResponse struct {
	// List response for get Synchronization settings
	SynchronizationSettingList
}

// TriggersClientCreateResponse contains the response from method TriggersClient.BeginCreate.
type TriggersClientCreateResponse struct {
	// A Trigger data transfer object.
	TriggerClassification
}

// MarshalJSON implements the json.Marshaller interface for type TriggersClientCreateResponse.
func (t TriggersClientCreateResponse) MarshalJSON() ([]byte, error) {
	return json.Marshal(t.TriggerClassification)
}

// UnmarshalJSON implements the json.Unmarshaller interface for type TriggersClientCreateResponse.
func (t *TriggersClientCreateResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalTriggerClassification(data)
	if err != nil {
		return err
	}
	t.TriggerClassification = res
	return nil
}

// TriggersClientDeleteResponse contains the response from method TriggersClient.BeginDelete.
type TriggersClientDeleteResponse struct {
	// Response for long running operation
	OperationResponse
}

// TriggersClientGetResponse contains the response from method TriggersClient.Get.
type TriggersClientGetResponse struct {
	// A Trigger data transfer object.
	TriggerClassification
}

// UnmarshalJSON implements the json.Unmarshaller interface for type TriggersClientGetResponse.
func (t *TriggersClientGetResponse) UnmarshalJSON(data []byte) error {
	res, err := unmarshalTriggerClassification(data)
	if err != nil {
		return err
	}
	t.TriggerClassification = res
	return nil
}

// TriggersClientListByShareSubscriptionResponse contains the response from method TriggersClient.NewListByShareSubscriptionPager.
type TriggersClientListByShareSubscriptionResponse struct {
	// List response for get triggers
	TriggerList
}
