/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace ChimeSDKMeetings { namespace Model { /** */ class CreateAttendeeRequest : public ChimeSDKMeetingsRequest { public: AWS_CHIMESDKMEETINGS_API CreateAttendeeRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateAttendee"; } AWS_CHIMESDKMEETINGS_API Aws::String SerializePayload() const override; /** *

The unique ID of the meeting.

*/ inline const Aws::String& GetMeetingId() const{ return m_meetingId; } /** *

The unique ID of the meeting.

*/ inline bool MeetingIdHasBeenSet() const { return m_meetingIdHasBeenSet; } /** *

The unique ID of the meeting.

*/ inline void SetMeetingId(const Aws::String& value) { m_meetingIdHasBeenSet = true; m_meetingId = value; } /** *

The unique ID of the meeting.

*/ inline void SetMeetingId(Aws::String&& value) { m_meetingIdHasBeenSet = true; m_meetingId = std::move(value); } /** *

The unique ID of the meeting.

*/ inline void SetMeetingId(const char* value) { m_meetingIdHasBeenSet = true; m_meetingId.assign(value); } /** *

The unique ID of the meeting.

*/ inline CreateAttendeeRequest& WithMeetingId(const Aws::String& value) { SetMeetingId(value); return *this;} /** *

The unique ID of the meeting.

*/ inline CreateAttendeeRequest& WithMeetingId(Aws::String&& value) { SetMeetingId(std::move(value)); return *this;} /** *

The unique ID of the meeting.

*/ inline CreateAttendeeRequest& WithMeetingId(const char* value) { SetMeetingId(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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline CreateAttendeeRequest& 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.

*/ inline CreateAttendeeRequest& 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.

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

The capabilities (audio, video, or * content) that you want to grant an attendee. If you don't specify * capabilities, all users have send and receive capabilities on all media channels * by default.

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 (audio, video, or * content) that you want to grant an attendee. If you don't specify * capabilities, all users have send and receive capabilities on all media channels * by default.

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 (audio, video, or * content) that you want to grant an attendee. If you don't specify * capabilities, all users have send and receive capabilities on all media channels * by default.

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 (audio, video, or * content) that you want to grant an attendee. If you don't specify * capabilities, all users have send and receive capabilities on all media channels * by default.

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 (audio, video, or * content) that you want to grant an attendee. If you don't specify * capabilities, all users have send and receive capabilities on all media channels * by default.

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 CreateAttendeeRequest& WithCapabilities(const AttendeeCapabilities& value) { SetCapabilities(value); return *this;} /** *

The capabilities (audio, video, or * content) that you want to grant an attendee. If you don't specify * capabilities, all users have send and receive capabilities on all media channels * by default.

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 CreateAttendeeRequest& WithCapabilities(AttendeeCapabilities&& value) { SetCapabilities(std::move(value)); return *this;} private: Aws::String m_meetingId; bool m_meetingIdHasBeenSet = false; Aws::String m_externalUserId; bool m_externalUserIdHasBeenSet = false; AttendeeCapabilities m_capabilities; bool m_capabilitiesHasBeenSet = false; }; } // namespace Model } // namespace ChimeSDKMeetings } // namespace Aws