// Code generated by smithy-go-codegen DO NOT EDIT.

package types_test

import (
	"fmt"
	"github.com/aws/aws-sdk-go-v2/service/appmesh/types"
)

func ExampleAccessLog_outputUsage() {
	var union types.AccessLog
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.AccessLogMemberFile:
		_ = v.Value // Value is types.FileAccessLog

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.FileAccessLog

func ExampleBackend_outputUsage() {
	var union types.Backend
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.BackendMemberVirtualService:
		_ = v.Value // Value is types.VirtualServiceBackend

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualServiceBackend

func ExampleClientTlsCertificate_outputUsage() {
	var union types.ClientTlsCertificate
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ClientTlsCertificateMemberFile:
		_ = v.Value // Value is types.ListenerTlsFileCertificate

	case *types.ClientTlsCertificateMemberSds:
		_ = v.Value // Value is types.ListenerTlsSdsCertificate

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.ListenerTlsSdsCertificate
var _ *types.ListenerTlsFileCertificate

func ExampleGrpcMetadataMatchMethod_outputUsage() {
	var union types.GrpcMetadataMatchMethod
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.GrpcMetadataMatchMethodMemberExact:
		_ = v.Value // Value is string

	case *types.GrpcMetadataMatchMethodMemberPrefix:
		_ = v.Value // Value is string

	case *types.GrpcMetadataMatchMethodMemberRange:
		_ = v.Value // Value is types.MatchRange

	case *types.GrpcMetadataMatchMethodMemberRegex:
		_ = v.Value // Value is string

	case *types.GrpcMetadataMatchMethodMemberSuffix:
		_ = v.Value // Value is string

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.MatchRange
var _ *string

func ExampleGrpcRouteMetadataMatchMethod_outputUsage() {
	var union types.GrpcRouteMetadataMatchMethod
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.GrpcRouteMetadataMatchMethodMemberExact:
		_ = v.Value // Value is string

	case *types.GrpcRouteMetadataMatchMethodMemberPrefix:
		_ = v.Value // Value is string

	case *types.GrpcRouteMetadataMatchMethodMemberRange:
		_ = v.Value // Value is types.MatchRange

	case *types.GrpcRouteMetadataMatchMethodMemberRegex:
		_ = v.Value // Value is string

	case *types.GrpcRouteMetadataMatchMethodMemberSuffix:
		_ = v.Value // Value is string

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.MatchRange
var _ *string

func ExampleHeaderMatchMethod_outputUsage() {
	var union types.HeaderMatchMethod
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.HeaderMatchMethodMemberExact:
		_ = v.Value // Value is string

	case *types.HeaderMatchMethodMemberPrefix:
		_ = v.Value // Value is string

	case *types.HeaderMatchMethodMemberRange:
		_ = v.Value // Value is types.MatchRange

	case *types.HeaderMatchMethodMemberRegex:
		_ = v.Value // Value is string

	case *types.HeaderMatchMethodMemberSuffix:
		_ = v.Value // Value is string

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.MatchRange
var _ *string

func ExampleListenerTimeout_outputUsage() {
	var union types.ListenerTimeout
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ListenerTimeoutMemberGrpc:
		_ = v.Value // Value is types.GrpcTimeout

	case *types.ListenerTimeoutMemberHttp:
		_ = v.Value // Value is types.HttpTimeout

	case *types.ListenerTimeoutMemberHttp2:
		_ = v.Value // Value is types.HttpTimeout

	case *types.ListenerTimeoutMemberTcp:
		_ = v.Value // Value is types.TcpTimeout

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.TcpTimeout
var _ *types.HttpTimeout
var _ *types.GrpcTimeout

func ExampleListenerTlsCertificate_outputUsage() {
	var union types.ListenerTlsCertificate
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ListenerTlsCertificateMemberAcm:
		_ = v.Value // Value is types.ListenerTlsAcmCertificate

	case *types.ListenerTlsCertificateMemberFile:
		_ = v.Value // Value is types.ListenerTlsFileCertificate

	case *types.ListenerTlsCertificateMemberSds:
		_ = v.Value // Value is types.ListenerTlsSdsCertificate

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.ListenerTlsAcmCertificate
var _ *types.ListenerTlsSdsCertificate
var _ *types.ListenerTlsFileCertificate

func ExampleListenerTlsValidationContextTrust_outputUsage() {
	var union types.ListenerTlsValidationContextTrust
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ListenerTlsValidationContextTrustMemberFile:
		_ = v.Value // Value is types.TlsValidationContextFileTrust

	case *types.ListenerTlsValidationContextTrustMemberSds:
		_ = v.Value // Value is types.TlsValidationContextSdsTrust

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.TlsValidationContextFileTrust
var _ *types.TlsValidationContextSdsTrust

func ExampleLoggingFormat_outputUsage() {
	var union types.LoggingFormat
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.LoggingFormatMemberJson:
		_ = v.Value // Value is []types.JsonFormatRef

	case *types.LoggingFormatMemberText:
		_ = v.Value // Value is string

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ []types.JsonFormatRef
var _ *string

func ExampleServiceDiscovery_outputUsage() {
	var union types.ServiceDiscovery
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ServiceDiscoveryMemberAwsCloudMap:
		_ = v.Value // Value is types.AwsCloudMapServiceDiscovery

	case *types.ServiceDiscoveryMemberDns:
		_ = v.Value // Value is types.DnsServiceDiscovery

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.AwsCloudMapServiceDiscovery
var _ *types.DnsServiceDiscovery

func ExampleTlsValidationContextTrust_outputUsage() {
	var union types.TlsValidationContextTrust
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.TlsValidationContextTrustMemberAcm:
		_ = v.Value // Value is types.TlsValidationContextAcmTrust

	case *types.TlsValidationContextTrustMemberFile:
		_ = v.Value // Value is types.TlsValidationContextFileTrust

	case *types.TlsValidationContextTrustMemberSds:
		_ = v.Value // Value is types.TlsValidationContextSdsTrust

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.TlsValidationContextAcmTrust
var _ *types.TlsValidationContextFileTrust
var _ *types.TlsValidationContextSdsTrust

func ExampleVirtualGatewayAccessLog_outputUsage() {
	var union types.VirtualGatewayAccessLog
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualGatewayAccessLogMemberFile:
		_ = v.Value // Value is types.VirtualGatewayFileAccessLog

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualGatewayFileAccessLog

func ExampleVirtualGatewayClientTlsCertificate_outputUsage() {
	var union types.VirtualGatewayClientTlsCertificate
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualGatewayClientTlsCertificateMemberFile:
		_ = v.Value // Value is types.VirtualGatewayListenerTlsFileCertificate

	case *types.VirtualGatewayClientTlsCertificateMemberSds:
		_ = v.Value // Value is types.VirtualGatewayListenerTlsSdsCertificate

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualGatewayListenerTlsFileCertificate
var _ *types.VirtualGatewayListenerTlsSdsCertificate

func ExampleVirtualGatewayConnectionPool_outputUsage() {
	var union types.VirtualGatewayConnectionPool
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualGatewayConnectionPoolMemberGrpc:
		_ = v.Value // Value is types.VirtualGatewayGrpcConnectionPool

	case *types.VirtualGatewayConnectionPoolMemberHttp:
		_ = v.Value // Value is types.VirtualGatewayHttpConnectionPool

	case *types.VirtualGatewayConnectionPoolMemberHttp2:
		_ = v.Value // Value is types.VirtualGatewayHttp2ConnectionPool

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualGatewayHttpConnectionPool
var _ *types.VirtualGatewayHttp2ConnectionPool
var _ *types.VirtualGatewayGrpcConnectionPool

func ExampleVirtualGatewayListenerTlsCertificate_outputUsage() {
	var union types.VirtualGatewayListenerTlsCertificate
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualGatewayListenerTlsCertificateMemberAcm:
		_ = v.Value // Value is types.VirtualGatewayListenerTlsAcmCertificate

	case *types.VirtualGatewayListenerTlsCertificateMemberFile:
		_ = v.Value // Value is types.VirtualGatewayListenerTlsFileCertificate

	case *types.VirtualGatewayListenerTlsCertificateMemberSds:
		_ = v.Value // Value is types.VirtualGatewayListenerTlsSdsCertificate

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualGatewayListenerTlsFileCertificate
var _ *types.VirtualGatewayListenerTlsAcmCertificate
var _ *types.VirtualGatewayListenerTlsSdsCertificate

func ExampleVirtualGatewayListenerTlsValidationContextTrust_outputUsage() {
	var union types.VirtualGatewayListenerTlsValidationContextTrust
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualGatewayListenerTlsValidationContextTrustMemberFile:
		_ = v.Value // Value is types.VirtualGatewayTlsValidationContextFileTrust

	case *types.VirtualGatewayListenerTlsValidationContextTrustMemberSds:
		_ = v.Value // Value is types.VirtualGatewayTlsValidationContextSdsTrust

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualGatewayTlsValidationContextSdsTrust
var _ *types.VirtualGatewayTlsValidationContextFileTrust

func ExampleVirtualGatewayTlsValidationContextTrust_outputUsage() {
	var union types.VirtualGatewayTlsValidationContextTrust
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualGatewayTlsValidationContextTrustMemberAcm:
		_ = v.Value // Value is types.VirtualGatewayTlsValidationContextAcmTrust

	case *types.VirtualGatewayTlsValidationContextTrustMemberFile:
		_ = v.Value // Value is types.VirtualGatewayTlsValidationContextFileTrust

	case *types.VirtualGatewayTlsValidationContextTrustMemberSds:
		_ = v.Value // Value is types.VirtualGatewayTlsValidationContextSdsTrust

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualGatewayTlsValidationContextAcmTrust
var _ *types.VirtualGatewayTlsValidationContextSdsTrust
var _ *types.VirtualGatewayTlsValidationContextFileTrust

func ExampleVirtualNodeConnectionPool_outputUsage() {
	var union types.VirtualNodeConnectionPool
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualNodeConnectionPoolMemberGrpc:
		_ = v.Value // Value is types.VirtualNodeGrpcConnectionPool

	case *types.VirtualNodeConnectionPoolMemberHttp:
		_ = v.Value // Value is types.VirtualNodeHttpConnectionPool

	case *types.VirtualNodeConnectionPoolMemberHttp2:
		_ = v.Value // Value is types.VirtualNodeHttp2ConnectionPool

	case *types.VirtualNodeConnectionPoolMemberTcp:
		_ = v.Value // Value is types.VirtualNodeTcpConnectionPool

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualNodeGrpcConnectionPool
var _ *types.VirtualNodeTcpConnectionPool
var _ *types.VirtualNodeHttp2ConnectionPool
var _ *types.VirtualNodeHttpConnectionPool

func ExampleVirtualServiceProvider_outputUsage() {
	var union types.VirtualServiceProvider
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.VirtualServiceProviderMemberVirtualNode:
		_ = v.Value // Value is types.VirtualNodeServiceProvider

	case *types.VirtualServiceProviderMemberVirtualRouter:
		_ = v.Value // Value is types.VirtualRouterServiceProvider

	case *types.UnknownUnionMember:
		fmt.Println("unknown tag:", v.Tag)

	default:
		fmt.Println("union is nil or unknown type")

	}
}

var _ *types.VirtualRouterServiceProvider
var _ *types.VirtualNodeServiceProvider
