// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package ses_test

import (
	"context"
	"fmt"
	"strings"
	"time"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/aws/awserr"
	"github.com/aws/aws-sdk-go-v2/aws/external"
	"github.com/aws/aws-sdk-go-v2/service/ses"
)

var _ time.Duration
var _ strings.Reader
var _ aws.Config

func parseTime(layout, value string) *time.Time {
	t, err := time.Parse(layout, value)
	if err != nil {
		panic(err)
	}
	return &t
}

// CloneReceiptRuleSet
//
// The following example creates a receipt rule set by cloning an existing one:
func ExampleClient_CloneReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.CloneReceiptRuleSetInput{
		OriginalRuleSetName: aws.String("RuleSetToClone"),
		RuleSetName:         aws.String("RuleSetToCreate"),
	}

	req := svc.CloneReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeAlreadyExistsException:
				fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error())
			case ses.ErrCodeLimitExceededException:
				fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// CreateReceiptFilter
//
// The following example creates a new IP address filter:
func ExampleClient_CreateReceiptFilterRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.CreateReceiptFilterInput{
		Filter: &ses.ReceiptFilter{
			IpFilter: &ses.ReceiptIpFilter{
				Cidr:   aws.String("1.2.3.4/24"),
				Policy: ses.ReceiptFilterPolicyAllow,
			},
			Name: aws.String("MyFilter"),
		},
	}

	req := svc.CreateReceiptFilterRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeLimitExceededException:
				fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error())
			case ses.ErrCodeAlreadyExistsException:
				fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// CreateReceiptRule
//
// The following example creates a new receipt rule:
func ExampleClient_CreateReceiptRuleRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.CreateReceiptRuleInput{
		After: aws.String(""),
		Rule: &ses.ReceiptRule{
			Actions: []ses.ReceiptAction{
				{},
			},
			Enabled:     aws.Bool(true),
			Name:        aws.String("MyRule"),
			ScanEnabled: aws.Bool(true),
			TlsPolicy:   ses.TlsPolicyOptional,
		},
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.CreateReceiptRuleRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeInvalidSnsTopicException:
				fmt.Println(ses.ErrCodeInvalidSnsTopicException, aerr.Error())
			case ses.ErrCodeInvalidS3ConfigurationException:
				fmt.Println(ses.ErrCodeInvalidS3ConfigurationException, aerr.Error())
			case ses.ErrCodeInvalidLambdaFunctionException:
				fmt.Println(ses.ErrCodeInvalidLambdaFunctionException, aerr.Error())
			case ses.ErrCodeAlreadyExistsException:
				fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error())
			case ses.ErrCodeRuleDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error())
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeLimitExceededException:
				fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// CreateReceiptRuleSet
