/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ChimeSDKMeetings { namespace Model { /** *

An Amazon Chime SDK meeting attendee. Includes a unique * AttendeeId and JoinToken. The JoinToken * allows a client to authenticate and join as the specified attendee. The * JoinToken expires when the meeting ends, or when * DeleteAttendee is called. After that, the attendee is unable to join the * meeting.

We recommend securely transferring each JoinToken * from your server application to the client so that no other client has access to * the token except for the one authorized to represent the attendee.

See * Also:

AWS * API Reference

*/ class Attendee { public: AWS_CHIMESDKMEETINGS_API Attendee(); AWS_CHIMESDKMEETINGS_API Attendee(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKMEETINGS_API Attendee& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CHIMESDKMEETINGS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline const Aws::String& GetExternalUserId() const{ return m_externalUserId; } /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline bool ExternalUserIdHasBeenSet() const { return m_externalUserIdHasBeenSet; } /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline void SetExternalUserId(const Aws::String& value) { m_externalUserIdHasBeenSet = true; m_externalUserId = value; } /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline void SetExternalUserId(Aws::String&& value) { m_externalUserIdHasBeenSet = true; m_externalUserId = std::move(value); } /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline void SetExternalUserId(const char* value) { m_externalUserIdHasBeenSet = true; m_externalUserId.assign(value); } /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline Attendee& WithExternalUserId(const Aws::String& value) { SetExternalUserId(value); return *this;} /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline Attendee& WithExternalUserId(Aws::String&& value) { SetExternalUserId(std::move(value)); return *this;} /** *

The Amazon Chime SDK external user ID. An idempotency token. Links the * attendee to an identity managed by a builder application.

Pattern: * [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*

Values that * begin with aws: are reserved. You can't configure a value that uses * this prefix. Case insensitive.

*/ inline Attendee& WithExternalUserId(const char* value) { SetExternalUserId(value); return *this;} /** *

The Amazon Chime SDK attendee ID.

*/ inline const Aws::String& GetAttendeeId() const{ return m_attendeeId; } /** *

The Amazon Chime SDK attendee ID.

*/ inline bool AttendeeIdHasBeenSet() const { return m_attendeeIdHasBeenSet; } /** *

The Amazon Chime SDK attendee ID.

*/ inline void SetAttendeeId(const Aws::String& value) { m_attendeeIdHasBeenSet = true; m_attendeeId = value; } /** *

The Amazon Chime SDK attendee ID.

*/ inline void SetAttendeeId(Aws::String&& value) { m_attendeeIdHasBeenSet = true; m_attendeeId = std::move(value); } /** *

The Amazon Chime SDK attendee ID.

*/ inline void SetAttendeeId(const char* value) { m_attendeeIdHasBeenSet = true; m_attendeeId.assign(value); } /** *

The Amazon Chime SDK attendee ID.

*/ inline Attendee& WithAttendeeId(const Aws::String& value) { SetAttendeeId(value); return *this;} /** *

The Amazon Chime SDK attendee ID.

*/ inline Attendee& WithAttendeeId(Aws::String&& value) { SetAttendeeId(std::move(value)); return *this;} /** *

The Amazon Chime SDK attendee ID.

*/ inline Attendee& WithAttendeeId(const char* value) { SetAttendeeId(value); return *this;} /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline const Aws::String& GetJoinToken() const{ return m_joinToken; } /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline bool JoinTokenHasBeenSet() const { return m_joinTokenHasBeenSet; } /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline void SetJoinToken(const Aws::String& value) { m_joinTokenHasBeenSet = true; m_joinToken = value; } /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline void SetJoinToken(Aws::String&& value) { m_joinTokenHasBeenSet = true; m_joinToken = std::move(value); } /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline void SetJoinToken(const char* value) { m_joinTokenHasBeenSet = true; m_joinToken.assign(value); } /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline Attendee& WithJoinToken(const Aws::String& value) { SetJoinToken(value); return *this;} /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline Attendee& WithJoinToken(Aws::String&& value) { SetJoinToken(std::move(value)); return *this;} /** *

The join token used by the Amazon Chime SDK attendee.

*/ inline Attendee& WithJoinToken(const char* value) { SetJoinToken(value); return *this;} /** *

The capabilities assigned to an attendee: audio, video, or content.

*

You use the capabilities with a set of values that control what the * capabilities can do, such as SendReceive data. For more information * about those values, see .

When using capabilities, be aware of * these corner cases:

  • You can't set content * capabilities to SendReceive or Receive unless you also * set video capabilities to SendReceive or * Receive. If you don't set the video capability to * receive, the response will contain an HTTP 400 Bad Request status code. However, * you can set your video capability to receive and you set your * content capability to not receive.

  • When you * change an audio capability from None or * Receive to Send or SendReceive , and if * the attendee left their microphone unmuted, audio will flow from the attendee to * the other meeting participants.

  • When you change a * video or content capability from None or * Receive to Send or SendReceive , and if * the attendee turned on their video or content streams, remote attendees can * receive those streams, but only after media renegotiation between the client and * the Amazon Chime back-end server.

*/ inline const AttendeeCapabilities& GetCapabilities() const{ return m_capabilities; } /** *

The capabilities assigned to an attendee: audio, video, or content.

*

You use the capabilities with a set of values that control what the * capabilities can do, such as SendReceive data. For more information * about those values, see .

When using capabilities, be aware of * these corner cases:

  • You can't set content * capabilities to SendReceive or Receive unless you also * set video capabilities to SendReceive or * Receive. If you don't set the video capability to * receive, the response will contain an HTTP 400 Bad Request status code. However, * you can set your video capability to receive and you set your * content capability to not receive.

  • When you * change an audio capability from None or * Receive to Send or SendReceive , and if * the attendee left their microphone unmuted, audio will flow from the attendee to * the other meeting participants.

  • When you change a * video or content capability from None or * Receive to Send or SendReceive , and if * the attendee turned on their video or content streams, remote attendees can * receive those streams, but only after media renegotiation between the client and * the Amazon Chime back-end server.

*/ inline bool CapabilitiesHasBeenSet() const { return m_capabilitiesHasBeenSet; } /** *

The capabilities assigned to an attendee: audio, video, or content.

*

You use the capabilities with a set of values that control what the * capabilities can do, such as SendReceive data. For more information * about those values, see .

When using capabilities, be aware of * these corner cases:

  • You can't set content * capabilities to SendReceive or Receive unless you also * set video capabilities to SendReceive or * Receive. If you don't set the video capability to * receive, the response will contain an HTTP 400 Bad Request status code. However, * you can set your video capability to receive and you set your * content capability to not receive.

  • When you * change an audio capability from None or * Receive to Send or SendReceive , and if * the attendee left their microphone unmuted, audio will flow from the attendee to * the other meeting participants.

  • When you change a * video or content capability from None or * Receive to Send or SendReceive , and if * the attendee turned on their video or content streams, remote attendees can * receive those streams, but only after media renegotiation between the client and * the Amazon Chime back-end server.

*/ inline void SetCapabilities(const AttendeeCapabilities& value) { m_capabilitiesHasBeenSet = true; m_capabilities = value; } /** *

The capabilities assigned to an attendee: audio, video, or content.

*

You use the capabilities with a set of values that control what the * capabilities can do, such as SendReceive data. For more information * about those values, see .

When using capabilities, be aware of * these corner cases:

  • You can't set content * capabilities to SendReceive or Receive unless you also * set video capabilities to SendReceive or * Receive. If you don't set the video capability to * receive, the response will contain an HTTP 400 Bad Request status code. However, * you can set your video capability to receive and you set your * content capability to not receive.

  • When you * change an audio capability from None or * Receive to Send or SendReceive , and if * the attendee left their microphone unmuted, audio will flow from the attendee to * the other meeting participants.

  • When you change a * video or content capability from None or * Receive to Send or SendReceive , and if * the attendee turned on their video or content streams, remote attendees can * receive those streams, but only after media renegotiation between the client and * the Amazon Chime back-end server.

*/ inline void SetCapabilities(AttendeeCapabilities&& value) { m_capabilitiesHasBeenSet = true; m_capabilities = std::move(value); } /** *

The capabilities assigned to an attendee: audio, video, or content.

*

You use the capabilities with a set of values that control what the * capabilities can do, such as SendReceive data. For more information * about those values, see .

When using capabilities, be aware of * these corner cases:

  • You can't set content * capabilities to SendReceive or Receive unless you also * set video capabilities to SendReceive or * Receive. If you don't set the video capability to * receive, the response will contain an HTTP 400 Bad Request status code. However, * you can set your video capability to receive and you set your * content capability to not receive.

  • When you * change an audio capability from None or * Receive to Send or SendReceive , and if * the attendee left their microphone unmuted, audio will flow from the attendee to * the other meeting participants.

  • When you change a * video or content capability from None or * Receive to Send or SendReceive , and if * the attendee turned on their video or content streams, remote attendees can * receive those streams, but only after media renegotiation between the client and * the Amazon Chime back-end server.

*/ inline Attendee& WithCapabilities(const AttendeeCapabilities& value) { SetCapabilities(value); return *this;} /** *

The capabilities assigned to an attendee: audio, video, or content.

*

You use the capabilities with a set of values that control what the * capabilities can do, such as SendReceive data. For more information * about those values, see .

When using capabilities, be aware of * these corner cases:

  • You can't set content * capabilities to SendReceive or Receive unless you also * set video capabilities to SendReceive or * Receive. If you don't set the video capability to * receive, the response will contain an HTTP 400 Bad Request status code. However, * you can set your video capability to receive and you set your * content capability to not receive.

  • When you * change an audio capability from None or * Receive to Send or SendReceive , and if * the attendee left their microphone unmuted, audio will flow from the attendee to * the other meeting participants.

  • When you change a * video or content capability from None or * Receive to Send or SendReceive , and if * the attendee turned on their video or content streams, remote attendees can * receive those streams, but only after media renegotiation between the client and * the Amazon Chime back-end server.

*/ inline Attendee& WithCapabilities(AttendeeCapabilities&& value) { SetCapabilities(std::move(value)); return *this;} private: Aws::String m_externalUserId; bool m_externalUserIdHasBeenSet = false; Aws::String m_attendeeId; bool m_attendeeIdHasBeenSet = false; Aws::String m_joinToken; bool m_joinTokenHasBeenSet = false; AttendeeCapabilities m_capabilities; bool m_capabilitiesHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMeetings } // namespace Aws