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

package types_test

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

func ExampleAdditionalServiceDetails_outputUsage() {
	var union types.AdditionalServiceDetails
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.AdditionalServiceDetailsMemberAzuredevops:
		_ = v.Value // Value is types.RegisteredAzureDevOpsServiceDetails

	case *types.AdditionalServiceDetailsMemberAzureidentity:
		_ = v.Value // Value is types.RegisteredAzureIdentityDetails

	case *types.AdditionalServiceDetailsMemberGithub:
		_ = v.Value // Value is types.RegisteredGithubServiceDetails

	case *types.AdditionalServiceDetailsMemberGitlab:
		_ = v.Value // Value is types.RegisteredGitLabServiceDetails

	case *types.AdditionalServiceDetailsMemberMcpserver:
		_ = v.Value // Value is types.RegisteredMCPServerDetails

	case *types.AdditionalServiceDetailsMemberMcpserverdatadog:
		_ = v.Value // Value is types.RegisteredMCPServerDetails

	case *types.AdditionalServiceDetailsMemberMcpservergrafana:
		_ = v.Value // Value is types.RegisteredGrafanaServerDetails

	case *types.AdditionalServiceDetailsMemberMcpservernewrelic:
		_ = v.Value // Value is types.RegisteredNewRelicDetails

	case *types.AdditionalServiceDetailsMemberMcpserversigv4:
		_ = v.Value // Value is types.RegisteredMCPServerSigV4Details

	case *types.AdditionalServiceDetailsMemberMcpserversplunk:
		_ = v.Value // Value is types.RegisteredMCPServerDetails

	case *types.AdditionalServiceDetailsMemberPagerduty:
		_ = v.Value // Value is types.RegisteredPagerDutyDetails

	case *types.AdditionalServiceDetailsMemberRemoteagent:
		_ = v.Value // Value is types.RegisteredRemoteAgentDetails

	case *types.AdditionalServiceDetailsMemberRemoteagentsigv4:
		_ = v.Value // Value is types.RegisteredRemoteAgentSigV4Details

	case *types.AdditionalServiceDetailsMemberServicenow:
		_ = v.Value // Value is types.RegisteredServiceNowDetails

	case *types.AdditionalServiceDetailsMemberSlack:
		_ = v.Value // Value is types.RegisteredSlackServiceDetails

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

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

	}
}

var _ *types.RegisteredRemoteAgentDetails
var _ *types.RegisteredNewRelicDetails
var _ *types.RegisteredGithubServiceDetails
var _ *types.RegisteredGitLabServiceDetails
var _ *types.RegisteredMCPServerDetails
var _ *types.RegisteredRemoteAgentSigV4Details
var _ *types.RegisteredAzureDevOpsServiceDetails
var _ *types.RegisteredAzureIdentityDetails
var _ *types.RegisteredSlackServiceDetails
var _ *types.RegisteredPagerDutyDetails
var _ *types.RegisteredMCPServerSigV4Details
var _ *types.RegisteredGrafanaServerDetails
var _ *types.RegisteredServiceNowDetails

func ExampleAdditionalServiceRegistrationStep_outputUsage() {
	var union types.AdditionalServiceRegistrationStep
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.AdditionalServiceRegistrationStepMemberOauth:
		_ = v.Value // Value is types.OAuthAdditionalStepDetails

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

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

	}
}

var _ *types.OAuthAdditionalStepDetails

func ExampleAssetContent_outputUsage() {
	var union types.AssetContent
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.AssetContentMemberFile:
		_ = v.Value // Value is types.AssetFileContent

	case *types.AssetContentMemberSourceUrl:
		_ = v.Value // Value is types.AssetSourceUrlContent

	case *types.AssetContentMemberZip:
		_ = v.Value // Value is types.AssetZipContent

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

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

	}
}

var _ *types.AssetFileContent
var _ *types.AssetZipContent
var _ *types.AssetSourceUrlContent

func ExampleAssetFileBody_outputUsage() {
	var union types.AssetFileBody
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.AssetFileBodyMemberBytes:
		_ = v.Value // Value is []byte

	case *types.AssetFileBodyMemberText:
		_ = 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 _ []byte

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

	case *types.AssistantMessageBlockMemberToolUse:
		_ = v.Value // Value is document.Interface

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

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

	}
}

var _ document.Interface
var _ *string