//
// The following example creates an empty receipt rule set:
func ExampleClient_CreateReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.CreateReceiptRuleSetInput{
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.CreateReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeAlreadyExistsException:
				fmt.Println(ses.ErrCodeAlreadyExistsException, aerr.Error())
			case ses.ErrCodeLimitExceededException:
				fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DeleteIdentity
//
// The following example deletes an identity from the list of identities that have been
// submitted for verification with Amazon SES:
func ExampleClient_DeleteIdentityRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DeleteIdentityInput{
		Identity: aws.String("user@example.com"),
	}

	req := svc.DeleteIdentityRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DeleteIdentityPolicy
//
// The following example deletes a sending authorization policy for an identity:
func ExampleClient_DeleteIdentityPolicyRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DeleteIdentityPolicyInput{
		Identity:   aws.String("user@example.com"),
		PolicyName: aws.String("MyPolicy"),
	}

	req := svc.DeleteIdentityPolicyRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DeleteReceiptFilter
//
// The following example deletes an IP address filter:
func ExampleClient_DeleteReceiptFilterRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DeleteReceiptFilterInput{
		FilterName: aws.String("MyFilter"),
	}

	req := svc.DeleteReceiptFilterRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DeleteReceiptRule
//
// The following example deletes a receipt rule:
func ExampleClient_DeleteReceiptRuleRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DeleteReceiptRuleInput{
		RuleName:    aws.String("MyRule"),
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.DeleteReceiptRuleRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DeleteReceiptRuleSet
//
// The following example deletes a receipt rule set:
func ExampleClient_DeleteReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DeleteReceiptRuleSetInput{
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.DeleteReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeCannotDeleteException:
				fmt.Println(ses.ErrCodeCannotDeleteException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DeleteVerifiedEmailAddress
//
// The following example deletes an email address from the list of identities that have
// been submitted for verification with Amazon SES:
func ExampleClient_DeleteVerifiedEmailAddressRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DeleteVerifiedEmailAddressInput{
		EmailAddress: aws.String("user@example.com"),
	}

	req := svc.DeleteVerifiedEmailAddressRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DescribeActiveReceiptRuleSet
//
// The following example returns the metadata and receipt rules for the receipt rule
// set that is currently active:
func ExampleClient_DescribeActiveReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DescribeActiveReceiptRuleSetInput{}

	req := svc.DescribeActiveReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DescribeReceiptRule
//
// The following example returns the details of a receipt rule:
func ExampleClient_DescribeReceiptRuleRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DescribeReceiptRuleInput{
		RuleName:    aws.String("MyRule"),
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.DescribeReceiptRuleRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error())
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// DescribeReceiptRuleSet
//
// The following example returns the metadata and receipt rules of a receipt rule set:
func ExampleClient_DescribeReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.DescribeReceiptRuleSetInput{
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.DescribeReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetAccountSendingEnabled
//
// The following example returns if sending status for an account is enabled. (true
// / false):
func ExampleClient_GetAccountSendingEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetAccountSendingEnabledInput{}

	req := svc.GetAccountSendingEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetIdentityDkimAttributes
//
// The following example retrieves the Amazon SES Easy DKIM attributes for a list of
// identities:
func ExampleClient_GetIdentityDkimAttributesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetIdentityDkimAttributesInput{
		Identities: []string{
			"example.com",
			"user@example.com",
		},
	}

	req := svc.GetIdentityDkimAttributesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetIdentityMailFromDomainAttributes
//
// The following example returns the custom MAIL FROM attributes for an identity:
func ExampleClient_GetIdentityMailFromDomainAttributesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetIdentityMailFromDomainAttributesInput{
		Identities: []string{
			"example.com",
		},
	}

	req := svc.GetIdentityMailFromDomainAttributesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetIdentityNotificationAttributes
//
// The following example returns the notification attributes for an identity:
func ExampleClient_GetIdentityNotificationAttributesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetIdentityNotificationAttributesInput{
		Identities: []string{
			"example.com",
		},
	}

	req := svc.GetIdentityNotificationAttributesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetIdentityPolicies
//
// The following example returns a sending authorization policy for an identity:
func ExampleClient_GetIdentityPoliciesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetIdentityPoliciesInput{
		Identity: aws.String("example.com"),
		PolicyNames: []string{
			"MyPolicy",
		},
	}

	req := svc.GetIdentityPoliciesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetIdentityVerificationAttributes
//
// The following example returns the verification status and the verification token
// for a domain identity:
func ExampleClient_GetIdentityVerificationAttributesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetIdentityVerificationAttributesInput{
		Identities: []string{
			"example.com",
		},
	}

	req := svc.GetIdentityVerificationAttributesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetSendQuota
//
// The following example returns the Amazon SES sending limits for an AWS account:
func ExampleClient_GetSendQuotaRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetSendQuotaInput{}

	req := svc.GetSendQuotaRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// GetSendStatistics
//
// The following example returns Amazon SES sending statistics:
func ExampleClient_GetSendStatisticsRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.GetSendStatisticsInput{}

	req := svc.GetSendStatisticsRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// ListIdentities
//
// The following example lists the email address identities that have been submitted
// for verification with Amazon SES:
func ExampleClient_ListIdentitiesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.ListIdentitiesInput{
		IdentityType: ses.IdentityTypeEmailAddress,
		MaxItems:     aws.Int64(123),
		NextToken:    aws.String(""),
	}

	req := svc.ListIdentitiesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// ListIdentityPolicies
//
// The following example returns a list of sending authorization policies that are attached
// to an identity:
func ExampleClient_ListIdentityPoliciesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.ListIdentityPoliciesInput{
		Identity: aws.String("example.com"),
	}

	req := svc.ListIdentityPoliciesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// ListReceiptFilters
//
// The following example lists the IP address filters that are associated with an AWS
// account:
func ExampleClient_ListReceiptFiltersRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.ListReceiptFiltersInput{}

	req := svc.ListReceiptFiltersRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// ListReceiptRuleSets
//
// The following example lists the receipt rule sets that exist under an AWS account:
func ExampleClient_ListReceiptRuleSetsRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.ListReceiptRuleSetsInput{
		NextToken: aws.String(""),
	}

	req := svc.ListReceiptRuleSetsRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// ListVerifiedEmailAddresses
//
// The following example lists all email addresses that have been submitted for verification
// with Amazon SES:
func ExampleClient_ListVerifiedEmailAddressesRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.ListVerifiedEmailAddressesInput{}

	req := svc.ListVerifiedEmailAddressesRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// PutIdentityPolicy
//
// The following example adds a sending authorization policy to an identity:
func ExampleClient_PutIdentityPolicyRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.PutIdentityPolicyInput{
		Identity:   aws.String("example.com"),
		Policy:     aws.String("{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"stmt1469123904194\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":[\"ses:SendEmail\",\"ses:SendRawEmail\"],\"Resource\":\"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com\"}]}"),
		PolicyName: aws.String("MyPolicy"),
	}

	req := svc.PutIdentityPolicyRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeInvalidPolicyException:
				fmt.Println(ses.ErrCodeInvalidPolicyException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// ReorderReceiptRuleSet
//
// The following example reorders the receipt rules within a receipt rule set:
func ExampleClient_ReorderReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.ReorderReceiptRuleSetInput{
		RuleNames: []string{
			"MyRule",
			"MyOtherRule",
		},
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.ReorderReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeRuleDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SendEmail
//
// The following example sends a formatted email:
func ExampleClient_SendEmailRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SendEmailInput{
		Destination: &ses.Destination{
			CcAddresses: []string{
				"recipient3@example.com",
			},
			ToAddresses: []string{
				"recipient1@example.com",
				"recipient2@example.com",
			},
		},
		Message: &ses.Message{
			Body: &ses.Body{
				Html: &ses.Content{
					Charset: aws.String("UTF-8"),
					Data:    aws.String("This message body contains HTML formatting. It can, for example, contain links like this one: <a class=\"ulink\" href=\"http://docs.aws.amazon.com/ses/latest/DeveloperGuide\" target=\"_blank\">Amazon SES Developer Guide</a>."),
				},
				Text: &ses.Content{
					Charset: aws.String("UTF-8"),
					Data:    aws.String("This is the message body in text format."),
				},
			},
			Subject: &ses.Content{
				Charset: aws.String("UTF-8"),
				Data:    aws.String("Test email"),
			},
		},
		ReturnPath:    aws.String(""),
		ReturnPathArn: aws.String(""),
		Source:        aws.String("sender@example.com"),
		SourceArn:     aws.String(""),
	}

	req := svc.SendEmailRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeMessageRejected:
				fmt.Println(ses.ErrCodeMessageRejected, aerr.Error())
			case ses.ErrCodeMailFromDomainNotVerifiedException:
				fmt.Println(ses.ErrCodeMailFromDomainNotVerifiedException, aerr.Error())
			case ses.ErrCodeConfigurationSetDoesNotExistException:
				fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeConfigurationSetSendingPausedException:
				fmt.Println(ses.ErrCodeConfigurationSetSendingPausedException, aerr.Error())
			case ses.ErrCodeAccountSendingPausedException:
				fmt.Println(ses.ErrCodeAccountSendingPausedException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SendRawEmail
//
// The following example sends an email with an attachment:
func ExampleClient_SendRawEmailRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SendRawEmailInput{
		FromArn: aws.String(""),
		RawMessage: &ses.RawMessage{
			Data: []byte("From: sender@example.com\\nTo: recipient@example.com\\nSubject: Test email (contains an attachment)\\nMIME-Version: 1.0\\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\\n\\n--NextPart\\nContent-Type: text/plain\\n\\nThis is the message body.\\n\\n--NextPart\\nContent-Type: text/plain;\\nContent-Disposition: attachment; filename=\"attachment.txt\"\\n\\nThis is the text in the attachment.\\n\\n--NextPart--"),
		},
		ReturnPathArn: aws.String(""),
		Source:        aws.String(""),
		SourceArn:     aws.String(""),
	}

	req := svc.SendRawEmailRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeMessageRejected:
				fmt.Println(ses.ErrCodeMessageRejected, aerr.Error())
			case ses.ErrCodeMailFromDomainNotVerifiedException:
				fmt.Println(ses.ErrCodeMailFromDomainNotVerifiedException, aerr.Error())
			case ses.ErrCodeConfigurationSetDoesNotExistException:
				fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeConfigurationSetSendingPausedException:
				fmt.Println(ses.ErrCodeConfigurationSetSendingPausedException, aerr.Error())
			case ses.ErrCodeAccountSendingPausedException:
				fmt.Println(ses.ErrCodeAccountSendingPausedException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetActiveReceiptRuleSet
//
// The following example sets the active receipt rule set:
func ExampleClient_SetActiveReceiptRuleSetRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetActiveReceiptRuleSetInput{
		RuleSetName: aws.String("RuleSetToActivate"),
	}

	req := svc.SetActiveReceiptRuleSetRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetIdentityDkimEnabled
//
// The following example configures Amazon SES to Easy DKIM-sign the email sent from
// an identity:
func ExampleClient_SetIdentityDkimEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetIdentityDkimEnabledInput{
		DkimEnabled: aws.Bool(true),
		Identity:    aws.String("user@example.com"),
	}

	req := svc.SetIdentityDkimEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetIdentityFeedbackForwardingEnabled
//
// The following example configures Amazon SES to forward an identity's bounces and
// complaints via email:
func ExampleClient_SetIdentityFeedbackForwardingEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetIdentityFeedbackForwardingEnabledInput{
		ForwardingEnabled: aws.Bool(true),
		Identity:          aws.String("user@example.com"),
	}

	req := svc.SetIdentityFeedbackForwardingEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetIdentityHeadersInNotificationsEnabled
//
// The following example configures Amazon SES to include the original email headers
// in the Amazon SNS bounce notifications for an identity:
func ExampleClient_SetIdentityHeadersInNotificationsEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetIdentityHeadersInNotificationsEnabledInput{
		Enabled:          aws.Bool(true),
		Identity:         aws.String("user@example.com"),
		NotificationType: ses.NotificationTypeBounce,
	}

	req := svc.SetIdentityHeadersInNotificationsEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetIdentityMailFromDomain
//
// The following example configures Amazon SES to use a custom MAIL FROM domain for
// an identity:
func ExampleClient_SetIdentityMailFromDomainRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetIdentityMailFromDomainInput{
		BehaviorOnMXFailure: ses.BehaviorOnMXFailureUseDefaultValue,
		Identity:            aws.String("user@example.com"),
		MailFromDomain:      aws.String("bounces.example.com"),
	}

	req := svc.SetIdentityMailFromDomainRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetIdentityNotificationTopic
//
// The following example sets the Amazon SNS topic to which Amazon SES will publish
// bounce, complaint, and/or delivery notifications for emails sent with the specified
// identity as the Source:
func ExampleClient_SetIdentityNotificationTopicRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetIdentityNotificationTopicInput{
		Identity:         aws.String("user@example.com"),
		NotificationType: ses.NotificationTypeBounce,
		SnsTopic:         aws.String("arn:aws:sns:us-west-2:111122223333:MyTopic"),
	}

	req := svc.SetIdentityNotificationTopicRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// SetReceiptRulePosition
//
// The following example sets the position of a receipt rule in a receipt rule set:
func ExampleClient_SetReceiptRulePositionRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.SetReceiptRulePositionInput{
		After:       aws.String("PutRuleAfterThisRule"),
		RuleName:    aws.String("RuleToReposition"),
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.SetReceiptRulePositionRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeRuleDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// UpdateAccountSendingEnabled
//
// The following example updated the sending status for this account.
func ExampleClient_UpdateAccountSendingEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.UpdateAccountSendingEnabledInput{
		Enabled: aws.Bool(true),
	}

	req := svc.UpdateAccountSendingEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// UpdateConfigurationSetReputationMetricsEnabled
//
// Set the reputationMetricsEnabled flag for a specific configuration set.
func ExampleClient_UpdateConfigurationSetReputationMetricsEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.UpdateConfigurationSetReputationMetricsEnabledInput{
		ConfigurationSetName: aws.String("foo"),
		Enabled:              aws.Bool(true),
	}

	req := svc.UpdateConfigurationSetReputationMetricsEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeConfigurationSetDoesNotExistException:
				fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// UpdateConfigurationSetReputationMetricsEnabled
//
// Set the sending enabled flag for a specific configuration set.
func ExampleClient_UpdateConfigurationSetSendingEnabledRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.UpdateConfigurationSetSendingEnabledInput{
		ConfigurationSetName: aws.String("foo"),
		Enabled:              aws.Bool(true),
	}

	req := svc.UpdateConfigurationSetSendingEnabledRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeConfigurationSetDoesNotExistException:
				fmt.Println(ses.ErrCodeConfigurationSetDoesNotExistException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// UpdateReceiptRule
//
// The following example updates a receipt rule to use an Amazon S3 action:
func ExampleClient_UpdateReceiptRuleRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.UpdateReceiptRuleInput{
		Rule: &ses.ReceiptRule{
			Actions: []ses.ReceiptAction{
				{},
			},
			Enabled:     aws.Bool(true),
			Name:        aws.String("MyRule"),
			ScanEnabled: aws.Bool(true),
			TlsPolicy:   ses.TlsPolicyOptional,
		},
		RuleSetName: aws.String("MyRuleSet"),
	}

	req := svc.UpdateReceiptRuleRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case ses.ErrCodeInvalidSnsTopicException:
				fmt.Println(ses.ErrCodeInvalidSnsTopicException, aerr.Error())
			case ses.ErrCodeInvalidS3ConfigurationException:
				fmt.Println(ses.ErrCodeInvalidS3ConfigurationException, aerr.Error())
			case ses.ErrCodeInvalidLambdaFunctionException:
				fmt.Println(ses.ErrCodeInvalidLambdaFunctionException, aerr.Error())
			case ses.ErrCodeRuleSetDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleSetDoesNotExistException, aerr.Error())
			case ses.ErrCodeRuleDoesNotExistException:
				fmt.Println(ses.ErrCodeRuleDoesNotExistException, aerr.Error())
			case ses.ErrCodeLimitExceededException:
				fmt.Println(ses.ErrCodeLimitExceededException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// VerifyDomainDkim
//
// The following example generates DKIM tokens for a domain that has been verified with
// Amazon SES:
func ExampleClient_VerifyDomainDkimRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.VerifyDomainDkimInput{
		Domain: aws.String("example.com"),
	}

	req := svc.VerifyDomainDkimRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// VerifyDomainIdentity
//
// The following example starts the domain verification process with Amazon SES:
func ExampleClient_VerifyDomainIdentityRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.VerifyDomainIdentityInput{
		Domain: aws.String("example.com"),
	}

	req := svc.VerifyDomainIdentityRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// VerifyEmailAddress
//
// The following example starts the email address verification process with Amazon SES:
func ExampleClient_VerifyEmailAddressRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.VerifyEmailAddressInput{
		EmailAddress: aws.String("user@example.com"),
	}

	req := svc.VerifyEmailAddressRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

// VerifyEmailIdentity
//
// The following example starts the email address verification process with Amazon SES:
func ExampleClient_VerifyEmailIdentityRequest_shared00() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := ses.New(cfg)
	input := &ses.VerifyEmailIdentityInput{
		EmailAddress: aws.String("user@example.com"),
	}

	req := svc.VerifyEmailIdentityRequest(input)
	result, err := req.Send(context.Background())
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
