Module: Aws::ChimeSDKMessaging::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-chimesdkmessaging/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

AllowNotifications =

This constant is part 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: 'AllowNotifications')
AppInstanceUserMembershipSummary =

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

Shapes::StructureShape.new(name: 'AppInstanceUserMembershipSummary')
AssociateChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'AssociateChannelFlowRequest')
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')
BatchChannelMemberships =

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

Shapes::StructureShape.new(name: 'BatchChannelMemberships')
BatchCreateChannelMembershipError =

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

Shapes::StructureShape.new(name: 'BatchCreateChannelMembershipError')
BatchCreateChannelMembershipErrors =

This constant is part 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: 'BatchCreateChannelMembershipErrors')
BatchCreateChannelMembershipRequest =

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

Shapes::StructureShape.new(name: 'BatchCreateChannelMembershipRequest')
BatchCreateChannelMembershipResponse =

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

Shapes::StructureShape.new(name: 'BatchCreateChannelMembershipResponse')
CallbackIdType =

This constant is part 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: 'CallbackIdType')
Channel =

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

Shapes::StructureShape.new(name: 'Channel')
ChannelAssociatedWithFlowSummary =

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

Shapes::StructureShape.new(name: 'ChannelAssociatedWithFlowSummary')
ChannelAssociatedWithFlowSummaryList =

This constant is part 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: 'ChannelAssociatedWithFlowSummaryList')
ChannelBan =

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

Shapes::StructureShape.new(name: 'ChannelBan')
ChannelBanSummary =

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

Shapes::StructureShape.new(name: 'ChannelBanSummary')
ChannelBanSummaryList =

This constant is part 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: 'ChannelBanSummaryList')
ChannelFlow =

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

Shapes::StructureShape.new(name: 'ChannelFlow')
ChannelFlowCallbackRequest =

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

Shapes::StructureShape.new(name: 'ChannelFlowCallbackRequest')
ChannelFlowCallbackResponse =

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

Shapes::StructureShape.new(name: 'ChannelFlowCallbackResponse')
ChannelFlowExecutionOrder =

This constant is part 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: 'ChannelFlowExecutionOrder')
ChannelFlowSummary =

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

Shapes::StructureShape.new(name: 'ChannelFlowSummary')
ChannelFlowSummaryList =

This constant is part 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: 'ChannelFlowSummaryList')
ChannelId =

This constant is part 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: 'ChannelId')
ChannelMemberArns =

This constant is part 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: 'ChannelMemberArns')
ChannelMembership =

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

Shapes::StructureShape.new(name: 'ChannelMembership')
ChannelMembershipForAppInstanceUserSummary =

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

Shapes::StructureShape.new(name: 'ChannelMembershipForAppInstanceUserSummary')
ChannelMembershipForAppInstanceUserSummaryList =

This constant is part 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: 'ChannelMembershipForAppInstanceUserSummaryList')
ChannelMembershipPreferences =

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

Shapes::StructureShape.new(name: 'ChannelMembershipPreferences')
ChannelMembershipSummary =

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

Shapes::StructureShape.new(name: 'ChannelMembershipSummary')
ChannelMembershipSummaryList =

This constant is part 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: 'ChannelMembershipSummaryList')
ChannelMembershipType =

This constant is part 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: 'ChannelMembershipType')
ChannelMessage =

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

Shapes::StructureShape.new(name: 'ChannelMessage')
ChannelMessageCallback =

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

Shapes::StructureShape.new(name: 'ChannelMessageCallback')
ChannelMessagePersistenceType =

This constant is part 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: 'ChannelMessagePersistenceType')
ChannelMessageStatus =

This constant is part 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: 'ChannelMessageStatus')
ChannelMessageStatusStructure =

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

Shapes::StructureShape.new(name: 'ChannelMessageStatusStructure')
ChannelMessageSummary =

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

Shapes::StructureShape.new(name: 'ChannelMessageSummary')
ChannelMessageSummaryList =

