Module: Aws::SESV2::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-sesv2/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccountDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccountDetails')
AccountSuspendedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccountSuspendedException')
AdditionalContactEmailAddress =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AdditionalContactEmailAddress')
AdditionalContactEmailAddresses =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AdditionalContactEmailAddresses')
AdminEmail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AdminEmail')
AlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AlreadyExistsException')
AmazonResourceName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AmazonResourceName')
AttributesData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttributesData')
BadRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BadRequestException')
BatchGetMetricDataQueries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BatchGetMetricDataQueries')
BatchGetMetricDataQuery =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetMetricDataQuery')
BatchGetMetricDataRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetMetricDataRequest')
BatchGetMetricDataResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BatchGetMetricDataResponse')
BehaviorOnMxFailure =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BehaviorOnMxFailure')
BlacklistEntries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BlacklistEntries')
BlacklistEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BlacklistEntry')
BlacklistItemName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BlacklistItemName')
BlacklistItemNames =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BlacklistItemNames')
BlacklistReport =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'BlacklistReport')
BlacklistingDescription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BlacklistingDescription')
Body =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Body')
Bounce =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Bounce')
BounceSubType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BounceSubType')
BounceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BounceType')
BulkEmailContent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BulkEmailContent')
BulkEmailEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BulkEmailEntry')
BulkEmailEntryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BulkEmailEntryList')
BulkEmailEntryResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BulkEmailEntryResult')
BulkEmailEntryResultList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BulkEmailEntryResultList')
BulkEmailStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BulkEmailStatus')
CampaignId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CampaignId')
CancelExportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CancelExportJobRequest')
CancelExportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CancelExportJobResponse')
CaseId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CaseId')
Charset =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Charset')
CloudWatchDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudWatchDestination')
CloudWatchDimensionConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudWatchDimensionConfiguration')
CloudWatchDimensionConfigurations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CloudWatchDimensionConfigurations')
Complaint =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Complaint')
ComplaintFeedbackType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ComplaintFeedbackType')
ComplaintSubType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ComplaintSubType')
ConcurrentModificationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConcurrentModificationException')
ConfigurationSetName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ConfigurationSetName')
ConfigurationSetNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ConfigurationSetNameList')
ConflictException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConflictException')
Contact =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Contact')
ContactLanguage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ContactLanguage')
ContactList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ContactList')
ContactListDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ContactListDestination')
ContactListImportAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ContactListImportAction')
ContactListName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ContactListName')
Content =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Content')
Counter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Counter')
CreateConfigurationSetEventDestinationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConfigurationSetEventDestinationRequest')
CreateConfigurationSetEventDestinationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConfigurationSetEventDestinationResponse')
CreateConfigurationSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConfigurationSetRequest')
CreateConfigurationSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConfigurationSetResponse')
CreateContactListRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateContactListRequest')
CreateContactListResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateContactListResponse')
CreateContactRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateContactRequest')
CreateContactResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateContactResponse')
CreateCustomVerificationEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCustomVerificationEmailTemplateRequest')
CreateCustomVerificationEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCustomVerificationEmailTemplateResponse')
CreateDedicatedIpPoolRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDedicatedIpPoolRequest')
CreateDedicatedIpPoolResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDedicatedIpPoolResponse')
CreateDeliverabilityTestReportRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeliverabilityTestReportRequest')
CreateDeliverabilityTestReportResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeliverabilityTestReportResponse')
CreateEmailIdentityPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEmailIdentityPolicyRequest')
CreateEmailIdentityPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEmailIdentityPolicyResponse')
CreateEmailIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEmailIdentityRequest')
CreateEmailIdentityResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEmailIdentityResponse')
CreateEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEmailTemplateRequest')
CreateEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateEmailTemplateResponse')
CreateExportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateExportJobRequest')
CreateExportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateExportJobResponse')
CreateImportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateImportJobRequest')
CreateImportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateImportJobResponse')
CustomRedirectDomain =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomRedirectDomain')
CustomVerificationEmailTemplateMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomVerificationEmailTemplateMetadata')
CustomVerificationEmailTemplatesList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CustomVerificationEmailTemplatesList')
DailyVolume =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DailyVolume')
DailyVolumes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DailyVolumes')
DashboardAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DashboardAttributes')
DashboardOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DashboardOptions')
DataFormat =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DataFormat')
DedicatedIp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DedicatedIp')
DedicatedIpList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DedicatedIpList')
DedicatedIpPool =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DedicatedIpPool')
DefaultDimensionValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DefaultDimensionValue')
DeleteConfigurationSetEventDestinationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConfigurationSetEventDestinationRequest')
DeleteConfigurationSetEventDestinationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConfigurationSetEventDestinationResponse')
DeleteConfigurationSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConfigurationSetRequest')
DeleteConfigurationSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConfigurationSetResponse')
DeleteContactListRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteContactListRequest')
DeleteContactListResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteContactListResponse')
DeleteContactRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteContactRequest')
DeleteContactResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteContactResponse')
DeleteCustomVerificationEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCustomVerificationEmailTemplateRequest')
DeleteCustomVerificationEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCustomVerificationEmailTemplateResponse')
DeleteDedicatedIpPoolRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDedicatedIpPoolRequest')
DeleteDedicatedIpPoolResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDedicatedIpPoolResponse')
DeleteEmailIdentityPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEmailIdentityPolicyRequest')
DeleteEmailIdentityPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEmailIdentityPolicyResponse')
DeleteEmailIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEmailIdentityRequest')
DeleteEmailIdentityResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEmailIdentityResponse')
DeleteEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEmailTemplateRequest')
DeleteEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteEmailTemplateResponse')
DeleteSuppressedDestinationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSuppressedDestinationRequest')
DeleteSuppressedDestinationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSuppressedDestinationResponse')
DeliverabilityDashboardAccountStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DeliverabilityDashboardAccountStatus')
DeliverabilityTestReport =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeliverabilityTestReport')
DeliverabilityTestReports =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DeliverabilityTestReports')
DeliverabilityTestStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DeliverabilityTestStatus')
DeliverabilityTestSubject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DeliverabilityTestSubject')
DeliveryEventType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DeliveryEventType')
DeliveryOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeliveryOptions')
Description =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Description')
Destination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Destination')
DiagnosticCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DiagnosticCode')
DimensionName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DimensionName')
DimensionValueSource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DimensionValueSource')
Dimensions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'Dimensions')
DisplayName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DisplayName')
DkimAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DkimAttributes')
DkimSigningAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DkimSigningAttributes')
DkimSigningAttributesOrigin =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DkimSigningAttributesOrigin')
DkimSigningKeyLength =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DkimSigningKeyLength')
DkimStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DkimStatus')
DnsToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DnsToken')
DnsTokenList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DnsTokenList')
Domain =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Domain')
DomainDeliverabilityCampaign =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DomainDeliverabilityCampaign')
DomainDeliverabilityCampaignList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DomainDeliverabilityCampaignList')
DomainDeliverabilityTrackingOption =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DomainDeliverabilityTrackingOption')
DomainDeliverabilityTrackingOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DomainDeliverabilityTrackingOptions')
DomainIspPlacement =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DomainIspPlacement')
DomainIspPlacements =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'DomainIspPlacements')
EmailAddress =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailAddress')
EmailAddressFilterList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EmailAddressFilterList')
EmailAddressList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EmailAddressList')
EmailContent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EmailContent')
EmailInsights =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EmailInsights')
EmailInsightsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EmailInsightsList')
EmailSubject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailSubject')
EmailSubjectFilterList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EmailSubjectFilterList')
EmailTemplateContent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EmailTemplateContent')
EmailTemplateData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailTemplateData')
EmailTemplateHtml =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailTemplateHtml')
EmailTemplateMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EmailTemplateMetadata')
EmailTemplateMetadataList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EmailTemplateMetadataList')
EmailTemplateName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailTemplateName')
EmailTemplateSubject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailTemplateSubject')
EmailTemplateText =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailTemplateText')
Enabled =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Enabled')
EnabledWrapper =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'EnabledWrapper')
EngagementEventType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EngagementEventType')
ErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ErrorMessage')
Esp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Esp')
Esps =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Esps')
EventBridgeDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EventBridgeDestination')
EventDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EventDestination')
EventDestinationDefinition =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EventDestinationDefinition')
EventDestinationName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EventDestinationName')
EventDestinations =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EventDestinations')
EventDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EventDetails')
EventType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EventType')
EventTypes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EventTypes')
ExportDataSource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExportDataSource')
ExportDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExportDestination')
ExportDimensionValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ExportDimensionValue')
ExportDimensions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'ExportDimensions')
ExportJobSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExportJobSummary')
ExportJobSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ExportJobSummaryList')
ExportMetric =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExportMetric')
ExportMetrics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ExportMetrics')
ExportSourceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExportSourceType')
ExportStatistics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExportStatistics')
ExportedRecordsCount =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ExportedRecordsCount')
FailedRecordsCount =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'FailedRecordsCount')
FailedRecordsS3Url =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FailedRecordsS3Url')
FailureInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FailureInfo')
FailureRedirectionURL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FailureRedirectionURL')
FeatureStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FeatureStatus')
FeedbackId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FeedbackId')
GeneralEnforcementStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GeneralEnforcementStatus')
GetAccountRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAccountRequest')
GetAccountResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAccountResponse')
GetBlacklistReportsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetBlacklistReportsRequest')
GetBlacklistReportsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetBlacklistReportsResponse')
GetConfigurationSetEventDestinationsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConfigurationSetEventDestinationsRequest')
GetConfigurationSetEventDestinationsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConfigurationSetEventDestinationsResponse')
GetConfigurationSetRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConfigurationSetRequest')
GetConfigurationSetResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConfigurationSetResponse')
GetContactListRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetContactListRequest')
GetContactListResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetContactListResponse')
GetContactRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetContactRequest')
GetContactResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetContactResponse')
GetCustomVerificationEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCustomVerificationEmailTemplateRequest')
GetCustomVerificationEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCustomVerificationEmailTemplateResponse')
GetDedicatedIpPoolRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDedicatedIpPoolRequest')
GetDedicatedIpPoolResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDedicatedIpPoolResponse')
GetDedicatedIpRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDedicatedIpRequest')
GetDedicatedIpResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDedicatedIpResponse')
GetDedicatedIpsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDedicatedIpsRequest')
GetDedicatedIpsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDedicatedIpsResponse')
GetDeliverabilityDashboardOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeliverabilityDashboardOptionsRequest')
GetDeliverabilityDashboardOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeliverabilityDashboardOptionsResponse')
GetDeliverabilityTestReportRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeliverabilityTestReportRequest')
GetDeliverabilityTestReportResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeliverabilityTestReportResponse')
GetDomainDeliverabilityCampaignRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDomainDeliverabilityCampaignRequest')
GetDomainDeliverabilityCampaignResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDomainDeliverabilityCampaignResponse')
GetDomainStatisticsReportRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDomainStatisticsReportRequest')
GetDomainStatisticsReportResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDomainStatisticsReportResponse')
GetEmailIdentityPoliciesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEmailIdentityPoliciesRequest')
GetEmailIdentityPoliciesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEmailIdentityPoliciesResponse')
GetEmailIdentityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEmailIdentityRequest')
GetEmailIdentityResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEmailIdentityResponse')
GetEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEmailTemplateRequest')
GetEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetEmailTemplateResponse')
GetExportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetExportJobRequest')
GetExportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetExportJobResponse')
GetImportJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetImportJobRequest')
GetImportJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetImportJobResponse')
GetMessageInsightsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMessageInsightsRequest')
GetMessageInsightsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetMessageInsightsResponse')
GetSuppressedDestinationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSuppressedDestinationRequest')
GetSuppressedDestinationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSuppressedDestinationResponse')
GuardianAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GuardianAttributes')
GuardianOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GuardianOptions')
HttpsPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HttpsPolicy')
Identity =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Identity')
IdentityInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IdentityInfo')
IdentityInfoList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IdentityInfoList')
IdentityType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IdentityType')
ImageUrl =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ImageUrl')
ImportDataSource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImportDataSource')
ImportDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImportDestination')
ImportDestinationType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ImportDestinationType')
ImportJobSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImportJobSummary')
ImportJobSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ImportJobSummaryList')
InboxPlacementTrackingOption =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InboxPlacementTrackingOption')
InsightsEmailAddress =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'InsightsEmailAddress')
InsightsEvent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InsightsEvent')
InsightsEvents =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'InsightsEvents')
InternalServiceErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalServiceErrorException')
InvalidNextTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidNextTokenException')
Ip =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Ip')
IpList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IpList')
Isp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Isp')
IspFilterList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IspFilterList')
IspName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'IspName')
IspNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IspNameList')
IspPlacement =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IspPlacement')
IspPlacements =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'IspPlacements')
JobId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'JobId')
JobStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'JobStatus')
KinesisFirehoseDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KinesisFirehoseDestination')
LastDeliveryEventList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LastDeliveryEventList')
LastEngagementEventList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LastEngagementEventList')
LastFreshStart =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'LastFreshStart')
LimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitExceededException')
ListConfigurationSetsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListConfigurationSetsRequest')
ListConfigurationSetsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListConfigurationSetsResponse')
ListContactListsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListContactListsRequest')
ListContactListsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListContactListsResponse')
ListContactsFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListContactsFilter')
ListContactsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListContactsRequest')
ListContactsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListContactsResponse')
ListCustomVerificationEmailTemplatesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCustomVerificationEmailTemplatesRequest')
ListCustomVerificationEmailTemplatesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCustomVerificationEmailTemplatesResponse')
ListDedicatedIpPoolsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDedicatedIpPoolsRequest')
ListDedicatedIpPoolsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDedicatedIpPoolsResponse')
ListDeliverabilityTestReportsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeliverabilityTestReportsRequest')
ListDeliverabilityTestReportsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeliverabilityTestReportsResponse')
ListDomainDeliverabilityCampaignsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDomainDeliverabilityCampaignsRequest')
ListDomainDeliverabilityCampaignsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDomainDeliverabilityCampaignsResponse')
ListEmailIdentitiesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListEmailIdentitiesRequest')
ListEmailIdentitiesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListEmailIdentitiesResponse')
ListEmailTemplatesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListEmailTemplatesRequest')
ListEmailTemplatesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListEmailTemplatesResponse')
ListExportJobsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListExportJobsRequest')
ListExportJobsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListExportJobsResponse')
ListImportJobsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListImportJobsRequest')
ListImportJobsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListImportJobsResponse')
ListManagementOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListManagementOptions')
ListOfContactLists =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListOfContactLists')
ListOfContacts =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListOfContacts')
ListOfDedicatedIpPools =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ListOfDedicatedIpPools')
ListRecommendationFilterValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListRecommendationFilterValue')
ListRecommendationsFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'ListRecommendationsFilter')
ListRecommendationsFilterKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ListRecommendationsFilterKey')
ListRecommendationsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRecommendationsRequest')
ListRecommendationsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRecommendationsResponse')
ListSuppressedDestinationsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSuppressedDestinationsRequest')
ListSuppressedDestinationsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSuppressedDestinationsResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
MailFromAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MailFromAttributes')
MailFromDomainName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MailFromDomainName')
MailFromDomainNotVerifiedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MailFromDomainNotVerifiedException')
MailFromDomainStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MailFromDomainStatus')
MailType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MailType')
Max24HourSend =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'Max24HourSend')
MaxItems =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxItems')
MaxSendRate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'MaxSendRate')
Message =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Message')
MessageContent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageContent')
MessageData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageData')
MessageHeader =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MessageHeader')
MessageHeaderList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MessageHeaderList')
MessageHeaderName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageHeaderName')
MessageHeaderValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageHeaderValue')
MessageInsightsDataSource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MessageInsightsDataSource')
MessageInsightsExportMaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MessageInsightsExportMaxResults')
MessageInsightsFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MessageInsightsFilters')
MessageRejected =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MessageRejected')
MessageTag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MessageTag')
MessageTagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MessageTagList')
MessageTagName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageTagName')
MessageTagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageTagValue')
Metric =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Metric')
MetricAggregation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricAggregation')
MetricDataError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MetricDataError')
MetricDataErrorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MetricDataErrorList')
MetricDataResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MetricDataResult')
MetricDataResultList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MetricDataResultList')
MetricDimensionName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricDimensionName')
MetricDimensionValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricDimensionValue')
MetricNamespace =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MetricNamespace')
MetricValueList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MetricValueList')
MetricsDataSource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MetricsDataSource')
NextToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NextToken')
NotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotFoundException')
OutboundMessageId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OutboundMessageId')
OverallVolume =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OverallVolume')
Percentage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'Percentage')
Percentage100Wrapper =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Percentage100Wrapper')
PinpointDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PinpointDestination')
PlacementStatistics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PlacementStatistics')
Policy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Policy')
PolicyMap =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'PolicyMap')
PolicyName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PolicyName')
PoolName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PoolName')
PrimaryNameServer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PrimaryNameServer')
PrivateKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PrivateKey')
ProcessedRecordsCount =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'ProcessedRecordsCount')
PutAccountDedicatedIpWarmupAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountDedicatedIpWarmupAttributesRequest')
PutAccountDedicatedIpWarmupAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountDedicatedIpWarmupAttributesResponse')
PutAccountDetailsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountDetailsRequest')
PutAccountDetailsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountDetailsResponse')
PutAccountSendingAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountSendingAttributesRequest')
PutAccountSendingAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountSendingAttributesResponse')
PutAccountSuppressionAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountSuppressionAttributesRequest')
PutAccountSuppressionAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountSuppressionAttributesResponse')
PutAccountVdmAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountVdmAttributesRequest')
PutAccountVdmAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutAccountVdmAttributesResponse')
PutConfigurationSetDeliveryOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetDeliveryOptionsRequest')
PutConfigurationSetDeliveryOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetDeliveryOptionsResponse')
PutConfigurationSetReputationOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetReputationOptionsRequest')
PutConfigurationSetReputationOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetReputationOptionsResponse')
PutConfigurationSetSendingOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetSendingOptionsRequest')
PutConfigurationSetSendingOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetSendingOptionsResponse')
PutConfigurationSetSuppressionOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetSuppressionOptionsRequest')
PutConfigurationSetSuppressionOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetSuppressionOptionsResponse')
PutConfigurationSetTrackingOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetTrackingOptionsRequest')
PutConfigurationSetTrackingOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetTrackingOptionsResponse')
PutConfigurationSetVdmOptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetVdmOptionsRequest')
PutConfigurationSetVdmOptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutConfigurationSetVdmOptionsResponse')
PutDedicatedIpInPoolRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDedicatedIpInPoolRequest')
PutDedicatedIpInPoolResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDedicatedIpInPoolResponse')
PutDedicatedIpPoolScalingAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDedicatedIpPoolScalingAttributesRequest')
PutDedicatedIpPoolScalingAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDedicatedIpPoolScalingAttributesResponse')
PutDedicatedIpWarmupAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDedicatedIpWarmupAttributesRequest')
PutDedicatedIpWarmupAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDedicatedIpWarmupAttributesResponse')
PutDeliverabilityDashboardOptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDeliverabilityDashboardOptionRequest')
PutDeliverabilityDashboardOptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutDeliverabilityDashboardOptionResponse')
PutEmailIdentityConfigurationSetAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityConfigurationSetAttributesRequest')
PutEmailIdentityConfigurationSetAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityConfigurationSetAttributesResponse')
PutEmailIdentityDkimAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityDkimAttributesRequest')
PutEmailIdentityDkimAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityDkimAttributesResponse')
PutEmailIdentityDkimSigningAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityDkimSigningAttributesRequest')
PutEmailIdentityDkimSigningAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityDkimSigningAttributesResponse')
PutEmailIdentityFeedbackAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityFeedbackAttributesRequest')
PutEmailIdentityFeedbackAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityFeedbackAttributesResponse')
PutEmailIdentityMailFromAttributesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityMailFromAttributesRequest')
PutEmailIdentityMailFromAttributesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutEmailIdentityMailFromAttributesResponse')
PutSuppressedDestinationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutSuppressedDestinationRequest')
PutSuppressedDestinationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutSuppressedDestinationResponse')
QueryErrorCode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'QueryErrorCode')
QueryErrorMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'QueryErrorMessage')
QueryIdentifier =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'QueryIdentifier')
RawMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RawMessage')
RawMessageData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'RawMessageData')
RblName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RblName')
Recommendation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Recommendation')
RecommendationDescription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationDescription')
RecommendationImpact =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationImpact')
RecommendationStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationStatus')
RecommendationType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RecommendationType')
RecommendationsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RecommendationsList')
RenderedEmailTemplate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RenderedEmailTemplate')
ReplacementEmailContent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReplacementEmailContent')
ReplacementTemplate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReplacementTemplate')
ReportId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReportId')
ReportName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReportName')
ReputationOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReputationOptions')
ReviewDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReviewDetails')
ReviewStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ReviewStatus')
S3Url =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'S3Url')
SOARecord =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SOARecord')
ScalingMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ScalingMode')
Selector =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Selector')
SendBulkEmailRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendBulkEmailRequest')
SendBulkEmailResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendBulkEmailResponse')
SendCustomVerificationEmailRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendCustomVerificationEmailRequest')
SendCustomVerificationEmailResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendCustomVerificationEmailResponse')
SendEmailRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendEmailRequest')
SendEmailResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendEmailResponse')
SendQuota =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendQuota')
SendingOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendingOptions')
SendingPausedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendingPausedException')
SendingPoolName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SendingPoolName')
SentLast24Hours =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'SentLast24Hours')
SerialNumber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'SerialNumber')
SnsDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SnsDestination')
Subject =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Subject')
SubscriptionStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubscriptionStatus')
SuccessRedirectionURL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SuccessRedirectionURL')
SuppressedDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SuppressedDestination')
SuppressedDestinationAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SuppressedDestinationAttributes')
SuppressedDestinationSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SuppressedDestinationSummaries')
SuppressedDestinationSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SuppressedDestinationSummary')
SuppressionAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SuppressionAttributes')
SuppressionListDestination =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SuppressionListDestination')
SuppressionListImportAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SuppressionListImportAction')
SuppressionListReason =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SuppressionListReason')
SuppressionListReasons =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SuppressionListReasons')
SuppressionOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SuppressionOptions')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
Template =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Template')
TemplateContent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TemplateContent')
TestRenderEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TestRenderEmailTemplateRequest')
TestRenderEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TestRenderEmailTemplateResponse')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp')
TimestampList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TimestampList')
TlsPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TlsPolicy')
TooManyRequestsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TooManyRequestsException')
Topic =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Topic')
TopicFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TopicFilter')
TopicName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TopicName')
TopicPreference =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TopicPreference')
TopicPreferenceList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TopicPreferenceList')
Topics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Topics')
TrackingOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TrackingOptions')
UnsubscribeAll =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'UnsubscribeAll')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UpdateConfigurationSetEventDestinationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateConfigurationSetEventDestinationRequest')
UpdateConfigurationSetEventDestinationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateConfigurationSetEventDestinationResponse')
UpdateContactListRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateContactListRequest')
UpdateContactListResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateContactListResponse')
UpdateContactRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateContactRequest')
UpdateContactResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateContactResponse')
UpdateCustomVerificationEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCustomVerificationEmailTemplateRequest')
UpdateCustomVerificationEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCustomVerificationEmailTemplateResponse')
UpdateEmailIdentityPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateEmailIdentityPolicyRequest')
UpdateEmailIdentityPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateEmailIdentityPolicyResponse')
UpdateEmailTemplateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateEmailTemplateRequest')
UpdateEmailTemplateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateEmailTemplateResponse')
UseCaseDescription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UseCaseDescription')
UseDefaultIfPreferenceUnavailable =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'UseDefaultIfPreferenceUnavailable')
VdmAttributes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VdmAttributes')
VdmOptions =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VdmOptions')
VerificationError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VerificationError')
VerificationInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerificationInfo')
VerificationStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VerificationStatus')
Volume =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Volume')
VolumeStatistics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VolumeStatistics')
WarmupStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WarmupStatus')
WebsiteURL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WebsiteURL')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2019-09-27"

  api. = {
    "apiVersion" => "2019-09-27",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "email",
    "jsonVersion" => "1.1",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceAbbreviation" => "Amazon SES V2",
    "serviceFullName" => "Amazon Simple Email Service",
    "serviceId" => "SESv2",
    "signatureVersion" => "v4",
    "signingName" => "ses",
    "uid" => "sesv2-2019-09-27",
  }

  api.add_operation(:batch_get_metric_data, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchGetMetricData"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/metrics/batch"
    o.input = Shapes::ShapeRef.new(shape: BatchGetMetricDataRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchGetMetricDataResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServiceErrorException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:cancel_export_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CancelExportJob"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/export-jobs/{JobId}/cancel"
    o.input = Shapes::ShapeRef.new(shape: CancelExportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: CancelExportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:create_configuration_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateConfigurationSet"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/configuration-sets"
    o.input = Shapes::ShapeRef.new(shape: CreateConfigurationSetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateConfigurationSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:create_configuration_set_event_destination, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateConfigurationSetEventDestination"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations"
    o.input = Shapes::ShapeRef.new(shape: CreateConfigurationSetEventDestinationRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateConfigurationSetEventDestinationResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_contact, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateContact"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}/contacts"
    o.input = Shapes::ShapeRef.new(shape: CreateContactRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateContactResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
  end)

  api.add_operation(:create_contact_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateContactList"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/contact-lists"
    o.input = Shapes::ShapeRef.new(shape: CreateContactListRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateContactListResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_custom_verification_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCustomVerificationEmailTemplate"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/custom-verification-email-templates"
    o.input = Shapes::ShapeRef.new(shape: CreateCustomVerificationEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCustomVerificationEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_dedicated_ip_pool, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDedicatedIpPool"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/dedicated-ip-pools"
    o.input = Shapes::ShapeRef.new(shape: CreateDedicatedIpPoolRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDedicatedIpPoolResponse)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:create_deliverability_test_report, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDeliverabilityTestReport"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/deliverability-dashboard/test"
    o.input = Shapes::ShapeRef.new(shape: CreateDeliverabilityTestReportRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDeliverabilityTestReportResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccountSuspendedException)
    o.errors << Shapes::ShapeRef.new(shape: SendingPausedException)
    o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
    o.errors << Shapes::ShapeRef.new(shape: MailFromDomainNotVerifiedException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:create_email_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateEmailIdentity"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/identities"
    o.input = Shapes::ShapeRef.new(shape: CreateEmailIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateEmailIdentityResponse)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:create_email_identity_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateEmailIdentityPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}"
    o.input = Shapes::ShapeRef.new(shape: CreateEmailIdentityPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateEmailIdentityPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateEmailTemplate"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/templates"
    o.input = Shapes::ShapeRef.new(shape: CreateEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_export_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateExportJob"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/export-jobs"
    o.input = Shapes::ShapeRef.new(shape: CreateExportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateExportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:create_import_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateImportJob"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/import-jobs"
    o.input = Shapes::ShapeRef.new(shape: CreateImportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateImportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:delete_configuration_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteConfigurationSet"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteConfigurationSetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteConfigurationSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:delete_configuration_set_event_destination, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteConfigurationSetEventDestination"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteConfigurationSetEventDestinationRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteConfigurationSetEventDestinationResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_contact, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteContact"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}"
    o.input = Shapes::ShapeRef.new(shape: DeleteContactRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteContactResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:delete_contact_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteContactList"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteContactListRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteContactListResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:delete_custom_verification_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCustomVerificationEmailTemplate"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/custom-verification-email-templates/{TemplateName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteCustomVerificationEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteCustomVerificationEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_dedicated_ip_pool, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDedicatedIpPool"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/dedicated-ip-pools/{PoolName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteDedicatedIpPoolRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteDedicatedIpPoolResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:delete_email_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteEmailIdentity"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}"
    o.input = Shapes::ShapeRef.new(shape: DeleteEmailIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteEmailIdentityResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:delete_email_identity_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteEmailIdentityPolicy"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteEmailIdentityPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteEmailIdentityPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteEmailTemplate"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/templates/{TemplateName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_suppressed_destination, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSuppressedDestination"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/suppression/addresses/{EmailAddress}"
    o.input = Shapes::ShapeRef.new(shape: DeleteSuppressedDestinationRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteSuppressedDestinationResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:get_account, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAccount"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/account"
    o.input = Shapes::ShapeRef.new(shape: GetAccountRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAccountResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_blacklist_reports, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetBlacklistReports"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard/blacklist-report"
    o.input = Shapes::ShapeRef.new(shape: GetBlacklistReportsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetBlacklistReportsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_configuration_set, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetConfigurationSet"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}"
    o.input = Shapes::ShapeRef.new(shape: GetConfigurationSetRequest)
    o.output = Shapes::ShapeRef.new(shape: GetConfigurationSetResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_configuration_set_event_destinations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetConfigurationSetEventDestinations"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations"
    o.input = Shapes::ShapeRef.new(shape: GetConfigurationSetEventDestinationsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetConfigurationSetEventDestinationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_contact, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetContact"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}"
    o.input = Shapes::ShapeRef.new(shape: GetContactRequest)
    o.output = Shapes::ShapeRef.new(shape: GetContactResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:get_contact_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetContactList"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}"
    o.input = Shapes::ShapeRef.new(shape: GetContactListRequest)
    o.output = Shapes::ShapeRef.new(shape: GetContactListResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_custom_verification_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCustomVerificationEmailTemplate"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/custom-verification-email-templates/{TemplateName}"
    o.input = Shapes::ShapeRef.new(shape: GetCustomVerificationEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCustomVerificationEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_dedicated_ip, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDedicatedIp"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/dedicated-ips/{IP}"
    o.input = Shapes::ShapeRef.new(shape: GetDedicatedIpRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDedicatedIpResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_dedicated_ip_pool, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDedicatedIpPool"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/dedicated-ip-pools/{PoolName}"
    o.input = Shapes::ShapeRef.new(shape: GetDedicatedIpPoolRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDedicatedIpPoolResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_dedicated_ips, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDedicatedIps"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/dedicated-ips"
    o.input = Shapes::ShapeRef.new(shape: GetDedicatedIpsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDedicatedIpsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_deliverability_dashboard_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDeliverabilityDashboardOptions"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard"
    o.input = Shapes::ShapeRef.new(shape: GetDeliverabilityDashboardOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDeliverabilityDashboardOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_deliverability_test_report, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDeliverabilityTestReport"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard/test-reports/{ReportId}"
    o.input = Shapes::ShapeRef.new(shape: GetDeliverabilityTestReportRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDeliverabilityTestReportResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_domain_deliverability_campaign, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDomainDeliverabilityCampaign"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard/campaigns/{CampaignId}"
    o.input = Shapes::ShapeRef.new(shape: GetDomainDeliverabilityCampaignRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDomainDeliverabilityCampaignResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:get_domain_statistics_report, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDomainStatisticsReport"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard/statistics-report/{Domain}"
    o.input = Shapes::ShapeRef.new(shape: GetDomainStatisticsReportRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDomainStatisticsReportResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_email_identity, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetEmailIdentity"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}"
    o.input = Shapes::ShapeRef.new(shape: GetEmailIdentityRequest)
    o.output = Shapes::ShapeRef.new(shape: GetEmailIdentityResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_email_identity_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetEmailIdentityPolicies"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/policies"
    o.input = Shapes::ShapeRef.new(shape: GetEmailIdentityPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetEmailIdentityPoliciesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetEmailTemplate"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/templates/{TemplateName}"
    o.input = Shapes::ShapeRef.new(shape: GetEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: GetEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_export_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetExportJob"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/export-jobs/{JobId}"
    o.input = Shapes::ShapeRef.new(shape: GetExportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: GetExportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:get_import_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetImportJob"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/import-jobs/{JobId}"
    o.input = Shapes::ShapeRef.new(shape: GetImportJobRequest)
    o.output = Shapes::ShapeRef.new(shape: GetImportJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:get_message_insights, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMessageInsights"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/insights/{MessageId}/"
    o.input = Shapes::ShapeRef.new(shape: GetMessageInsightsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMessageInsightsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_suppressed_destination, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSuppressedDestination"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/suppression/addresses/{EmailAddress}"
    o.input = Shapes::ShapeRef.new(shape: GetSuppressedDestinationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSuppressedDestinationResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
  end)

  api.add_operation(:list_configuration_sets, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListConfigurationSets"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/configuration-sets"
    o.input = Shapes::ShapeRef.new(shape: ListConfigurationSetsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListConfigurationSetsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_contact_lists, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListContactLists"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/contact-lists"
    o.input = Shapes::ShapeRef.new(shape: ListContactListsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListContactListsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_contacts, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListContacts"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}/contacts/list"
    o.input = Shapes::ShapeRef.new(shape: ListContactsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListContactsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_custom_verification_email_templates, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCustomVerificationEmailTemplates"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/custom-verification-email-templates"
    o.input = Shapes::ShapeRef.new(shape: ListCustomVerificationEmailTemplatesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCustomVerificationEmailTemplatesResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_dedicated_ip_pools, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDedicatedIpPools"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/dedicated-ip-pools"
    o.input = Shapes::ShapeRef.new(shape: ListDedicatedIpPoolsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDedicatedIpPoolsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_deliverability_test_reports, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDeliverabilityTestReports"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard/test-reports"
    o.input = Shapes::ShapeRef.new(shape: ListDeliverabilityTestReportsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDeliverabilityTestReportsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_domain_deliverability_campaigns, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDomainDeliverabilityCampaigns"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns"
    o.input = Shapes::ShapeRef.new(shape: ListDomainDeliverabilityCampaignsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDomainDeliverabilityCampaignsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_email_identities, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListEmailIdentities"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/identities"
    o.input = Shapes::ShapeRef.new(shape: ListEmailIdentitiesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListEmailIdentitiesResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_email_templates, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListEmailTemplates"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/templates"
    o.input = Shapes::ShapeRef.new(shape: ListEmailTemplatesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListEmailTemplatesResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_export_jobs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListExportJobs"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/list-export-jobs"
    o.input = Shapes::ShapeRef.new(shape: ListExportJobsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListExportJobsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_import_jobs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListImportJobs"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/import-jobs/list"
    o.input = Shapes::ShapeRef.new(shape: ListImportJobsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListImportJobsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_recommendations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRecommendations"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/vdm/recommendations"
    o.input = Shapes::ShapeRef.new(shape: ListRecommendationsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRecommendationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_suppressed_destinations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSuppressedDestinations"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/suppression/addresses"
    o.input = Shapes::ShapeRef.new(shape: ListSuppressedDestinationsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSuppressedDestinationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "page_size",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "GET"
    o.http_request_uri = "/v2/email/tags"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:put_account_dedicated_ip_warmup_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutAccountDedicatedIpWarmupAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/account/dedicated-ips/warmup"
    o.input = Shapes::ShapeRef.new(shape: PutAccountDedicatedIpWarmupAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutAccountDedicatedIpWarmupAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_account_details, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutAccountDetails"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/account/details"
    o.input = Shapes::ShapeRef.new(shape: PutAccountDetailsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutAccountDetailsResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
  end)

  api.add_operation(:put_account_sending_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutAccountSendingAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/account/sending"
    o.input = Shapes::ShapeRef.new(shape: PutAccountSendingAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutAccountSendingAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_account_suppression_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutAccountSuppressionAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/account/suppression"
    o.input = Shapes::ShapeRef.new(shape: PutAccountSuppressionAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutAccountSuppressionAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_account_vdm_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutAccountVdmAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/account/vdm"
    o.input = Shapes::ShapeRef.new(shape: PutAccountVdmAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutAccountVdmAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:put_configuration_set_delivery_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutConfigurationSetDeliveryOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/delivery-options"
    o.input = Shapes::ShapeRef.new(shape: PutConfigurationSetDeliveryOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutConfigurationSetDeliveryOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_configuration_set_reputation_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutConfigurationSetReputationOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/reputation-options"
    o.input = Shapes::ShapeRef.new(shape: PutConfigurationSetReputationOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutConfigurationSetReputationOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_configuration_set_sending_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutConfigurationSetSendingOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/sending"
    o.input = Shapes::ShapeRef.new(shape: PutConfigurationSetSendingOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutConfigurationSetSendingOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_configuration_set_suppression_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutConfigurationSetSuppressionOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options"
    o.input = Shapes::ShapeRef.new(shape: PutConfigurationSetSuppressionOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutConfigurationSetSuppressionOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_configuration_set_tracking_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutConfigurationSetTrackingOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/tracking-options"
    o.input = Shapes::ShapeRef.new(shape: PutConfigurationSetTrackingOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutConfigurationSetTrackingOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_configuration_set_vdm_options, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutConfigurationSetVdmOptions"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/vdm-options"
    o.input = Shapes::ShapeRef.new(shape: PutConfigurationSetVdmOptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutConfigurationSetVdmOptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_dedicated_ip_in_pool, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutDedicatedIpInPool"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/dedicated-ips/{IP}/pool"
    o.input = Shapes::ShapeRef.new(shape: PutDedicatedIpInPoolRequest)
    o.output = Shapes::ShapeRef.new(shape: PutDedicatedIpInPoolResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_dedicated_ip_pool_scaling_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutDedicatedIpPoolScalingAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/dedicated-ip-pools/{PoolName}/scaling"
    o.input = Shapes::ShapeRef.new(shape: PutDedicatedIpPoolScalingAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutDedicatedIpPoolScalingAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_dedicated_ip_warmup_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutDedicatedIpWarmupAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/dedicated-ips/{IP}/warmup"
    o.input = Shapes::ShapeRef.new(shape: PutDedicatedIpWarmupAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutDedicatedIpWarmupAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_deliverability_dashboard_option, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutDeliverabilityDashboardOption"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/deliverability-dashboard"
    o.input = Shapes::ShapeRef.new(shape: PutDeliverabilityDashboardOptionRequest)
    o.output = Shapes::ShapeRef.new(shape: PutDeliverabilityDashboardOptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_email_identity_configuration_set_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutEmailIdentityConfigurationSetAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/configuration-set"
    o.input = Shapes::ShapeRef.new(shape: PutEmailIdentityConfigurationSetAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutEmailIdentityConfigurationSetAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_email_identity_dkim_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutEmailIdentityDkimAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/dkim"
    o.input = Shapes::ShapeRef.new(shape: PutEmailIdentityDkimAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutEmailIdentityDkimAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_email_identity_dkim_signing_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutEmailIdentityDkimSigningAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v1/email/identities/{EmailIdentity}/dkim/signing"
    o.input = Shapes::ShapeRef.new(shape: PutEmailIdentityDkimSigningAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutEmailIdentityDkimSigningAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_email_identity_feedback_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutEmailIdentityFeedbackAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/feedback"
    o.input = Shapes::ShapeRef.new(shape: PutEmailIdentityFeedbackAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutEmailIdentityFeedbackAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_email_identity_mail_from_attributes, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutEmailIdentityMailFromAttributes"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/mail-from"
    o.input = Shapes::ShapeRef.new(shape: PutEmailIdentityMailFromAttributesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutEmailIdentityMailFromAttributesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:put_suppressed_destination, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutSuppressedDestination"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/suppression/addresses"
    o.input = Shapes::ShapeRef.new(shape: PutSuppressedDestinationRequest)
    o.output = Shapes::ShapeRef.new(shape: PutSuppressedDestinationResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:send_bulk_email, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SendBulkEmail"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/outbound-bulk-emails"
    o.input = Shapes::ShapeRef.new(shape: SendBulkEmailRequest)
    o.output = Shapes::ShapeRef.new(shape: SendBulkEmailResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccountSuspendedException)
    o.errors << Shapes::ShapeRef.new(shape: SendingPausedException)
    o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
    o.errors << Shapes::ShapeRef.new(shape: MailFromDomainNotVerifiedException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:send_custom_verification_email, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SendCustomVerificationEmail"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/outbound-custom-verification-emails"
    o.input = Shapes::ShapeRef.new(shape: SendCustomVerificationEmailRequest)
    o.output = Shapes::ShapeRef.new(shape: SendCustomVerificationEmailResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
    o.errors << Shapes::ShapeRef.new(shape: SendingPausedException)
    o.errors << Shapes::ShapeRef.new(shape: MailFromDomainNotVerifiedException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:send_email, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SendEmail"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/outbound-emails"
    o.input = Shapes::ShapeRef.new(shape: SendEmailRequest)
    o.output = Shapes::ShapeRef.new(shape: SendEmailResponse)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccountSuspendedException)
    o.errors << Shapes::ShapeRef.new(shape: SendingPausedException)
    o.errors << Shapes::ShapeRef.new(shape: MessageRejected)
    o.errors << Shapes::ShapeRef.new(shape: MailFromDomainNotVerifiedException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/tags"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:test_render_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TestRenderEmailTemplate"
    o.http_method = "POST"
    o.http_request_uri = "/v2/email/templates/{TemplateName}/render"
    o.input = Shapes::ShapeRef.new(shape: TestRenderEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: TestRenderEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "DELETE"
    o.http_request_uri = "/v2/email/tags"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:update_configuration_set_event_destination, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateConfigurationSetEventDestination"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateConfigurationSetEventDestinationRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateConfigurationSetEventDestinationResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_contact, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateContact"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}/contacts/{EmailAddress}"
    o.input = Shapes::ShapeRef.new(shape: UpdateContactRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateContactResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:update_contact_list, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateContactList"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/contact-lists/{ContactListName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateContactListRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateContactListResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
  end)

  api.add_operation(:update_custom_verification_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCustomVerificationEmailTemplate"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/custom-verification-email-templates/{TemplateName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateCustomVerificationEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCustomVerificationEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
  end)

  api.add_operation(:update_email_identity_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateEmailIdentityPolicy"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateEmailIdentityPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateEmailIdentityPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_email_template, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateEmailTemplate"
    o.http_method = "PUT"
    o.http_request_uri = "/v2/email/templates/{TemplateName}"
    o.input = Shapes::ShapeRef.new(shape: UpdateEmailTemplateRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateEmailTemplateResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)
end