func ExampleDatadogAuthorizationConfig_outputUsage() {
	var union types.DatadogAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.DatadogAuthorizationConfigMemberAuthorizationDiscovery:
		_ = v.Value // Value is types.MCPServerAuthorizationDiscoveryConfig

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

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

	}
}

var _ *types.MCPServerAuthorizationDiscoveryConfig

func ExampleDynatraceServiceAuthorizationConfig_outputUsage() {
	var union types.DynatraceServiceAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.DynatraceServiceAuthorizationConfigMemberOAuthClientCredentials:
		_ = v.Value // Value is types.DynatraceOAuthClientCredentialsConfig

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

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

	}
}

var _ *types.DynatraceOAuthClientCredentialsConfig

func ExampleMCPServerAuthorizationConfig_outputUsage() {
	var union types.MCPServerAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.MCPServerAuthorizationConfigMemberApiKey:
		_ = v.Value // Value is types.MCPServerAPIKeyConfig

	case *types.MCPServerAuthorizationConfigMemberAuthorizationDiscovery:
		_ = v.Value // Value is types.MCPServerAuthorizationDiscoveryConfig

	case *types.MCPServerAuthorizationConfigMemberBearerToken:
		_ = v.Value // Value is types.MCPServerBearerTokenConfig

	case *types.MCPServerAuthorizationConfigMemberOAuth3LO:
		_ = v.Value // Value is types.MCPServerOAuth3LOConfig

	case *types.MCPServerAuthorizationConfigMemberOAuthClientCredentials:
		_ = v.Value // Value is types.MCPServerOAuthClientCredentialsConfig

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

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

	}
}

var _ *types.MCPServerAPIKeyConfig
var _ *types.MCPServerOAuth3LOConfig
var _ *types.MCPServerOAuthClientCredentialsConfig
var _ *types.MCPServerAuthorizationDiscoveryConfig
var _ *types.MCPServerBearerTokenConfig

func ExampleMessage_outputUsage() {
	var union types.Message
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.MessageMemberAssistantMessage:
		_ = v.Value // Value is []types.AssistantMessageBlock

	case *types.MessageMemberUserMessage:
		_ = v.Value // Value is []types.UserMessageBlock

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

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

	}
}

var _ []types.AssistantMessageBlock
var _ []types.UserMessageBlock

func ExampleNewRelicServiceAuthorizationConfig_outputUsage() {
	var union types.NewRelicServiceAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.NewRelicServiceAuthorizationConfigMemberApiKey:
		_ = v.Value // Value is types.NewRelicApiKeyConfig

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

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

	}
}

var _ *types.NewRelicApiKeyConfig

func ExamplePagerDutyAuthorizationConfig_outputUsage() {
	var union types.PagerDutyAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.PagerDutyAuthorizationConfigMemberOAuthClientCredentials:
		_ = v.Value // Value is types.PagerDutyOAuthClientCredentialsConfig

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

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

	}
}

var _ *types.PagerDutyOAuthClientCredentialsConfig

func ExamplePrivateConnectionMode_outputUsage() {
	var union types.PrivateConnectionMode
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.PrivateConnectionModeMemberSelfManaged:
		_ = v.Value // Value is types.SelfManagedInput

	case *types.PrivateConnectionModeMemberServiceManaged:
		_ = v.Value // Value is types.ServiceManagedInput

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

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

	}
}

var _ *types.SelfManagedInput
var _ *types.ServiceManagedInput

func ExampleRemoteAgentAuthorizationConfig_outputUsage() {
	var union types.RemoteAgentAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.RemoteAgentAuthorizationConfigMemberApiKey:
		_ = v.Value // Value is types.RemoteAgentAPIKeyConfig

	case *types.RemoteAgentAuthorizationConfigMemberBearerToken:
		_ = v.Value // Value is types.RemoteAgentBearerTokenConfig

	case *types.RemoteAgentAuthorizationConfigMemberOAuthClientCredentials:
		_ = v.Value // Value is types.RemoteAgentOAuthClientCredentialsConfig

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

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

	}
}

var _ *types.RemoteAgentAPIKeyConfig
var _ *types.RemoteAgentBearerTokenConfig
var _ *types.RemoteAgentOAuthClientCredentialsConfig

func ExampleSendMessageContentBlockDelta_outputUsage() {
	var union types.SendMessageContentBlockDelta
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.SendMessageContentBlockDeltaMemberJsonDelta:
		_ = v.Value // Value is types.SendMessageJsonDelta

	case *types.SendMessageContentBlockDeltaMemberTextDelta:
		_ = v.Value // Value is types.SendMessageTextDelta

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

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

	}
}