This constant is part 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: 'ChannelMessageSummaryList')
ChannelMessageType =

This constant is part 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: 'ChannelMessageType')
ChannelMode =

This constant is part 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: 'ChannelMode')
ChannelModeratedByAppInstanceUserSummary =

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

Shapes::StructureShape.new(name: 'ChannelModeratedByAppInstanceUserSummary')
ChannelModeratedByAppInstanceUserSummaryList =

This constant is part 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: 'ChannelModeratedByAppInstanceUserSummaryList')
ChannelModerator =

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

Shapes::StructureShape.new(name: 'ChannelModerator')
ChannelModeratorArns =

This constant is part 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: 'ChannelModeratorArns')
ChannelModeratorSummary =

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

Shapes::StructureShape.new(name: 'ChannelModeratorSummary')
ChannelModeratorSummaryList =

This constant is part 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: 'ChannelModeratorSummaryList')
ChannelPrivacy =

This constant is part 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: 'ChannelPrivacy')
ChannelSummary =

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

Shapes::StructureShape.new(name: 'ChannelSummary')
ChannelSummaryList =

This constant is part 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: 'ChannelSummaryList')
ChimeArn =

This constant is part 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: 'ChimeArn')
ClientRequestToken =

This constant is part 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: 'ClientRequestToken')
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')
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::StringShape.new(name: 'Content')
ContentType =

This constant is part 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: 'ContentType')
CreateChannelBanRequest =

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

Shapes::StructureShape.new(name: 'CreateChannelBanRequest')
CreateChannelBanResponse =

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

Shapes::StructureShape.new(name: 'CreateChannelBanResponse')
CreateChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'CreateChannelFlowRequest')
CreateChannelFlowResponse =

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

Shapes::StructureShape.new(name: 'CreateChannelFlowResponse')
CreateChannelMembershipRequest =

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

Shapes::StructureShape.new(name: 'CreateChannelMembershipRequest')
CreateChannelMembershipResponse =

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

Shapes::StructureShape.new(name: 'CreateChannelMembershipResponse')
CreateChannelModeratorRequest =

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

Shapes::StructureShape.new(name: 'CreateChannelModeratorRequest')
CreateChannelModeratorResponse =

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

Shapes::StructureShape.new(name: 'CreateChannelModeratorResponse')
CreateChannelRequest =

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

Shapes::StructureShape.new(name: 'CreateChannelRequest')
CreateChannelResponse =

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

Shapes::StructureShape.new(name: 'CreateChannelResponse')
DeleteChannelBanRequest =

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

Shapes::StructureShape.new(name: 'DeleteChannelBanRequest')
DeleteChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'DeleteChannelFlowRequest')
DeleteChannelMembershipRequest =

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

Shapes::StructureShape.new(name: 'DeleteChannelMembershipRequest')
DeleteChannelMessageRequest =

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

Shapes::StructureShape.new(name: 'DeleteChannelMessageRequest')
DeleteChannelModeratorRequest =

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

Shapes::StructureShape.new(name: 'DeleteChannelModeratorRequest')
DeleteChannelRequest =

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

Shapes::StructureShape.new(name: 'DeleteChannelRequest')
DeleteMessagingStreamingConfigurationsRequest =

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

Shapes::StructureShape.new(name: 'DeleteMessagingStreamingConfigurationsRequest')
DescribeChannelBanRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelBanRequest')
DescribeChannelBanResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelBanResponse')
DescribeChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelFlowRequest')
DescribeChannelFlowResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelFlowResponse')
DescribeChannelMembershipForAppInstanceUserRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelMembershipForAppInstanceUserRequest')
DescribeChannelMembershipForAppInstanceUserResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelMembershipForAppInstanceUserResponse')
DescribeChannelMembershipRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelMembershipRequest')
DescribeChannelMembershipResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelMembershipResponse')
DescribeChannelModeratedByAppInstanceUserRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelModeratedByAppInstanceUserRequest')
DescribeChannelModeratedByAppInstanceUserResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelModeratedByAppInstanceUserResponse')
DescribeChannelModeratorRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelModeratorRequest')
DescribeChannelModeratorResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelModeratorResponse')
DescribeChannelRequest =

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

