// 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) Go Code Generator. DO NOT EDIT.

package armstoragemover

// CredentialsClassification provides polymorphic access to related types.
// Call the interface's GetCredentials() method to access the common type.
// Use a type switch to determine the concrete type.  The possible types are:
// - *AzureKeyVaultSmbCredentials, *Credentials
type CredentialsClassification interface {
	// GetCredentials returns the Credentials content of the underlying type.
	GetCredentials() *Credentials
}

// EndpointBasePropertiesClassification provides polymorphic access to related types.
// Call the interface's GetEndpointBaseProperties() method to access the common type.
// Use a type switch to determine the concrete type.  The possible types are:
// - *AzureMultiCloudConnectorEndpointProperties, *AzureStorageBlobContainerEndpointProperties, *AzureStorageNfsFileShareEndpointProperties,
// - *AzureStorageSmbFileShareEndpointProperties, *EndpointBaseProperties, *NfsMountEndpointProperties, *SmbMountEndpointProperties
type EndpointBasePropertiesClassification interface {
	// GetEndpointBaseProperties returns the EndpointBaseProperties content of the underlying type.
	GetEndpointBaseProperties() *EndpointBaseProperties
}

// EndpointBaseUpdatePropertiesClassification provides polymorphic access to related types.
// Call the interface's GetEndpointBaseUpdateProperties() method to access the common type.
// Use a type switch to determine the concrete type.  The possible types are:
// - *AzureMultiCloudConnectorEndpointUpdateProperties, *AzureStorageBlobContainerEndpointUpdateProperties, *AzureStorageNfsFileShareEndpointUpdateProperties,
// - *AzureStorageSmbFileShareEndpointUpdateProperties, *EndpointBaseUpdateProperties, *NfsMountEndpointUpdateProperties,
// - *SmbMountEndpointUpdateProperties
type EndpointBaseUpdatePropertiesClassification interface {
	// GetEndpointBaseUpdateProperties returns the EndpointBaseUpdateProperties content of the underlying type.
	GetEndpointBaseUpdateProperties() *EndpointBaseUpdateProperties
}
