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

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

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

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

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

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

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