/*
* Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.chimesdkmessaging;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.chimesdkmessaging.model.*;
/**
* Interface for accessing Amazon ChimeSDK Messaging
*
* The Amazon Chime SDK messaging APIs in this section allow software developers
* to send and receive messages in custom messaging applications. These APIs
* depend on the frameworks provided by the Amazon Chime SDK identity APIs. For
* more information about the messaging APIs, see Amazon Chime SDK messaging.
*
**/
public interface AmazonChimeSDKMessaging {
/**
* Overrides the default endpoint for this client
* ("https://messaging-chime.us-east-1.amazonaws.com"). Callers can use this
* method to control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex:
* "messaging-chime.us-east-1.amazonaws.com") or a full URL, including the
* protocol (ex: "https://messaging-chime.us-east-1.amazonaws.com"). If the
* protocol is not specified here, the default protocol from this client's
* {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and
* a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
* 3912
*
* This method is not threadsafe. An endpoint should be configured when
* the client is created and before any service requests are made. Changing
* it afterwards creates inevitable race conditions for any service requests
* in transit or retrying.
*
* @param endpoint The endpoint (ex:
* "messaging-chime.us-east-1.amazonaws.com") or a full URL,
* including the protocol (ex:
* "https://messaging-chime.us-east-1.amazonaws.com") of the
* region specific AWS endpoint this client will communicate
* with.
* @throws IllegalArgumentException If any problems are detected with the
* specified endpoint.
*/
public void setEndpoint(String endpoint) throws java.lang.IllegalArgumentException;
/**
* An alternative to {@link AmazonChimeSDKMessaging#setEndpoint(String)},
* sets the regional endpoint for this client's service calls. Callers can
* use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol.
* To use http instead, specify it in the {@link ClientConfiguration}
* supplied at construction.
*
* This method is not threadsafe. A region should be configured when the
* client is created and before any service requests are made. Changing it
* afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param region The region this client will communicate with. See
* {@link Region#getRegion(com.amazonaws.regions.Regions)} for
* accessing a given region.
* @throws java.lang.IllegalArgumentException If the given region is null,
* or if this service isn't available in the given region. See
* {@link Region#isServiceSupported(String)}
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class,
* com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
*/
public void setRegion(Region region) throws java.lang.IllegalArgumentException;
/**
*
* Associates a channel flow with a channel. Once associated, all messages
* to that channel go through channel flow processors. To stop processing,
* use the DisassociateChannelFlow
API.
*
*
*
* Only administrators or channel moderators can associate a channel flow.
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param associateChannelFlowRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void associateChannelFlow(AssociateChannelFlowRequest associateChannelFlowRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Adds a specified number of users and bots to a channel.
*
*
* @param batchCreateChannelMembershipRequest
* @return batchCreateChannelMembershipResult The response from the
* BatchCreateChannelMembership service method, as returned by
* Amazon ChimeSDK Messaging.
* @throws ServiceFailureException
* @throws ServiceUnavailableException
* @throws UnauthorizedClientException
* @throws BadRequestException
* @throws NotFoundException
* @throws ForbiddenException
* @throws ThrottledClientException
* @throws ResourceLimitExceededException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
BatchCreateChannelMembershipResult batchCreateChannelMembership(
BatchCreateChannelMembershipRequest batchCreateChannelMembershipRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Calls back Amazon Chime SDK messaging with a processing response message.
* This should be invoked from the processor Lambda. This is a developer
* API.
*
*
* You can return one of the following processing responses:
*
*
*
* @param channelFlowCallbackRequest
* @return channelFlowCallbackResult The response from the
* ChannelFlowCallback service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ChannelFlowCallbackResult channelFlowCallback(
ChannelFlowCallbackRequest channelFlowCallbackRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Creates a channel to which you can add users and send messages.
*
*
* Restriction: You can't change a channel's privacy.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param createChannelRequest
* @return createChannelResult The response from the CreateChannel service
* method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ResourceLimitExceededException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
CreateChannelResult createChannel(CreateChannelRequest createChannelRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Permanently bans a member from a channel. Moderators can't add banned
* members to a channel. To undo a ban, you first have to
* DeleteChannelBan
, and then
* CreateChannelMembership
. Bans are cleaned up when you delete
* users or channels.
*
*
* If you ban a user who is already part of a channel, that user is
* automatically kicked from the channel.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param createChannelBanRequest
* @return createChannelBanResult The response from the CreateChannelBan
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ResourceLimitExceededException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
CreateChannelBanResult createChannelBan(CreateChannelBanRequest createChannelBanRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Creates a channel flow, a container for processors. Processors are AWS
* Lambda functions that perform actions on chat messages, such as stripping
* out profanity. You can associate channel flows with channels, and the
* processors in the channel flow then take action on all messages sent to
* that channel. This is a developer API.
*
*
* Channel flows process the following items:
*
*
* -
*
* New and updated messages
*
*
* -
*
* Persistent and non-persistent messages
*
*
* -
*
* The Standard message type
*
*
*
*
*
* Channel flows don't process Control or System messages. For more
* information about the message types provided by Chime SDK messaging,
* refer to Message types in the Amazon Chime developer guide.
*
*
*
* @param createChannelFlowRequest
* @return createChannelFlowResult The response from the CreateChannelFlow
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ResourceLimitExceededException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
CreateChannelFlowResult createChannelFlow(CreateChannelFlowRequest createChannelFlowRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Adds a member to a channel. The InvitedBy
field in
* ChannelMembership
is derived from the request header. A
* channel member can:
*
*
*
* Privacy settings impact this action as follows:
*
*
* -
*
* Public Channels: You do not need to be a member to list messages, but you
* must be a member to send messages.
*
*
* -
*
* Private Channels: You must be a member to list or send messages.
*
*
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUserArn
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param createChannelMembershipRequest
* @return createChannelMembershipResult The response from the
* CreateChannelMembership service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws NotFoundException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ResourceLimitExceededException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
CreateChannelMembershipResult createChannelMembership(
CreateChannelMembershipRequest createChannelMembershipRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Creates a new ChannelModerator
. A channel moderator can:
*
*
* -
*
* Add and remove other members of the channel.
*
*
* -
*
* Add and remove other moderators of the channel.
*
*
* -
*
* Add and remove user bans for the channel.
*
*
* -
*
* Redact messages in the channel.
*
*
* -
*
* List messages in the channel.
*
*
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
of
* the user that makes the API call as the value in the header.
*
*
*
* @param createChannelModeratorRequest
* @return createChannelModeratorResult The response from the
* CreateChannelModerator service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ResourceLimitExceededException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
CreateChannelModeratorResult createChannelModerator(
CreateChannelModeratorRequest createChannelModeratorRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Immediately makes a channel and its memberships inaccessible and marks
* them for deletion. This is an irreversible process.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUserArn
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param deleteChannelRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws ConflictException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteChannel(DeleteChannelRequest deleteChannelRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Removes a member from a channel's ban list.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param deleteChannelBanRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteChannelBan(DeleteChannelBanRequest deleteChannelBanRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Deletes a channel flow, an irreversible process. This is a developer API.
*
*
*
* This API works only when the channel flow is not associated with any
* channel. To get a list of all channels that a channel flow is associated
* with, use the ListChannelsAssociatedWithChannelFlow
API. Use
* the DisassociateChannelFlow
API to disassociate a channel
* flow from all channels.
*
*
*
* @param deleteChannelFlowRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ConflictException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteChannelFlow(DeleteChannelFlowRequest deleteChannelFlowRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Removes a member from a channel.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* AppInstanceUserArn
of the user that makes the API call as
* the value in the header.
*
*
*
* @param deleteChannelMembershipRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteChannelMembership(DeleteChannelMembershipRequest deleteChannelMembershipRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Deletes a channel message. Only admins can perform this action. Deletion
* makes messages inaccessible immediately. A background process deletes any
* revisions created by UpdateChannelMessage
.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param deleteChannelMessageRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteChannelMessage(DeleteChannelMessageRequest deleteChannelMessageRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Deletes a channel moderator.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param deleteChannelModeratorRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteChannelModerator(DeleteChannelModeratorRequest deleteChannelModeratorRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Deletes the streaming configurations for an AppInstance
. For
* more information, see Streaming messaging data in the Amazon Chime SDK Developer
* Guide.
*
*
* @param deleteMessagingStreamingConfigurationsRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void deleteMessagingStreamingConfigurations(
DeleteMessagingStreamingConfigurationsRequest deleteMessagingStreamingConfigurationsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns the full details of a channel in an Amazon Chime
* AppInstance
.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param describeChannelRequest
* @return describeChannelResult The response from the DescribeChannel
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelResult describeChannel(DescribeChannelRequest describeChannelRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns the full details of a channel ban.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param describeChannelBanRequest
* @return describeChannelBanResult The response from the DescribeChannelBan
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelBanResult describeChannelBan(DescribeChannelBanRequest describeChannelBanRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns the full details of a channel flow in an Amazon Chime
* AppInstance
. This is a developer API.
*
*
* @param describeChannelFlowRequest
* @return describeChannelFlowResult The response from the
* DescribeChannelFlow service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelFlowResult describeChannelFlow(
DescribeChannelFlowRequest describeChannelFlowRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Returns the full details of a user's channel membership.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param describeChannelMembershipRequest
* @return describeChannelMembershipResult The response from the
* DescribeChannelMembership service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelMembershipResult describeChannelMembership(
DescribeChannelMembershipRequest describeChannelMembershipRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns the details of a channel based on the membership of the specified
* AppInstanceUser
or AppInstanceBot
.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param describeChannelMembershipForAppInstanceUserRequest
* @return describeChannelMembershipForAppInstanceUserResult The response
* from the DescribeChannelMembershipForAppInstanceUser service
* method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelMembershipForAppInstanceUserResult describeChannelMembershipForAppInstanceUser(
DescribeChannelMembershipForAppInstanceUserRequest describeChannelMembershipForAppInstanceUserRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns the full details of a channel moderated by the specified
* AppInstanceUser
or AppInstanceBot
.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param describeChannelModeratedByAppInstanceUserRequest
* @return describeChannelModeratedByAppInstanceUserResult The response from
* the DescribeChannelModeratedByAppInstanceUser service method, as
* returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelModeratedByAppInstanceUserResult describeChannelModeratedByAppInstanceUser(
DescribeChannelModeratedByAppInstanceUserRequest describeChannelModeratedByAppInstanceUserRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns the full details of a single ChannelModerator.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* AppInstanceUserArn
of the user that makes the API call as
* the value in the header.
*
*
*
* @param describeChannelModeratorRequest
* @return describeChannelModeratorResult The response from the
* DescribeChannelModerator service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
DescribeChannelModeratorResult describeChannelModerator(
DescribeChannelModeratorRequest describeChannelModeratorRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Disassociates a channel flow from all its channels. Once disassociated,
* all messages to that channel stop going through the channel flow
* processor.
*
*
*
* Only administrators or channel moderators can disassociate a channel
* flow.
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param disassociateChannelFlowRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void disassociateChannelFlow(DisassociateChannelFlowRequest disassociateChannelFlowRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Gets the membership preferences of an AppInstanceUser
or
* AppInstanceBot
for the specified channel. A user or a bot
* must be a member of the channel and own the membership in order to
* retrieve membership preferences. Users or bots in the
* AppInstanceAdmin
and channel moderator roles can't retrieve
* preferences for other users or bots. Banned users or bots can't retrieve
* membership preferences for the channel from which they are banned.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param getChannelMembershipPreferencesRequest
* @return getChannelMembershipPreferencesResult The response from the
* GetChannelMembershipPreferences service method, as returned by
* Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws UnauthorizedClientException
* @throws ForbiddenException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
GetChannelMembershipPreferencesResult getChannelMembershipPreferences(
GetChannelMembershipPreferencesRequest getChannelMembershipPreferencesRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Gets the full details of a channel message.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param getChannelMessageRequest
* @return getChannelMessageResult The response from the GetChannelMessage
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
GetChannelMessageResult getChannelMessage(GetChannelMessageRequest getChannelMessageRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Gets message status for a specified messageId
. Use this API
* to determine the intermediate status of messages going through channel
* flow processing. The API provides an alternative to retrieving message
* status if the event was not received because a client wasn't connected to
* a websocket.
*
*
* Messages can have any one of these statuses.
*
*
* - SENT
* -
*
* Message processed successfully
*
*
* - PENDING
* -
*
* Ongoing processing
*
*
* - FAILED
* -
*
* Processing failed
*
*
* - DENIED
* -
*
* Message denied by the processor
*
*
*
*
*
* -
*
* This API does not return statuses for denied messages, because we don't
* store them once the processor denies them.
*
*
* -
*
* Only the message sender can invoke this API.
*
*
* -
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
*
*
* @param getChannelMessageStatusRequest
* @return getChannelMessageStatusResult The response from the
* GetChannelMessageStatus service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
GetChannelMessageStatusResult getChannelMessageStatus(
GetChannelMessageStatusRequest getChannelMessageStatusRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* The details of the endpoint for the messaging session.
*
*
* @param getMessagingSessionEndpointRequest
* @return getMessagingSessionEndpointResult The response from the
* GetMessagingSessionEndpoint service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws UnauthorizedClientException
* @throws ForbiddenException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
GetMessagingSessionEndpointResult getMessagingSessionEndpoint(
GetMessagingSessionEndpointRequest getMessagingSessionEndpointRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Retrieves the data streaming configuration for an
* AppInstance
. For more information, see Streaming messaging data in the Amazon Chime SDK Developer
* Guide.
*
*
* @param getMessagingStreamingConfigurationsRequest
* @return getMessagingStreamingConfigurationsResult The response from the
* GetMessagingStreamingConfigurations service method, as returned
* by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws NotFoundException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
GetMessagingStreamingConfigurationsResult getMessagingStreamingConfigurations(
GetMessagingStreamingConfigurationsRequest getMessagingStreamingConfigurationsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists all the users and bots banned from a particular channel.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param listChannelBansRequest
* @return listChannelBansResult The response from the ListChannelBans
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelBansResult listChannelBans(ListChannelBansRequest listChannelBansRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Returns a paginated lists of all the channel flows created under a single
* Chime. This is a developer API.
*
*
* @param listChannelFlowsRequest
* @return listChannelFlowsResult The response from the ListChannelFlows
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelFlowsResult listChannelFlows(ListChannelFlowsRequest listChannelFlowsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists all channel memberships in a channel.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* If you want to list the channels to which a specific app instance user
* belongs, see the ListChannelMembershipsForAppInstanceUser API.
*
*
* @param listChannelMembershipsRequest
* @return listChannelMembershipsResult The response from the
* ListChannelMemberships service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelMembershipsResult listChannelMemberships(
ListChannelMembershipsRequest listChannelMembershipsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists all channels that an AppInstanceUser
or
* AppInstanceBot
is a part of. Only an
* AppInstanceAdmin
can call the API with a user ARN that is
* not their own.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param listChannelMembershipsForAppInstanceUserRequest
* @return listChannelMembershipsForAppInstanceUserResult The response from
* the ListChannelMembershipsForAppInstanceUser service method, as
* returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelMembershipsForAppInstanceUserResult listChannelMembershipsForAppInstanceUser(
ListChannelMembershipsForAppInstanceUserRequest listChannelMembershipsForAppInstanceUserRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* List all the messages in a channel. Returns a paginated list of
* ChannelMessages
. By default, sorted by creation timestamp in
* descending order.
*
*
*
* Redacted messages appear in the results as empty, since they are only
* redacted, not deleted. Deleted messages do not appear in the results.
* This action always returns the latest version of an edited message.
*
*
* Also, the x-amz-chime-bearer
request header is mandatory.
* Use the ARN of the AppInstanceUser
or
* AppInstanceBot
that makes the API call as the value in the
* header.
*
*
*
* @param listChannelMessagesRequest
* @return listChannelMessagesResult The response from the
* ListChannelMessages service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelMessagesResult listChannelMessages(
ListChannelMessagesRequest listChannelMessagesRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Lists all the moderators for a channel.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param listChannelModeratorsRequest
* @return listChannelModeratorsResult The response from the
* ListChannelModerators service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelModeratorsResult listChannelModerators(
ListChannelModeratorsRequest listChannelModeratorsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists all Channels created under a single Chime App as a paginated list.
* You can specify filters to narrow results.
*
*
* Functionality & restrictions
*
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param listChannelsRequest
* @return listChannelsResult The response from the ListChannels service
* method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelsResult listChannels(ListChannelsRequest listChannelsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists all channels associated with a specified channel flow. You can
* associate a channel flow with multiple channels, but you can only
* associate a channel with one channel flow. This is a developer API.
*
*
* @param listChannelsAssociatedWithChannelFlowRequest
* @return listChannelsAssociatedWithChannelFlowResult The response from the
* ListChannelsAssociatedWithChannelFlow service method, as returned
* by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelsAssociatedWithChannelFlowResult listChannelsAssociatedWithChannelFlow(
ListChannelsAssociatedWithChannelFlowRequest listChannelsAssociatedWithChannelFlowRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* A list of the channels moderated by an AppInstanceUser
.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param listChannelsModeratedByAppInstanceUserRequest
* @return listChannelsModeratedByAppInstanceUserResult The response from
* the ListChannelsModeratedByAppInstanceUser service method, as
* returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListChannelsModeratedByAppInstanceUserResult listChannelsModeratedByAppInstanceUser(
ListChannelsModeratedByAppInstanceUserRequest listChannelsModeratedByAppInstanceUserRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists all the SubChannels in an elastic channel when given a channel ID.
* Available only to the app instance admins and channel moderators of
* elastic channels.
*
*
* @param listSubChannelsRequest
* @return listSubChannelsResult The response from the ListSubChannels
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListSubChannelsResult listSubChannels(ListSubChannelsRequest listSubChannelsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Lists the tags applied to an Amazon Chime SDK messaging resource.
*
*
* @param listTagsForResourceRequest
* @return listTagsForResourceResult The response from the
* ListTagsForResource service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
ListTagsForResourceResult listTagsForResource(
ListTagsForResourceRequest listTagsForResourceRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Sets the number of days before the channel is automatically deleted.
*
*
*
* -
*
* A background process deletes expired channels within 6 hours of
* expiration. Actual deletion times may vary.
*
*
* -
*
* Expired channels that have not yet been deleted appear as active, and you
* can update their expiration settings. The system honors the new settings.
*
*
* -
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
*
*
* @param putChannelExpirationSettingsRequest
* @return putChannelExpirationSettingsResult The response from the
* PutChannelExpirationSettings service method, as returned by
* Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws ConflictException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
PutChannelExpirationSettingsResult putChannelExpirationSettings(
PutChannelExpirationSettingsRequest putChannelExpirationSettingsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Sets the membership preferences of an AppInstanceUser
or
* AppInstanceBot
for the specified channel. The user or bot
* must be a member of the channel. Only the user or bot who owns the
* membership can set preferences. Users or bots in the
* AppInstanceAdmin
and channel moderator roles can't set
* preferences for other users. Banned users or bots can't set membership
* preferences for the channel from which they are banned.
*
*
*
* The x-amz-chime-bearer request header is mandatory. Use the ARN of an
* AppInstanceUser
or AppInstanceBot
that makes
* the API call as the value in the header.
*
*
*
* @param putChannelMembershipPreferencesRequest
* @return putChannelMembershipPreferencesResult The response from the
* PutChannelMembershipPreferences service method, as returned by
* Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ConflictException
* @throws UnauthorizedClientException
* @throws ForbiddenException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
PutChannelMembershipPreferencesResult putChannelMembershipPreferences(
PutChannelMembershipPreferencesRequest putChannelMembershipPreferencesRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Sets the data streaming configuration for an AppInstance
.
* For more information, see Streaming messaging data in the Amazon Chime SDK Developer
* Guide.
*
*
* @param putMessagingStreamingConfigurationsRequest
* @return putMessagingStreamingConfigurationsResult The response from the
* PutMessagingStreamingConfigurations service method, as returned
* by Amazon ChimeSDK Messaging.
* @throws NotFoundException
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ConflictException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
PutMessagingStreamingConfigurationsResult putMessagingStreamingConfigurations(
PutMessagingStreamingConfigurationsRequest putMessagingStreamingConfigurationsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Redacts message content, but not metadata. The message exists in the back
* end, but the action returns null content, and the state shows as
* redacted.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param redactChannelMessageRequest
* @return redactChannelMessageResult The response from the
* RedactChannelMessage service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws ConflictException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
RedactChannelMessageResult redactChannelMessage(
RedactChannelMessageRequest redactChannelMessageRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Allows the ChimeBearer
to search channels by channel
* members. Users or bots can search across the channels that they belong
* to. Users in the AppInstanceAdmin
role can search across all
* channels.
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
* @param searchChannelsRequest
* @return searchChannelsResult The response from the SearchChannels service
* method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
SearchChannelsResult searchChannels(SearchChannelsRequest searchChannelsRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Sends a message to a particular channel that the member is a part of.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
* Also, STANDARD
messages can be up to 4KB in size and contain
* metadata. Metadata is arbitrary, and you can use it in a variety of ways,
* such as containing a link to an attachment.
*
*
* CONTROL
messages are limited to 30 bytes and do not contain
* metadata.
*
*
*
* @param sendChannelMessageRequest
* @return sendChannelMessageResult The response from the SendChannelMessage
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ConflictException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
SendChannelMessageResult sendChannelMessage(SendChannelMessageRequest sendChannelMessageRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Applies the specified tags to the specified Amazon Chime SDK messaging
* resource.
*
*
* @param tagResourceRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ResourceLimitExceededException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void tagResource(TagResourceRequest tagResourceRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Removes the specified tags from the specified Amazon Chime SDK messaging
* resource.
*
*
* @param untagResourceRequest
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
void untagResource(UntagResourceRequest untagResourceRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* Update a channel's attributes.
*
*
* Restriction: You can't change a channel's privacy.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param updateChannelRequest
* @return updateChannelResult The response from the UpdateChannel service
* method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws ConflictException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
UpdateChannelResult updateChannel(UpdateChannelRequest updateChannelRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Updates channel flow attributes. This is a developer API.
*
*
* @param updateChannelFlowRequest
* @return updateChannelFlowResult The response from the UpdateChannelFlow
* service method, as returned by Amazon ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ConflictException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
UpdateChannelFlowResult updateChannelFlow(UpdateChannelFlowRequest updateChannelFlowRequest)
throws AmazonClientException, AmazonServiceException;
/**
*
* Updates the content of a message.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param updateChannelMessageRequest
* @return updateChannelMessageResult The response from the
* UpdateChannelMessage service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ConflictException
* @throws ForbiddenException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
UpdateChannelMessageResult updateChannelMessage(
UpdateChannelMessageRequest updateChannelMessageRequest) throws AmazonClientException,
AmazonServiceException;
/**
*
* The details of the time when a user last read messages in a channel.
*
*
*
* The x-amz-chime-bearer
request header is mandatory. Use the
* ARN of the AppInstanceUser
or AppInstanceBot
* that makes the API call as the value in the header.
*
*
*
* @param updateChannelReadMarkerRequest
* @return updateChannelReadMarkerResult The response from the
* UpdateChannelReadMarker service method, as returned by Amazon
* ChimeSDK Messaging.
* @throws BadRequestException
* @throws ForbiddenException
* @throws ConflictException
* @throws UnauthorizedClientException
* @throws ThrottledClientException
* @throws ServiceUnavailableException
* @throws ServiceFailureException
* @throws AmazonClientException If any internal errors are encountered
* inside the client while attempting to make the request or
* handle the response. For example if a network connection is
* not available.
* @throws AmazonServiceException If an error response is returned by Amazon
* ChimeSDK Messaging indicating either a problem with the data
* in the request, or a server side issue.
*/
UpdateChannelReadMarkerResult updateChannelReadMarker(
UpdateChannelReadMarkerRequest updateChannelReadMarkerRequest)
throws AmazonClientException, AmazonServiceException;
/**
* Shuts down this client object, releasing any resources that might be held
* open. This is an optional method, and callers are not expected to call
* it, but can if they want to explicitly release any open resources. Once a
* client has been shutdown, it should not be used to make any more
* requests.
*/
public void shutdown();
/**
* Returns additional metadata for a previously executed successful request,
* typically used for debugging issues where a service isn't acting as
* expected. This data isn't considered part of the result data returned by
* an operation, so it's available through this separate, diagnostic
* interface.
*
* Response metadata is only cached for a limited period of time, so if you
* need to access this extra diagnostic information for an executed request,
* you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request The originally executed request.
* @return The response metadata for the specified request, or null if none
* is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}