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

Creates meeting room settings of a room profile.

See Also:

* AWS * API Reference

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

Whether room utilization metrics are enabled or not.

*/ inline bool GetRoomUtilizationMetricsEnabled() const{ return m_roomUtilizationMetricsEnabled; } /** *

Whether room utilization metrics are enabled or not.

*/ inline bool RoomUtilizationMetricsEnabledHasBeenSet() const { return m_roomUtilizationMetricsEnabledHasBeenSet; } /** *

Whether room utilization metrics are enabled or not.

*/ inline void SetRoomUtilizationMetricsEnabled(bool value) { m_roomUtilizationMetricsEnabledHasBeenSet = true; m_roomUtilizationMetricsEnabled = value; } /** *

Whether room utilization metrics are enabled or not.

*/ inline CreateMeetingRoomConfiguration& WithRoomUtilizationMetricsEnabled(bool value) { SetRoomUtilizationMetricsEnabled(value); return *this;} inline const CreateEndOfMeetingReminder& GetEndOfMeetingReminder() const{ return m_endOfMeetingReminder; } inline bool EndOfMeetingReminderHasBeenSet() const { return m_endOfMeetingReminderHasBeenSet; } inline void SetEndOfMeetingReminder(const CreateEndOfMeetingReminder& value) { m_endOfMeetingReminderHasBeenSet = true; m_endOfMeetingReminder = value; } inline void SetEndOfMeetingReminder(CreateEndOfMeetingReminder&& value) { m_endOfMeetingReminderHasBeenSet = true; m_endOfMeetingReminder = std::move(value); } inline CreateMeetingRoomConfiguration& WithEndOfMeetingReminder(const CreateEndOfMeetingReminder& value) { SetEndOfMeetingReminder(value); return *this;} inline CreateMeetingRoomConfiguration& WithEndOfMeetingReminder(CreateEndOfMeetingReminder&& value) { SetEndOfMeetingReminder(std::move(value)); return *this;} /** *

Settings to automatically book a room for a configured duration if it's free * when joining a meeting with Alexa.

*/ inline const CreateInstantBooking& GetInstantBooking() const{ return m_instantBooking; } /** *

Settings to automatically book a room for a configured duration if it's free * when joining a meeting with Alexa.

*/ inline bool InstantBookingHasBeenSet() const { return m_instantBookingHasBeenSet; } /** *

Settings to automatically book a room for a configured duration if it's free * when joining a meeting with Alexa.

*/ inline void SetInstantBooking(const CreateInstantBooking& value) { m_instantBookingHasBeenSet = true; m_instantBooking = value; } /** *

Settings to automatically book a room for a configured duration if it's free * when joining a meeting with Alexa.

*/ inline void SetInstantBooking(CreateInstantBooking&& value) { m_instantBookingHasBeenSet = true; m_instantBooking = std::move(value); } /** *

Settings to automatically book a room for a configured duration if it's free * when joining a meeting with Alexa.

*/ inline CreateMeetingRoomConfiguration& WithInstantBooking(const CreateInstantBooking& value) { SetInstantBooking(value); return *this;} /** *

Settings to automatically book a room for a configured duration if it's free * when joining a meeting with Alexa.

*/ inline CreateMeetingRoomConfiguration& WithInstantBooking(CreateInstantBooking&& value) { SetInstantBooking(std::move(value)); return *this;} /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a * room reservation if it's not checked into to make the room available for others. * Users can check in by joining the meeting with Alexa or an AVS device, or by * saying “Alexa, check in.”

*/ inline const CreateRequireCheckIn& GetRequireCheckIn() const{ return m_requireCheckIn; } /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a * room reservation if it's not checked into to make the room available for others. * Users can check in by joining the meeting with Alexa or an AVS device, or by * saying “Alexa, check in.”

*/ inline bool RequireCheckInHasBeenSet() const { return m_requireCheckInHasBeenSet; } /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a * room reservation if it's not checked into to make the room available for others. * Users can check in by joining the meeting with Alexa or an AVS device, or by * saying “Alexa, check in.”

*/ inline void SetRequireCheckIn(const CreateRequireCheckIn& value) { m_requireCheckInHasBeenSet = true; m_requireCheckIn = value; } /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a * room reservation if it's not checked into to make the room available for others. * Users can check in by joining the meeting with Alexa or an AVS device, or by * saying “Alexa, check in.”

*/ inline void SetRequireCheckIn(CreateRequireCheckIn&& value) { m_requireCheckInHasBeenSet = true; m_requireCheckIn = std::move(value); } /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a * room reservation if it's not checked into to make the room available for others. * Users can check in by joining the meeting with Alexa or an AVS device, or by * saying “Alexa, check in.”

*/ inline CreateMeetingRoomConfiguration& WithRequireCheckIn(const CreateRequireCheckIn& value) { SetRequireCheckIn(value); return *this;} /** *

Settings for requiring a check in when a room is reserved. Alexa can cancel a * room reservation if it's not checked into to make the room available for others. * Users can check in by joining the meeting with Alexa or an AVS device, or by * saying “Alexa, check in.”

*/ inline CreateMeetingRoomConfiguration& WithRequireCheckIn(CreateRequireCheckIn&& value) { SetRequireCheckIn(std::move(value)); return *this;} inline const CreateProactiveJoin& GetProactiveJoin() const{ return m_proactiveJoin; } inline bool ProactiveJoinHasBeenSet() const { return m_proactiveJoinHasBeenSet; } inline void SetProactiveJoin(const CreateProactiveJoin& value) { m_proactiveJoinHasBeenSet = true; m_proactiveJoin = value; } inline void SetProactiveJoin(CreateProactiveJoin&& value) { m_proactiveJoinHasBeenSet = true; m_proactiveJoin = std::move(value); } inline CreateMeetingRoomConfiguration& WithProactiveJoin(const CreateProactiveJoin& value) { SetProactiveJoin(value); return *this;} inline CreateMeetingRoomConfiguration& WithProactiveJoin(CreateProactiveJoin&& value) { SetProactiveJoin(std::move(value)); return *this;} private: bool m_roomUtilizationMetricsEnabled; bool m_roomUtilizationMetricsEnabledHasBeenSet = false; CreateEndOfMeetingReminder m_endOfMeetingReminder; bool m_endOfMeetingReminderHasBeenSet = false; CreateInstantBooking m_instantBooking; bool m_instantBookingHasBeenSet = false; CreateRequireCheckIn m_requireCheckIn; bool m_requireCheckInHasBeenSet = false; CreateProactiveJoin m_proactiveJoin; bool m_proactiveJoinHasBeenSet = false; }; } // namespace Model } // namespace AlexaForBusiness } // namespace Aws