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

package types_test

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

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

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

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

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

	}
}

var _ *string
var _ *string

func ExampleAnalyzerConfiguration_outputUsage() {
	var union types.AnalyzerConfiguration
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.AnalyzerConfigurationMemberInternalAccess:
		_ = v.Value // Value is types.InternalAccessConfiguration

	case *types.AnalyzerConfigurationMemberUnusedAccess:
		_ = v.Value // Value is types.UnusedAccessConfiguration

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

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

	}
}

var _ *types.UnusedAccessConfiguration
var _ *types.InternalAccessConfiguration

func ExampleConfiguration_outputUsage() {
	var union types.Configuration
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ConfigurationMemberDynamodbStream:
		_ = v.Value // Value is types.DynamodbStreamConfiguration

	case *types.ConfigurationMemberDynamodbTable:
		_ = v.Value // Value is types.DynamodbTableConfiguration

	case *types.ConfigurationMemberEbsSnapshot:
		_ = v.Value // Value is types.EbsSnapshotConfiguration

	case *types.ConfigurationMemberEcrRepository:
		_ = v.Value // Value is types.EcrRepositoryConfiguration

	case *types.ConfigurationMemberEfsFileSystem:
		_ = v.Value // Value is types.EfsFileSystemConfiguration

	case *types.ConfigurationMemberIamRole:
		_ = v.Value // Value is types.IamRoleConfiguration

	case *types.ConfigurationMemberKmsKey:
		_ = v.Value // Value is types.KmsKeyConfiguration

	case *types.ConfigurationMemberRdsDbClusterSnapshot:
		_ = v.Value // Value is types.RdsDbClusterSnapshotConfiguration

	case *types.ConfigurationMemberRdsDbSnapshot:
		_ = v.Value // Value is types.RdsDbSnapshotConfiguration

	case *types.ConfigurationMemberS3Bucket:
		_ = v.Value // Value is types.S3BucketConfiguration

	case *types.ConfigurationMemberS3ExpressDirectoryBucket:
		_ = v.Value // Value is types.S3ExpressDirectoryBucketConfiguration

	case *types.ConfigurationMemberSecretsManagerSecret:
		_ = v.Value // Value is types.SecretsManagerSecretConfiguration

	case *types.ConfigurationMemberSnsTopic:
		_ = v.Value // Value is types.SnsTopicConfiguration

	case *types.ConfigurationMemberSqsQueue:
		_ = v.Value // Value is types.SqsQueueConfiguration

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

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

	}
}

var _ *types.S3ExpressDirectoryBucketConfiguration
var _ *types.SnsTopicConfiguration
var _ *types.IamRoleConfiguration
var _ *types.SecretsManagerSecretConfiguration
var _ *types.EfsFileSystemConfiguration
var _ *types.KmsKeyConfiguration
var _ *types.DynamodbStreamConfiguration
var _ *types.SqsQueueConfiguration
var _ *types.EcrRepositoryConfiguration
var _ *types.RdsDbClusterSnapshotConfiguration
var _ *types.RdsDbSnapshotConfiguration
var _ *types.DynamodbTableConfiguration
var _ *types.S3BucketConfiguration
var _ *types.EbsSnapshotConfiguration

func ExampleFindingDetails_outputUsage() {
	var union types.FindingDetails
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.FindingDetailsMemberExternalAccessDetails:
		_ = v.Value // Value is types.ExternalAccessDetails

	case *types.FindingDetailsMemberInternalAccessDetails:
		_ = v.Value // Value is types.InternalAccessDetails

	case *types.FindingDetailsMemberUnusedIamRoleDetails:
		_ = v.Value // Value is types.UnusedIamRoleDetails

	case *types.FindingDetailsMemberUnusedIamUserAccessKeyDetails:
		_ = v.Value // Value is types.UnusedIamUserAccessKeyDetails

	case *types.FindingDetailsMemberUnusedIamUserPasswordDetails:
		_ = v.Value // Value is types.UnusedIamUserPasswordDetails

	case *types.FindingDetailsMemberUnusedPermissionDetails:
		_ = v.Value // Value is types.UnusedPermissionDetails

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

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

	}
}

var _ *types.InternalAccessDetails
var _ *types.ExternalAccessDetails
var _ *types.UnusedIamRoleDetails
var _ *types.UnusedPermissionDetails
var _ *types.UnusedIamUserAccessKeyDetails
var _ *types.UnusedIamUserPasswordDetails

func ExampleFindingsStatistics_outputUsage() {
	var union types.FindingsStatistics
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.FindingsStatisticsMemberExternalAccessFindingsStatistics:
		_ = v.Value // Value is types.ExternalAccessFindingsStatistics

	case *types.FindingsStatisticsMemberInternalAccessFindingsStatistics:
		_ = v.Value // Value is types.InternalAccessFindingsStatistics

	case *types.FindingsStatisticsMemberUnusedAccessFindingsStatistics:
		_ = v.Value // Value is types.UnusedAccessFindingsStatistics

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

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

	}
}

var _ *types.ExternalAccessFindingsStatistics
var _ *types.UnusedAccessFindingsStatistics
var _ *types.InternalAccessFindingsStatistics

func ExampleNetworkOriginConfiguration_outputUsage() {
	var union types.NetworkOriginConfiguration
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.NetworkOriginConfigurationMemberInternetConfiguration:
		_ = v.Value // Value is types.InternetConfiguration

	case *types.NetworkOriginConfigurationMemberVpcConfiguration:
		_ = v.Value // Value is types.VpcConfiguration

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

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

	}
}

var _ *types.VpcConfiguration
var _ *types.InternetConfiguration

func ExamplePathElement_outputUsage() {
	var union types.PathElement
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.PathElementMemberIndex:
		_ = v.Value // Value is int32

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

	case *types.PathElementMemberSubstring:
		_ = v.Value // Value is types.Substring

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

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

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

	}
}

var _ *string
var _ *int32
var _ *types.Substring

func ExampleRdsDbClusterSnapshotAttributeValue_outputUsage() {
	var union types.RdsDbClusterSnapshotAttributeValue
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.RdsDbClusterSnapshotAttributeValueMemberAccountIds:
		_ = v.Value // Value is []string

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

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

	}
}

var _ []string

func ExampleRdsDbSnapshotAttributeValue_outputUsage() {
	var union types.RdsDbSnapshotAttributeValue
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.RdsDbSnapshotAttributeValueMemberAccountIds:
		_ = v.Value // Value is []string

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

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

	}
}

var _ []string

func ExampleRecommendedStep_outputUsage() {
	var union types.RecommendedStep
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.RecommendedStepMemberUnusedPermissionsRecommendedStep:
		_ = v.Value // Value is types.UnusedPermissionsRecommendedStep

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

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

	}
}

var _ *types.UnusedPermissionsRecommendedStep