var _ *types.SendMessageJsonDelta
var _ *types.SendMessageTextDelta

func ExampleSendMessageEvents_outputUsage() {
	var union types.SendMessageEvents
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.SendMessageEventsMemberContentBlockDelta:
		_ = v.Value // Value is types.SendMessageContentBlockDeltaEvent

	case *types.SendMessageEventsMemberContentBlockStart:
		_ = v.Value // Value is types.SendMessageContentBlockStartEvent

	case *types.SendMessageEventsMemberContentBlockStop:
		_ = v.Value // Value is types.SendMessageContentBlockStopEvent

	case *types.SendMessageEventsMemberHeartbeat:
		_ = v.Value // Value is types.SendMessageHeartbeatEvent

	case *types.SendMessageEventsMemberResponseCompleted:
		_ = v.Value // Value is types.SendMessageResponseCompletedEvent

	case *types.SendMessageEventsMemberResponseCreated:
		_ = v.Value // Value is types.SendMessageResponseCreatedEvent

	case *types.SendMessageEventsMemberResponseFailed:
		_ = v.Value // Value is types.SendMessageResponseFailedEvent

	case *types.SendMessageEventsMemberResponseInProgress:
		_ = v.Value // Value is types.SendMessageResponseInProgressEvent

	case *types.SendMessageEventsMemberSummary:
		_ = v.Value // Value is types.SendMessageSummaryEvent

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

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

	}
}

var _ *types.SendMessageContentBlockDeltaEvent
var _ *types.SendMessageSummaryEvent
var _ *types.SendMessageResponseFailedEvent
var _ *types.SendMessageContentBlockStopEvent
var _ *types.SendMessageResponseCreatedEvent
var _ *types.SendMessageHeartbeatEvent
var _ *types.SendMessageResponseCompletedEvent
var _ *types.SendMessageContentBlockStartEvent
var _ *types.SendMessageResponseInProgressEvent

func ExampleServiceConfiguration_outputUsage() {
	var union types.ServiceConfiguration
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ServiceConfigurationMemberAws:
		_ = v.Value // Value is types.AWSConfiguration

	case *types.ServiceConfigurationMemberAzure:
		_ = v.Value // Value is types.AzureConfiguration

	case *types.ServiceConfigurationMemberAzuredevops:
		_ = v.Value // Value is types.AzureDevOpsConfiguration

	case *types.ServiceConfigurationMemberDynatrace:
		_ = v.Value // Value is types.DynatraceConfiguration

	case *types.ServiceConfigurationMemberEventChannel:
		_ = v.Value // Value is types.EventChannelConfiguration

	case *types.ServiceConfigurationMemberGithub:
		_ = v.Value // Value is types.GitHubConfiguration

	case *types.ServiceConfigurationMemberGitlab:
		_ = v.Value // Value is types.GitLabConfiguration

	case *types.ServiceConfigurationMemberMcpserver:
		_ = v.Value // Value is types.MCPServerConfiguration

	case *types.ServiceConfigurationMemberMcpserverdatadog:
		_ = v.Value // Value is types.MCPServerDatadogConfiguration

	case *types.ServiceConfigurationMemberMcpservergrafana:
		_ = v.Value // Value is types.MCPServerGrafanaConfiguration

	case *types.ServiceConfigurationMemberMcpservernewrelic:
		_ = v.Value // Value is types.MCPServerNewRelicConfiguration

	case *types.ServiceConfigurationMemberMcpserversigv4:
		_ = v.Value // Value is types.MCPServerSigV4Configuration

	case *types.ServiceConfigurationMemberMcpserversplunk:
		_ = v.Value // Value is types.MCPServerSplunkConfiguration

	case *types.ServiceConfigurationMemberPagerduty:
		_ = v.Value // Value is types.PagerDutyConfiguration

	case *types.ServiceConfigurationMemberRemoteagent:
		_ = v.Value // Value is types.RemoteAgentConfiguration

	case *types.ServiceConfigurationMemberRemoteagentsigv4:
		_ = v.Value // Value is types.RemoteAgentSigV4Configuration

	case *types.ServiceConfigurationMemberServicenow:
		_ = v.Value // Value is types.ServiceNowConfiguration

	case *types.ServiceConfigurationMemberSlack:
		_ = v.Value // Value is types.SlackConfiguration

	case *types.ServiceConfigurationMemberSourceAws:
		_ = v.Value // Value is types.SourceAwsConfiguration

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

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

	}
}