Shapes::StructureShape.new(name: 'DescribeChannelRequest')
DescribeChannelResponse =

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

Shapes::StructureShape.new(name: 'DescribeChannelResponse')
DisassociateChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'DisassociateChannelFlowRequest')
ElasticChannelConfiguration =

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

Shapes::StructureShape.new(name: 'ElasticChannelConfiguration')
ErrorCode =

This constant is part 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: 'ErrorCode')
ExpirationCriterion =

This constant is part 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: 'ExpirationCriterion')
ExpirationDays =

This constant is part 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: 'ExpirationDays')
ExpirationSettings =

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

Shapes::StructureShape.new(name: 'ExpirationSettings')
FallbackAction =

This constant is part 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: 'FallbackAction')
FilterRule =

This constant is part 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: 'FilterRule')
ForbiddenException =

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

Shapes::StructureShape.new(name: 'ForbiddenException')
GetChannelMembershipPreferencesRequest =

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

Shapes::StructureShape.new(name: 'GetChannelMembershipPreferencesRequest')
GetChannelMembershipPreferencesResponse =

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

Shapes::StructureShape.new(name: 'GetChannelMembershipPreferencesResponse')
GetChannelMessageRequest =

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

Shapes::StructureShape.new(name: 'GetChannelMessageRequest')
GetChannelMessageResponse =

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

Shapes::StructureShape.new(name: 'GetChannelMessageResponse')
GetChannelMessageStatusRequest =

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

Shapes::StructureShape.new(name: 'GetChannelMessageStatusRequest')
GetChannelMessageStatusResponse =

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

Shapes::StructureShape.new(name: 'GetChannelMessageStatusResponse')
GetMessagingSessionEndpointRequest =

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

Shapes::StructureShape.new(name: 'GetMessagingSessionEndpointRequest')
GetMessagingSessionEndpointResponse =

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

Shapes::StructureShape.new(name: 'GetMessagingSessionEndpointResponse')
GetMessagingStreamingConfigurationsRequest =

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

Shapes::StructureShape.new(name: 'GetMessagingStreamingConfigurationsRequest')
GetMessagingStreamingConfigurationsResponse =

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

Shapes::StructureShape.new(name: 'GetMessagingStreamingConfigurationsResponse')
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::StructureShape.new(name: 'Identity')
InvocationType =

This constant is part 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: 'InvocationType')
LambdaConfiguration =

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

Shapes::StructureShape.new(name: 'LambdaConfiguration')
LambdaFunctionArn =

This constant is part 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: 'LambdaFunctionArn')
ListChannelBansRequest =

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

Shapes::StructureShape.new(name: 'ListChannelBansRequest')
ListChannelBansResponse =

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

Shapes::StructureShape.new(name: 'ListChannelBansResponse')
ListChannelFlowsRequest =

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

Shapes::StructureShape.new(name: 'ListChannelFlowsRequest')
ListChannelFlowsResponse =

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

Shapes::StructureShape.new(name: 'ListChannelFlowsResponse')
ListChannelMembershipsForAppInstanceUserRequest =

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

Shapes::StructureShape.new(name: 'ListChannelMembershipsForAppInstanceUserRequest')
ListChannelMembershipsForAppInstanceUserResponse =

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

Shapes::StructureShape.new(name: 'ListChannelMembershipsForAppInstanceUserResponse')
ListChannelMembershipsRequest =

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

Shapes::StructureShape.new(name: 'ListChannelMembershipsRequest')
ListChannelMembershipsResponse =

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

Shapes::StructureShape.new(name: 'ListChannelMembershipsResponse')
ListChannelMessagesRequest =

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

