Skip to content

Commit

Permalink
This release adds a new API, GetCurrentUserData, which returns real-t…
Browse files Browse the repository at this point in the history
…ime details about users' current activity.

This release adds support for searching channels by members via the SearchChannels API, removes required restrictions for Name and Mode in UpdateChannel API and enhances CreateChannel API by exposing member and moderator list as well as channel id as optional parameters.
  • Loading branch information
aws-sdk-cpp-automation committed Jun 6, 2022
1 parent cdecd6c commit 367f0d2
Show file tree
Hide file tree
Showing 50 changed files with 5,004 additions and 68 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
#include <aws/chime-sdk-messaging/model/ListTagsForResourceResult.h>
#include <aws/chime-sdk-messaging/model/PutChannelMembershipPreferencesResult.h>
#include <aws/chime-sdk-messaging/model/RedactChannelMessageResult.h>
#include <aws/chime-sdk-messaging/model/SearchChannelsResult.h>
#include <aws/chime-sdk-messaging/model/SendChannelMessageResult.h>
#include <aws/chime-sdk-messaging/model/UpdateChannelResult.h>
#include <aws/chime-sdk-messaging/model/UpdateChannelFlowResult.h>
Expand Down Expand Up @@ -124,6 +125,7 @@ namespace Model
class ListTagsForResourceRequest;
class PutChannelMembershipPreferencesRequest;
class RedactChannelMessageRequest;
class SearchChannelsRequest;
class SendChannelMessageRequest;
class TagResourceRequest;
class UntagResourceRequest;
Expand Down Expand Up @@ -170,6 +172,7 @@ namespace Model
typedef Aws::Utils::Outcome<ListTagsForResourceResult, ChimeSDKMessagingError> ListTagsForResourceOutcome;
typedef Aws::Utils::Outcome<PutChannelMembershipPreferencesResult, ChimeSDKMessagingError> PutChannelMembershipPreferencesOutcome;
typedef Aws::Utils::Outcome<RedactChannelMessageResult, ChimeSDKMessagingError> RedactChannelMessageOutcome;
typedef Aws::Utils::Outcome<SearchChannelsResult, ChimeSDKMessagingError> SearchChannelsOutcome;
typedef Aws::Utils::Outcome<SendChannelMessageResult, ChimeSDKMessagingError> SendChannelMessageOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ChimeSDKMessagingError> TagResourceOutcome;
typedef Aws::Utils::Outcome<Aws::NoResult, ChimeSDKMessagingError> UntagResourceOutcome;
Expand Down Expand Up @@ -216,6 +219,7 @@ namespace Model
typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable;
typedef std::future<PutChannelMembershipPreferencesOutcome> PutChannelMembershipPreferencesOutcomeCallable;
typedef std::future<RedactChannelMessageOutcome> RedactChannelMessageOutcomeCallable;
typedef std::future<SearchChannelsOutcome> SearchChannelsOutcomeCallable;
typedef std::future<SendChannelMessageOutcome> SendChannelMessageOutcomeCallable;
typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable;
typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable;
Expand Down Expand Up @@ -265,6 +269,7 @@ namespace Model
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler;
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::PutChannelMembershipPreferencesRequest&, const Model::PutChannelMembershipPreferencesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutChannelMembershipPreferencesResponseReceivedHandler;
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::RedactChannelMessageRequest&, const Model::RedactChannelMessageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RedactChannelMessageResponseReceivedHandler;
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::SearchChannelsRequest&, const Model::SearchChannelsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SearchChannelsResponseReceivedHandler;
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::SendChannelMessageRequest&, const Model::SendChannelMessageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SendChannelMessageResponseReceivedHandler;
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler;
typedef std::function<void(const ChimeSDKMessagingClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler;
Expand All @@ -278,8 +283,8 @@ namespace Model
* 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 <a
* href="https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Messaging">Amazon
* Chime SDK messaging</a> </p>
* href="https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Messaging.html">Amazon
* Chime SDK messaging</a>.</p>
*/
class AWS_CHIMESDKMESSAGING_API ChimeSDKMessagingClient : public Aws::Client::AWSJsonClient
{
Expand Down Expand Up @@ -1126,6 +1131,26 @@ namespace Model
*/
virtual void RedactChannelMessageAsync(const Model::RedactChannelMessageRequest& request, const RedactChannelMessageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;

/**
* <p>Allows an <code>AppInstanceUser</code> to search the channels that they
* belong to. The <code>AppInstanceUser</code> can search by membership or external
* ID. An <code>AppInstanceAdmin</code> can search across all channels within the
* <code>AppInstance</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/SearchChannels">AWS
* API Reference</a></p>
*/
virtual Model::SearchChannelsOutcome SearchChannels(const Model::SearchChannelsRequest& request) const;

/**
* A Callable wrapper for SearchChannels that returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SearchChannelsOutcomeCallable SearchChannelsCallable(const Model::SearchChannelsRequest& request) const;

/**
* An Async wrapper for SearchChannels that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SearchChannelsAsync(const Model::SearchChannelsRequest& request, const SearchChannelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;

/**
* <p>Sends a message to a particular channel that the member is a part of.</p>
* <p>The <code>x-amz-chime-bearer</code> request header is mandatory. Use
Expand Down Expand Up @@ -1305,6 +1330,7 @@ namespace Model
void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void PutChannelMembershipPreferencesAsyncHelper(const Model::PutChannelMembershipPreferencesRequest& request, const PutChannelMembershipPreferencesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RedactChannelMessageAsyncHelper(const Model::RedactChannelMessageRequest& request, const RedactChannelMessageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SearchChannelsAsyncHelper(const Model::SearchChannelsRequest& request, const SearchChannelsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SendChannelMessageAsyncHelper(const Model::SendChannelMessageRequest& request, const SendChannelMessageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,32 +71,38 @@ namespace Model


/**
* <p>The time at which a message was last read.</p>
* <p>The time at which an <code>AppInstanceUser</code> last marked a channel as
* read.</p>
*/
inline const Aws::Utils::DateTime& GetReadMarkerTimestamp() const{ return m_readMarkerTimestamp; }

/**
* <p>The time at which a message was last read.</p>
* <p>The time at which an <code>AppInstanceUser</code> last marked a channel as
* read.</p>
*/
inline bool ReadMarkerTimestampHasBeenSet() const { return m_readMarkerTimestampHasBeenSet; }

/**
* <p>The time at which a message was last read.</p>
* <p>The time at which an <code>AppInstanceUser</code> last marked a channel as
* read.</p>
*/
inline void SetReadMarkerTimestamp(const Aws::Utils::DateTime& value) { m_readMarkerTimestampHasBeenSet = true; m_readMarkerTimestamp = value; }

/**
* <p>The time at which a message was last read.</p>
* <p>The time at which an <code>AppInstanceUser</code> last marked a channel as
* read.</p>
*/
inline void SetReadMarkerTimestamp(Aws::Utils::DateTime&& value) { m_readMarkerTimestampHasBeenSet = true; m_readMarkerTimestamp = std::move(value); }

/**
* <p>The time at which a message was last read.</p>
* <p>The time at which an <code>AppInstanceUser</code> last marked a channel as
* read.</p>
*/
inline AppInstanceUserMembershipSummary& WithReadMarkerTimestamp(const Aws::Utils::DateTime& value) { SetReadMarkerTimestamp(value); return *this;}

/**
* <p>The time at which a message was last read.</p>
* <p>The time at which an <code>AppInstanceUser</code> last marked a channel as
* read.</p>
*/
inline AppInstanceUserMembershipSummary& WithReadMarkerTimestamp(Aws::Utils::DateTime&& value) { SetReadMarkerTimestamp(std::move(value)); return *this;}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,139 @@ namespace Model
*/
inline CreateChannelRequest& WithChimeBearer(const char* value) { SetChimeBearer(value); return *this;}


/**
* <p>The ID of the channel in the request.</p>
*/
inline const Aws::String& GetChannelId() const{ return m_channelId; }

/**
* <p>The ID of the channel in the request.</p>
*/
inline bool ChannelIdHasBeenSet() const { return m_channelIdHasBeenSet; }

/**
* <p>The ID of the channel in the request.</p>
*/
inline void SetChannelId(const Aws::String& value) { m_channelIdHasBeenSet = true; m_channelId = value; }

/**
* <p>The ID of the channel in the request.</p>
*/
inline void SetChannelId(Aws::String&& value) { m_channelIdHasBeenSet = true; m_channelId = std::move(value); }

/**
* <p>The ID of the channel in the request.</p>
*/
inline void SetChannelId(const char* value) { m_channelIdHasBeenSet = true; m_channelId.assign(value); }

/**
* <p>The ID of the channel in the request.</p>
*/
inline CreateChannelRequest& WithChannelId(const Aws::String& value) { SetChannelId(value); return *this;}

/**
* <p>The ID of the channel in the request.</p>
*/
inline CreateChannelRequest& WithChannelId(Aws::String&& value) { SetChannelId(std::move(value)); return *this;}

/**
* <p>The ID of the channel in the request.</p>
*/
inline CreateChannelRequest& WithChannelId(const char* value) { SetChannelId(value); return *this;}


/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline const Aws::Vector<Aws::String>& GetMemberArns() const{ return m_memberArns; }

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline bool MemberArnsHasBeenSet() const { return m_memberArnsHasBeenSet; }

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline void SetMemberArns(const Aws::Vector<Aws::String>& value) { m_memberArnsHasBeenSet = true; m_memberArns = value; }

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline void SetMemberArns(Aws::Vector<Aws::String>&& value) { m_memberArnsHasBeenSet = true; m_memberArns = std::move(value); }

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline CreateChannelRequest& WithMemberArns(const Aws::Vector<Aws::String>& value) { SetMemberArns(value); return *this;}

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline CreateChannelRequest& WithMemberArns(Aws::Vector<Aws::String>&& value) { SetMemberArns(std::move(value)); return *this;}

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline CreateChannelRequest& AddMemberArns(const Aws::String& value) { m_memberArnsHasBeenSet = true; m_memberArns.push_back(value); return *this; }

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline CreateChannelRequest& AddMemberArns(Aws::String&& value) { m_memberArnsHasBeenSet = true; m_memberArns.push_back(std::move(value)); return *this; }

/**
* <p>The ARNs of the channel members in the request.</p>
*/
inline CreateChannelRequest& AddMemberArns(const char* value) { m_memberArnsHasBeenSet = true; m_memberArns.push_back(value); return *this; }


/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline const Aws::Vector<Aws::String>& GetModeratorArns() const{ return m_moderatorArns; }

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline bool ModeratorArnsHasBeenSet() const { return m_moderatorArnsHasBeenSet; }

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline void SetModeratorArns(const Aws::Vector<Aws::String>& value) { m_moderatorArnsHasBeenSet = true; m_moderatorArns = value; }

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline void SetModeratorArns(Aws::Vector<Aws::String>&& value) { m_moderatorArnsHasBeenSet = true; m_moderatorArns = std::move(value); }

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline CreateChannelRequest& WithModeratorArns(const Aws::Vector<Aws::String>& value) { SetModeratorArns(value); return *this;}

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline CreateChannelRequest& WithModeratorArns(Aws::Vector<Aws::String>&& value) { SetModeratorArns(std::move(value)); return *this;}

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline CreateChannelRequest& AddModeratorArns(const Aws::String& value) { m_moderatorArnsHasBeenSet = true; m_moderatorArns.push_back(value); return *this; }

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline CreateChannelRequest& AddModeratorArns(Aws::String&& value) { m_moderatorArnsHasBeenSet = true; m_moderatorArns.push_back(std::move(value)); return *this; }

/**
* <p>The ARNs of the channel moderators in the request.</p>
*/
inline CreateChannelRequest& AddModeratorArns(const char* value) { m_moderatorArnsHasBeenSet = true; m_moderatorArns.push_back(value); return *this; }

private:

Aws::String m_appInstanceArn;
Expand All @@ -401,6 +534,15 @@ namespace Model

Aws::String m_chimeBearer;
bool m_chimeBearerHasBeenSet;

Aws::String m_channelId;
bool m_channelIdHasBeenSet;

Aws::Vector<Aws::String> m_memberArns;
bool m_memberArnsHasBeenSet;

Aws::Vector<Aws::String> m_moderatorArns;
bool m_moderatorArnsHasBeenSet;
};

} // namespace Model
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,29 @@ namespace Model
inline GetChannelMembershipPreferencesResult& WithChannelArn(const char* value) { SetChannelArn(value); return *this;}



/**
* <p>The details of a user.</p>
*/
inline const Identity& GetMember() const{ return m_member; }


/**
* <p>The details of a user.</p>
*/
inline void SetMember(const Identity& value) { m_member = value; }


/**
* <p>The details of a user.</p>
*/
inline void SetMember(Identity&& value) { m_member = std::move(value); }


/**
* <p>The details of a user.</p>
*/
inline GetChannelMembershipPreferencesResult& WithMember(const Identity& value) { SetMember(value); return *this;}


/**
* <p>The details of a user.</p>
*/
inline GetChannelMembershipPreferencesResult& WithMember(Identity&& value) { SetMember(std::move(value)); return *this;}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,44 +35,37 @@ namespace Model


/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline const Aws::Vector<ChannelMembershipForAppInstanceUserSummary>& GetChannelMemberships() const{ return m_channelMemberships; }

/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline void SetChannelMemberships(const Aws::Vector<ChannelMembershipForAppInstanceUserSummary>& value) { m_channelMemberships = value; }

/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline void SetChannelMemberships(Aws::Vector<ChannelMembershipForAppInstanceUserSummary>&& value) { m_channelMemberships = std::move(value); }

/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline ListChannelMembershipsForAppInstanceUserResult& WithChannelMemberships(const Aws::Vector<ChannelMembershipForAppInstanceUserSummary>& value) { SetChannelMemberships(value); return *this;}

/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline ListChannelMembershipsForAppInstanceUserResult& WithChannelMemberships(Aws::Vector<ChannelMembershipForAppInstanceUserSummary>&& value) { SetChannelMemberships(std::move(value)); return *this;}

/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline ListChannelMembershipsForAppInstanceUserResult& AddChannelMemberships(const ChannelMembershipForAppInstanceUserSummary& value) { m_channelMemberships.push_back(value); return *this; }

/**
* <p>The token passed by previous API calls until all requested users are
* returned.</p>
* <p>The information for the requested channel memberships.</p>
*/
inline ListChannelMembershipsForAppInstanceUserResult& AddChannelMemberships(ChannelMembershipForAppInstanceUserSummary&& value) { m_channelMemberships.push_back(std::move(value)); return *this; }

Expand Down
Loading

0 comments on commit 367f0d2

Please sign in to comment.