var _ *types.AzureDevOpsConfiguration
var _ *types.RemoteAgentSigV4Configuration
var _ *types.MCPServerNewRelicConfiguration
var _ *types.DynatraceConfiguration
var _ *types.PagerDutyConfiguration
var _ *types.MCPServerSplunkConfiguration
var _ *types.ServiceNowConfiguration
var _ *types.MCPServerSigV4Configuration
var _ *types.EventChannelConfiguration
var _ *types.GitLabConfiguration
var _ *types.MCPServerConfiguration
var _ *types.AzureConfiguration
var _ *types.SlackConfiguration
var _ *types.MCPServerDatadogConfiguration
var _ *types.RemoteAgentConfiguration
var _ *types.MCPServerGrafanaConfiguration
var _ *types.SourceAwsConfiguration
var _ *types.AWSConfiguration
var _ *types.GitHubConfiguration

func ExampleServiceDetails_outputUsage() {
	var union types.ServiceDetails
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ServiceDetailsMemberAzureidentity:
		_ = v.Value // Value is types.RegisteredAzureIdentityDetails

	case *types.ServiceDetailsMemberDynatrace:
		_ = v.Value // Value is types.DynatraceServiceDetails

	case *types.ServiceDetailsMemberEventChannel:
		_ = v.Value // Value is types.EventChannelDetails

	case *types.ServiceDetailsMemberGitlab:
		_ = v.Value // Value is types.GitLabDetails

	case *types.ServiceDetailsMemberMcpserver:
		_ = v.Value // Value is types.MCPServerDetails

	case *types.ServiceDetailsMemberMcpserverdatadog:
		_ = v.Value // Value is types.DatadogServiceDetails

	case *types.ServiceDetailsMemberMcpservergrafana:
		_ = v.Value // Value is types.GrafanaServiceDetails

	case *types.ServiceDetailsMemberMcpservernewrelic:
		_ = v.Value // Value is types.NewRelicServiceDetails

	case *types.ServiceDetailsMemberMcpserversigv4:
		_ = v.Value // Value is types.MCPServerSigV4ServiceDetails

	case *types.ServiceDetailsMemberMcpserversplunk:
		_ = v.Value // Value is types.MCPServerDetails

	case *types.ServiceDetailsMemberPagerduty:
		_ = v.Value // Value is types.PagerDutyDetails

	case *types.ServiceDetailsMemberRemoteagent:
		_ = v.Value // Value is types.RemoteAgentServiceDetails

	case *types.ServiceDetailsMemberRemoteagentsigv4:
		_ = v.Value // Value is types.RemoteAgentSigV4ServiceDetails

	case *types.ServiceDetailsMemberServicenow:
		_ = v.Value // Value is types.ServiceNowServiceDetails

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

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

	}
}

var _ *types.GrafanaServiceDetails
var _ *types.MCPServerSigV4ServiceDetails
var _ *types.DynatraceServiceDetails
var _ *types.ServiceNowServiceDetails
var _ *types.RemoteAgentServiceDetails
var _ *types.PagerDutyDetails
var _ *types.MCPServerDetails
var _ *types.EventChannelDetails
var _ *types.GitLabDetails
var _ *types.RegisteredAzureIdentityDetails
var _ *types.DatadogServiceDetails
var _ *types.RemoteAgentSigV4ServiceDetails
var _ *types.NewRelicServiceDetails

func ExampleServiceNowServiceAuthorizationConfig_outputUsage() {
	var union types.ServiceNowServiceAuthorizationConfig
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.ServiceNowServiceAuthorizationConfigMemberOAuthClientCredentials:
		_ = v.Value // Value is types.ServiceNowOAuthClientCredentialsConfig

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

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

	}
}

var _ *types.ServiceNowOAuthClientCredentialsConfig

func ExampleTriggerCondition_outputUsage() {
	var union types.TriggerCondition
	// type switches can be used to check the union value
	switch v := union.(type) {
	case *types.TriggerConditionMemberSchedule:
		_ = v.Value // Value is types.ScheduleCondition

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

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

	}
}

var _ *types.ScheduleCondition

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

	case *types.UserMessageBlockMemberToolResult:
		_ = v.Value // Value is document.Interface

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

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

	}
}

var _ document.Interface
var _ *string