Shapes::StructureShape.new(name: 'ListChannelMessagesRequest')
ListChannelMessagesResponse =

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

Shapes::StructureShape.new(name: 'ListChannelMessagesResponse')
ListChannelModeratorsRequest =

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

Shapes::StructureShape.new(name: 'ListChannelModeratorsRequest')
ListChannelModeratorsResponse =

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

Shapes::StructureShape.new(name: 'ListChannelModeratorsResponse')
ListChannelsAssociatedWithChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'ListChannelsAssociatedWithChannelFlowRequest')
ListChannelsAssociatedWithChannelFlowResponse =

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

Shapes::StructureShape.new(name: 'ListChannelsAssociatedWithChannelFlowResponse')
ListChannelsModeratedByAppInstanceUserRequest =

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

Shapes::StructureShape.new(name: 'ListChannelsModeratedByAppInstanceUserRequest')
ListChannelsModeratedByAppInstanceUserResponse =

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

Shapes::StructureShape.new(name: 'ListChannelsModeratedByAppInstanceUserResponse')
ListChannelsRequest =

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

Shapes::StructureShape.new(name: 'ListChannelsRequest')
ListChannelsResponse =

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

Shapes::StructureShape.new(name: 'ListChannelsResponse')
ListSubChannelsRequest =

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

Shapes::StructureShape.new(name: 'ListSubChannelsRequest')
ListSubChannelsResponse =

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

Shapes::StructureShape.new(name: 'ListSubChannelsResponse')
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')
MaxResults =

This constant is part 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: 'MaxResults')
MaximumSubChannels =

This constant is part 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: 'MaximumSubChannels')
MemberArns =

This constant is part 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: 'MemberArns')
Members =

This constant is part 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: 'Members')
MembershipCount =

This constant is part 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: 'MembershipCount')
MessageAttributeMap =

This constant is part 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: 'MessageAttributeMap')
MessageAttributeName =

This constant is part 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: 'MessageAttributeName')
MessageAttributeStringValue =

This constant is part 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: 'MessageAttributeStringValue')
MessageAttributeStringValues =

This constant is part 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: 'MessageAttributeStringValues')
MessageAttributeValue =

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

Shapes::StructureShape.new(name: 'MessageAttributeValue')
MessageId =

This constant is part 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: 'MessageId')
MessagingDataType =

This constant is part 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: 'MessagingDataType')
MessagingSessionEndpoint =

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

Shapes::StructureShape.new(name: 'MessagingSessionEndpoint')
Metadata =

This constant is part 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: 'Metadata')
MinimumMembershipPercentage =

This constant is part 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: 'MinimumMembershipPercentage')
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')
NonEmptyContent =

This constant is part 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: 'NonEmptyContent')
NonEmptyResourceName =

This constant is part 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: 'NonEmptyResourceName')
NonNullableBoolean =

This constant is part 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: 'NonNullableBoolean')
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')
Processor =

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

Shapes::StructureShape.new(name: 'Processor')
ProcessorConfiguration =

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

Shapes::StructureShape.new(name: 'ProcessorConfiguration')
ProcessorList =

This constant is part 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: 'ProcessorList')
PushNotificationBody =

This constant is part 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: 'PushNotificationBody')
PushNotificationConfiguration =

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

Shapes::StructureShape.new(name: 'PushNotificationConfiguration')
PushNotificationPreferences =

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

Shapes::StructureShape.new(name: 'PushNotificationPreferences')
PushNotificationTitle =

This constant is part 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: 'PushNotificationTitle')
PushNotificationType =

This constant is part 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: 'PushNotificationType')
PutChannelExpirationSettingsRequest =

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

Shapes::StructureShape.new(name: 'PutChannelExpirationSettingsRequest')
PutChannelExpirationSettingsResponse =

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

Shapes::StructureShape.new(name: 'PutChannelExpirationSettingsResponse')
PutChannelMembershipPreferencesRequest =

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

