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

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

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

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

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