Shapes::StructureShape.new(name: 'PutChannelMembershipPreferencesRequest')
PutChannelMembershipPreferencesResponse =

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

Shapes::StructureShape.new(name: 'PutChannelMembershipPreferencesResponse')
PutMessagingStreamingConfigurationsRequest =

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

Shapes::StructureShape.new(name: 'PutMessagingStreamingConfigurationsRequest')
PutMessagingStreamingConfigurationsResponse =

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

Shapes::StructureShape.new(name: 'PutMessagingStreamingConfigurationsResponse')
RedactChannelMessageRequest =

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

Shapes::StructureShape.new(name: 'RedactChannelMessageRequest')
RedactChannelMessageResponse =

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

Shapes::StructureShape.new(name: 'RedactChannelMessageResponse')
ResourceLimitExceededException =

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

Shapes::StructureShape.new(name: 'ResourceLimitExceededException')
ResourceName =

This constant is part 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: 'ResourceName')
SearchChannelsRequest =

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

Shapes::StructureShape.new(name: 'SearchChannelsRequest')
SearchChannelsResponse =

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

Shapes::StructureShape.new(name: 'SearchChannelsResponse')
SearchField =

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

Shapes::StructureShape.new(name: 'SearchField')
SearchFieldKey =

This constant is part 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: 'SearchFieldKey')
SearchFieldOperator =

This constant is part 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: 'SearchFieldOperator')
SearchFieldValue =

This constant is part 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: 'SearchFieldValue')
SearchFieldValues =

This constant is part 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: 'SearchFieldValues')
SearchFields =

This constant is part 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: 'SearchFields')
SendChannelMessageRequest =

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

Shapes::StructureShape.new(name: 'SendChannelMessageRequest')
SendChannelMessageResponse =

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

Shapes::StructureShape.new(name: 'SendChannelMessageResponse')
ServiceFailureException =

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

Shapes::StructureShape.new(name: 'ServiceFailureException')
ServiceUnavailableException =

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

Shapes::StructureShape.new(name: 'ServiceUnavailableException')
SortOrder =

This constant is part 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: 'SortOrder')
StatusDetail =

This constant is part 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: 'StatusDetail')
StreamingConfiguration =

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

Shapes::StructureShape.new(name: 'StreamingConfiguration')
StreamingConfigurationList =

This constant is part 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: 'StreamingConfigurationList')
String =

This constant is part 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: 'String')
SubChannelId =

This constant is part 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: 'SubChannelId')
SubChannelSummary =

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

Shapes::StructureShape.new(name: 'SubChannelSummary')
SubChannelSummaryList =

This constant is part 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: 'SubChannelSummaryList')
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')
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')
Target =

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

Shapes::StructureShape.new(name: 'Target')
TargetList =

This constant is part 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: 'TargetList')
TargetMembershipsPerSubChannel =

This constant is part 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: 'TargetMembershipsPerSubChannel')
ThrottledClientException =

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

Shapes::StructureShape.new(name: 'ThrottledClientException')
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')
UnauthorizedClientException =

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

Shapes::StructureShape.new(name: 'UnauthorizedClientException')
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')
UpdateChannelFlowRequest =

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

Shapes::StructureShape.new(name: 'UpdateChannelFlowRequest')
UpdateChannelFlowResponse =

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

Shapes::StructureShape.new(name: 'UpdateChannelFlowResponse')
UpdateChannelMessageRequest =

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

Shapes::StructureShape.new(name: 'UpdateChannelMessageRequest')
UpdateChannelMessageResponse =

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

Shapes::StructureShape.new(name: 'UpdateChannelMessageResponse')
UpdateChannelReadMarkerRequest =

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

Shapes::StructureShape.new(name: 'UpdateChannelReadMarkerRequest')
UpdateChannelReadMarkerResponse =

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

Shapes::StructureShape.new(name: 'UpdateChannelReadMarkerResponse')
UpdateChannelRequest =

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

Shapes::StructureShape.new(name: 'UpdateChannelRequest')
UpdateChannelResponse =

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

Shapes::StructureShape.new(name: 'UpdateChannelResponse')
UrlType =

This constant is part 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: 'UrlType')
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 = "2021-05-15"

  api. = {
    "apiVersion" => "2021-05-15",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "messaging-chime",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceFullName" => "Amazon Chime SDK Messaging",
    "serviceId" => "Chime SDK Messaging",
    "signatureVersion" => "v4",
    "signingName" => "chime",
    "uid" => "chime-sdk-messaging-2021-05-15",
  }

  api.add_operation(:associate_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateChannelFlow"
    o.http_method = "PUT"
    o.http_request_uri = "/channels/{channelArn}/channel-flow"
    o.input = Shapes::ShapeRef.new(shape: AssociateChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:batch_create_channel_membership, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchCreateChannelMembership"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}/memberships?operation=batch-create"
    o.input = Shapes::ShapeRef.new(shape: BatchCreateChannelMembershipRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchCreateChannelMembershipResponse)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
  end)

  api.add_operation(:channel_flow_callback, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ChannelFlowCallback"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}?operation=channel-flow-callback"
    o.input = Shapes::ShapeRef.new(shape: ChannelFlowCallbackRequest)
    o.output = Shapes::ShapeRef.new(shape: ChannelFlowCallbackResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:create_channel, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateChannel"
    o.http_method = "POST"
    o.http_request_uri = "/channels"
    o.input = Shapes::ShapeRef.new(shape: CreateChannelRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateChannelResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:create_channel_ban, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateChannelBan"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}/bans"
    o.input = Shapes::ShapeRef.new(shape: CreateChannelBanRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateChannelBanResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:create_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateChannelFlow"
    o.http_method = "POST"
    o.http_request_uri = "/channel-flows"
    o.input = Shapes::ShapeRef.new(shape: CreateChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateChannelFlowResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:create_channel_membership, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateChannelMembership"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}/memberships"
    o.input = Shapes::ShapeRef.new(shape: CreateChannelMembershipRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateChannelMembershipResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:create_channel_moderator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateChannelModerator"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}/moderators"
    o.input = Shapes::ShapeRef.new(shape: CreateChannelModeratorRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateChannelModeratorResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_channel, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteChannel"
    o.http_method = "DELETE"
    o.http_request_uri = "/channels/{channelArn}"
    o.input = Shapes::ShapeRef.new(shape: DeleteChannelRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_channel_ban, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteChannelBan"
    o.http_method = "DELETE"
    o.http_request_uri = "/channels/{channelArn}/bans/{memberArn}"
    o.input = Shapes::ShapeRef.new(shape: DeleteChannelBanRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteChannelFlow"
    o.http_method = "DELETE"
    o.http_request_uri = "/channel-flows/{channelFlowArn}"
    o.input = Shapes::ShapeRef.new(shape: DeleteChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_channel_membership, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteChannelMembership"
    o.http_method = "DELETE"
    o.http_request_uri = "/channels/{channelArn}/memberships/{memberArn}"
    o.input = Shapes::ShapeRef.new(shape: DeleteChannelMembershipRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_channel_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteChannelMessage"
    o.http_method = "DELETE"
    o.http_request_uri = "/channels/{channelArn}/messages/{messageId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteChannelMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_channel_moderator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteChannelModerator"
    o.http_method = "DELETE"
    o.http_request_uri = "/channels/{channelArn}/moderators/{channelModeratorArn}"
    o.input = Shapes::ShapeRef.new(shape: DeleteChannelModeratorRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:delete_messaging_streaming_configurations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteMessagingStreamingConfigurations"
    o.http_method = "DELETE"
    o.http_request_uri = "/app-instances/{appInstanceArn}/streaming-configurations"
    o.input = Shapes::ShapeRef.new(shape: DeleteMessagingStreamingConfigurationsRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannel"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel_ban, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannelBan"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/bans/{memberArn}"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelBanRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelBanResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannelFlow"
    o.http_method = "GET"
    o.http_request_uri = "/channel-flows/{channelFlowArn}"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelFlowResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel_membership, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannelMembership"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/memberships/{memberArn}"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelMembershipRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelMembershipResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel_membership_for_app_instance_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannelMembershipForAppInstanceUser"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}?scope=app-instance-user-membership"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelMembershipForAppInstanceUserRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelMembershipForAppInstanceUserResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel_moderated_by_app_instance_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannelModeratedByAppInstanceUser"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}?scope=app-instance-user-moderated-channel"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelModeratedByAppInstanceUserRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelModeratedByAppInstanceUserResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:describe_channel_moderator, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeChannelModerator"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/moderators/{channelModeratorArn}"
    o.input = Shapes::ShapeRef.new(shape: DescribeChannelModeratorRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeChannelModeratorResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:disassociate_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateChannelFlow"
    o.http_method = "DELETE"
    o.http_request_uri = "/channels/{channelArn}/channel-flow/{channelFlowArn}"
    o.input = Shapes::ShapeRef.new(shape: DisassociateChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:get_channel_membership_preferences, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetChannelMembershipPreferences"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/memberships/{memberArn}/preferences"
    o.input = Shapes::ShapeRef.new(shape: GetChannelMembershipPreferencesRequest)
    o.output = Shapes::ShapeRef.new(shape: GetChannelMembershipPreferencesResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:get_channel_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetChannelMessage"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/messages/{messageId}"
    o.input = Shapes::ShapeRef.new(shape: GetChannelMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: GetChannelMessageResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:get_channel_message_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetChannelMessageStatus"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/messages/{messageId}?scope=message-status"
    o.input = Shapes::ShapeRef.new(shape: GetChannelMessageStatusRequest)
    o.output = Shapes::ShapeRef.new(shape: GetChannelMessageStatusResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:get_messaging_session_endpoint, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMessagingSessionEndpoint"
    o.http_method = "GET"
    o.http_request_uri = "/endpoints/messaging-session"
    o.input = Shapes::ShapeRef.new(shape: GetMessagingSessionEndpointRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMessagingSessionEndpointResponse)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:get_messaging_streaming_configurations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMessagingStreamingConfigurations"
    o.http_method = "GET"
    o.http_request_uri = "/app-instances/{appInstanceArn}/streaming-configurations"
    o.input = Shapes::ShapeRef.new(shape: GetMessagingStreamingConfigurationsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMessagingStreamingConfigurationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:list_channel_bans, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelBans"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/bans"
    o.input = Shapes::ShapeRef.new(shape: ListChannelBansRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelBansResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channel_flows, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelFlows"
    o.http_method = "GET"
    o.http_request_uri = "/channel-flows"
    o.input = Shapes::ShapeRef.new(shape: ListChannelFlowsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelFlowsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channel_memberships, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelMemberships"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/memberships"
    o.input = Shapes::ShapeRef.new(shape: ListChannelMembershipsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelMembershipsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channel_memberships_for_app_instance_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelMembershipsForAppInstanceUser"
    o.http_method = "GET"
    o.http_request_uri = "/channels?scope=app-instance-user-memberships"
    o.input = Shapes::ShapeRef.new(shape: ListChannelMembershipsForAppInstanceUserRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelMembershipsForAppInstanceUserResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channel_messages, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelMessages"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/messages"
    o.input = Shapes::ShapeRef.new(shape: ListChannelMessagesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelMessagesResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channel_moderators, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelModerators"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/moderators"
    o.input = Shapes::ShapeRef.new(shape: ListChannelModeratorsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelModeratorsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannels"
    o.http_method = "GET"
    o.http_request_uri = "/channels"
    o.input = Shapes::ShapeRef.new(shape: ListChannelsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channels_associated_with_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelsAssociatedWithChannelFlow"
    o.http_method = "GET"
    o.http_request_uri = "/channels?scope=channel-flow-associations"
    o.input = Shapes::ShapeRef.new(shape: ListChannelsAssociatedWithChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelsAssociatedWithChannelFlowResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_channels_moderated_by_app_instance_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListChannelsModeratedByAppInstanceUser"
    o.http_method = "GET"
    o.http_request_uri = "/channels?scope=app-instance-user-moderated-channels"
    o.input = Shapes::ShapeRef.new(shape: ListChannelsModeratedByAppInstanceUserRequest)
    o.output = Shapes::ShapeRef.new(shape: ListChannelsModeratedByAppInstanceUserResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_sub_channels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubChannels"
    o.http_method = "GET"
    o.http_request_uri = "/channels/{channelArn}/subchannels"
    o.input = Shapes::ShapeRef.new(shape: ListSubChannelsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSubChannelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      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 = "/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: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:put_channel_expiration_settings, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutChannelExpirationSettings"
    o.http_method = "PUT"
    o.http_request_uri = "/channels/{channelArn}/expiration-settings"
    o.input = Shapes::ShapeRef.new(shape: PutChannelExpirationSettingsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutChannelExpirationSettingsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:put_channel_membership_preferences, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutChannelMembershipPreferences"
    o.http_method = "PUT"
    o.http_request_uri = "/channels/{channelArn}/memberships/{memberArn}/preferences"
    o.input = Shapes::ShapeRef.new(shape: PutChannelMembershipPreferencesRequest)
    o.output = Shapes::ShapeRef.new(shape: PutChannelMembershipPreferencesResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:put_messaging_streaming_configurations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutMessagingStreamingConfigurations"
    o.http_method = "PUT"
    o.http_request_uri = "/app-instances/{appInstanceArn}/streaming-configurations"
    o.input = Shapes::ShapeRef.new(shape: PutMessagingStreamingConfigurationsRequest)
    o.output = Shapes::ShapeRef.new(shape: PutMessagingStreamingConfigurationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:redact_channel_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RedactChannelMessage"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}/messages/{messageId}?operation=redact"
    o.input = Shapes::ShapeRef.new(shape: RedactChannelMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: RedactChannelMessageResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:search_channels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchChannels"
    o.http_method = "POST"
    o.http_request_uri = "/channels?operation=search"
    o.input = Shapes::ShapeRef.new(shape: SearchChannelsRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchChannelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:send_channel_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SendChannelMessage"
    o.http_method = "POST"
    o.http_request_uri = "/channels/{channelArn}/messages"
    o.input = Shapes::ShapeRef.new(shape: SendChannelMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: SendChannelMessageResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/tags?operation=tag-resource"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "POST"
    o.http_request_uri = "/tags?operation=untag-resource"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:update_channel, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateChannel"
    o.http_method = "PUT"
    o.http_request_uri = "/channels/{channelArn}"
    o.input = Shapes::ShapeRef.new(shape: UpdateChannelRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateChannelResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:update_channel_flow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateChannelFlow"
    o.http_method = "PUT"
    o.http_request_uri = "/channel-flows/{channelFlowArn}"
    o.input = Shapes::ShapeRef.new(shape: UpdateChannelFlowRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateChannelFlowResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:update_channel_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateChannelMessage"
    o.http_method = "PUT"
    o.http_request_uri = "/channels/{channelArn}/messages/{messageId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateChannelMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateChannelMessageResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)

  api.add_operation(:update_channel_read_marker, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateChannelReadMarker"
    o.http_method = "PUT"
    o.http_request_uri = "/channels/{channelArn}/readMarker"
    o.input = Shapes::ShapeRef.new(shape: UpdateChannelReadMarkerRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateChannelReadMarkerResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedClientException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottledClientException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
  end)
end