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

A room profile with attributes.

See Also:

AWS * API Reference

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

The ARN of a room profile.

*/ inline const Aws::String& GetProfileArn() const{ return m_profileArn; } /** *

The ARN of a room profile.

*/ inline bool ProfileArnHasBeenSet() const { return m_profileArnHasBeenSet; } /** *

The ARN of a room profile.

*/ inline void SetProfileArn(const Aws::String& value) { m_profileArnHasBeenSet = true; m_profileArn = value; } /** *

The ARN of a room profile.

*/ inline void SetProfileArn(Aws::String&& value) { m_profileArnHasBeenSet = true; m_profileArn = std::move(value); } /** *

The ARN of a room profile.

*/ inline void SetProfileArn(const char* value) { m_profileArnHasBeenSet = true; m_profileArn.assign(value); } /** *

The ARN of a room profile.

*/ inline Profile& WithProfileArn(const Aws::String& value) { SetProfileArn(value); return *this;} /** *

The ARN of a room profile.

*/ inline Profile& WithProfileArn(Aws::String&& value) { SetProfileArn(std::move(value)); return *this;} /** *

The ARN of a room profile.

*/ inline Profile& WithProfileArn(const char* value) { SetProfileArn(value); return *this;} /** *

The name of a room profile.

*/ inline const Aws::String& GetProfileName() const{ return m_profileName; } /** *

The name of a room profile.

*/ inline bool ProfileNameHasBeenSet() const { return m_profileNameHasBeenSet; } /** *

The name of a room profile.

*/ inline void SetProfileName(const Aws::String& value) { m_profileNameHasBeenSet = true; m_profileName = value; } /** *

The name of a room profile.

*/ inline void SetProfileName(Aws::String&& value) { m_profileNameHasBeenSet = true; m_profileName = std::move(value); } /** *

The name of a room profile.

*/ inline void SetProfileName(const char* value) { m_profileNameHasBeenSet = true; m_profileName.assign(value); } /** *

The name of a room profile.

*/ inline Profile& WithProfileName(const Aws::String& value) { SetProfileName(value); return *this;} /** *

The name of a room profile.

*/ inline Profile& WithProfileName(Aws::String&& value) { SetProfileName(std::move(value)); return *this;} /** *

The name of a room profile.

*/ inline Profile& WithProfileName(const char* value) { SetProfileName(value); return *this;} /** *

Retrieves if the profile is default or not.

*/ inline bool GetIsDefault() const{ return m_isDefault; } /** *

Retrieves if the profile is default or not.

*/ inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } /** *

Retrieves if the profile is default or not.

*/ inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } /** *

Retrieves if the profile is default or not.

*/ inline Profile& WithIsDefault(bool value) { SetIsDefault(value); return *this;} /** *

The address of a room profile.

*/ inline const Aws::String& GetAddress() const{ return m_address; } /** *

The address of a room profile.

*/ inline bool AddressHasBeenSet() const { return m_addressHasBeenSet; } /** *

The address of a room profile.

*/ inline void SetAddress(const Aws::String& value) { m_addressHasBeenSet = true; m_address = value; } /** *

The address of a room profile.

*/ inline void SetAddress(Aws::String&& value) { m_addressHasBeenSet = true; m_address = std::move(value); } /** *

The address of a room profile.

*/ inline void SetAddress(const char* value) { m_addressHasBeenSet = true; m_address.assign(value); } /** *

The address of a room profile.

*/ inline Profile& WithAddress(const Aws::String& value) { SetAddress(value); return *this;} /** *

The address of a room profile.

*/ inline Profile& WithAddress(Aws::String&& value) { SetAddress(std::move(value)); return *this;} /** *

The address of a room profile.

*/ inline Profile& WithAddress(const char* value) { SetAddress(value); return *this;} /** *

The time zone of a room profile.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

The time zone of a room profile.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

The time zone of a room profile.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

The time zone of a room profile.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

The time zone of a room profile.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

The time zone of a room profile.

*/ inline Profile& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

The time zone of a room profile.

*/ inline Profile& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

The time zone of a room profile.

*/ inline Profile& WithTimezone(const char* value) { SetTimezone(value); return *this;} /** *

The distance unit of a room profile.

*/ inline const DistanceUnit& GetDistanceUnit() const{ return m_distanceUnit; } /** *

The distance unit of a room profile.

*/ inline bool DistanceUnitHasBeenSet() const { return m_distanceUnitHasBeenSet; } /** *

The distance unit of a room profile.

*/ inline void SetDistanceUnit(const DistanceUnit& value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = value; } /** *

The distance unit of a room profile.

*/ inline void SetDistanceUnit(DistanceUnit&& value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = std::move(value); } /** *

The distance unit of a room profile.

*/ inline Profile& WithDistanceUnit(const DistanceUnit& value) { SetDistanceUnit(value); return *this;} /** *

The distance unit of a room profile.

*/ inline Profile& WithDistanceUnit(DistanceUnit&& value) { SetDistanceUnit(std::move(value)); return *this;} /** *

The temperature unit of a room profile.

*/ inline const TemperatureUnit& GetTemperatureUnit() const{ return m_temperatureUnit; } /** *

The temperature unit of a room profile.

*/ inline bool TemperatureUnitHasBeenSet() const { return m_temperatureUnitHasBeenSet; } /** *

The temperature unit of a room profile.

*/ inline void SetTemperatureUnit(const TemperatureUnit& value) { m_temperatureUnitHasBeenSet = true; m_temperatureUnit = value; } /** *

The temperature unit of a room profile.

*/ inline void SetTemperatureUnit(TemperatureUnit&& value) { m_temperatureUnitHasBeenSet = true; m_temperatureUnit = std::move(value); } /** *

The temperature unit of a room profile.

*/ inline Profile& WithTemperatureUnit(const TemperatureUnit& value) { SetTemperatureUnit(value); return *this;} /** *

The temperature unit of a room profile.

*/ inline Profile& WithTemperatureUnit(TemperatureUnit&& value) { SetTemperatureUnit(std::move(value)); return *this;} /** *

The wake word of a room profile.

*/ inline const WakeWord& GetWakeWord() const{ return m_wakeWord; } /** *

The wake word of a room profile.

*/ inline bool WakeWordHasBeenSet() const { return m_wakeWordHasBeenSet; } /** *

The wake word of a room profile.

*/ inline void SetWakeWord(const WakeWord& value) { m_wakeWordHasBeenSet = true; m_wakeWord = value; } /** *

The wake word of a room profile.

*/ inline void SetWakeWord(WakeWord&& value) { m_wakeWordHasBeenSet = true; m_wakeWord = std::move(value); } /** *

The wake word of a room profile.

*/ inline Profile& WithWakeWord(const WakeWord& value) { SetWakeWord(value); return *this;} /** *

The wake word of a room profile.

*/ inline Profile& WithWakeWord(WakeWord&& value) { SetWakeWord(std::move(value)); return *this;} /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline const Aws::String& GetLocale() const{ return m_locale; } /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; } /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline void SetLocale(const Aws::String& value) { m_localeHasBeenSet = true; m_locale = value; } /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline void SetLocale(Aws::String&& value) { m_localeHasBeenSet = true; m_locale = std::move(value); } /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline void SetLocale(const char* value) { m_localeHasBeenSet = true; m_locale.assign(value); } /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline Profile& WithLocale(const Aws::String& value) { SetLocale(value); return *this;} /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline Profile& WithLocale(Aws::String&& value) { SetLocale(std::move(value)); return *this;} /** *

The locale of a room profile. (This is currently available only to a limited * preview audience.)

*/ inline Profile& WithLocale(const char* value) { SetLocale(value); return *this;} /** *

The setup mode of a room profile.

*/ inline bool GetSetupModeDisabled() const{ return m_setupModeDisabled; } /** *

The setup mode of a room profile.

*/ inline bool SetupModeDisabledHasBeenSet() const { return m_setupModeDisabledHasBeenSet; } /** *

The setup mode of a room profile.

*/ inline void SetSetupModeDisabled(bool value) { m_setupModeDisabledHasBeenSet = true; m_setupModeDisabled = value; } /** *

The setup mode of a room profile.

*/ inline Profile& WithSetupModeDisabled(bool value) { SetSetupModeDisabled(value); return *this;} /** *

The max volume limit of a room profile.

*/ inline int GetMaxVolumeLimit() const{ return m_maxVolumeLimit; } /** *

The max volume limit of a room profile.

*/ inline bool MaxVolumeLimitHasBeenSet() const { return m_maxVolumeLimitHasBeenSet; } /** *

The max volume limit of a room profile.

*/ inline void SetMaxVolumeLimit(int value) { m_maxVolumeLimitHasBeenSet = true; m_maxVolumeLimit = value; } /** *

The max volume limit of a room profile.

*/ inline Profile& WithMaxVolumeLimit(int value) { SetMaxVolumeLimit(value); return *this;} /** *

The PSTN setting of a room profile.

*/ inline bool GetPSTNEnabled() const{ return m_pSTNEnabled; } /** *

The PSTN setting of a room profile.

*/ inline bool PSTNEnabledHasBeenSet() const { return m_pSTNEnabledHasBeenSet; } /** *

The PSTN setting of a room profile.

*/ inline void SetPSTNEnabled(bool value) { m_pSTNEnabledHasBeenSet = true; m_pSTNEnabled = value; } /** *

The PSTN setting of a room profile.

*/ inline Profile& WithPSTNEnabled(bool value) { SetPSTNEnabled(value); return *this;} /** *

Whether data retention of the profile is enabled.

*/ inline bool GetDataRetentionOptIn() const{ return m_dataRetentionOptIn; } /** *

Whether data retention of the profile is enabled.

*/ inline bool DataRetentionOptInHasBeenSet() const { return m_dataRetentionOptInHasBeenSet; } /** *

Whether data retention of the profile is enabled.

*/ inline void SetDataRetentionOptIn(bool value) { m_dataRetentionOptInHasBeenSet = true; m_dataRetentionOptIn = value; } /** *

Whether data retention of the profile is enabled.

*/ inline Profile& WithDataRetentionOptIn(bool value) { SetDataRetentionOptIn(value); return *this;} /** *

The ARN of the address book.

*/ inline const Aws::String& GetAddressBookArn() const{ return m_addressBookArn; } /** *

The ARN of the address book.

*/ inline bool AddressBookArnHasBeenSet() const { return m_addressBookArnHasBeenSet; } /** *

The ARN of the address book.

*/ inline void SetAddressBookArn(const Aws::String& value) { m_addressBookArnHasBeenSet = true; m_addressBookArn = value; } /** *

The ARN of the address book.

*/ inline void SetAddressBookArn(Aws::String&& value) { m_addressBookArnHasBeenSet = true; m_addressBookArn = std::move(value); } /** *

The ARN of the address book.

*/ inline void SetAddressBookArn(const char* value) { m_addressBookArnHasBeenSet = true; m_addressBookArn.assign(value); } /** *

The ARN of the address book.

*/ inline Profile& WithAddressBookArn(const Aws::String& value) { SetAddressBookArn(value); return *this;} /** *

The ARN of the address book.

*/ inline Profile& WithAddressBookArn(Aws::String&& value) { SetAddressBookArn(std::move(value)); return *this;} /** *

The ARN of the address book.

*/ inline Profile& WithAddressBookArn(const char* value) { SetAddressBookArn(value); return *this;} /** *

Meeting room settings of a room profile.

*/ inline const MeetingRoomConfiguration& GetMeetingRoomConfiguration() const{ return m_meetingRoomConfiguration; } /** *

Meeting room settings of a room profile.

*/ inline bool MeetingRoomConfigurationHasBeenSet() const { return m_meetingRoomConfigurationHasBeenSet; } /** *

Meeting room settings of a room profile.

*/ inline void SetMeetingRoomConfiguration(const MeetingRoomConfiguration& value) { m_meetingRoomConfigurationHasBeenSet = true; m_meetingRoomConfiguration = value; } /** *

Meeting room settings of a room profile.

*/ inline void SetMeetingRoomConfiguration(MeetingRoomConfiguration&& value) { m_meetingRoomConfigurationHasBeenSet = true; m_meetingRoomConfiguration = std::move(value); } /** *

Meeting room settings of a room profile.

*/ inline Profile& WithMeetingRoomConfiguration(const MeetingRoomConfiguration& value) { SetMeetingRoomConfiguration(value); return *this;} /** *

Meeting room settings of a room profile.

*/ inline Profile& WithMeetingRoomConfiguration(MeetingRoomConfiguration&& value) { SetMeetingRoomConfiguration(std::move(value)); return *this;} private: Aws::String m_profileArn; bool m_profileArnHasBeenSet = false; Aws::String m_profileName; bool m_profileNameHasBeenSet = false; bool m_isDefault; bool m_isDefaultHasBeenSet = false; Aws::String m_address; bool m_addressHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; DistanceUnit m_distanceUnit; bool m_distanceUnitHasBeenSet = false; TemperatureUnit m_temperatureUnit; bool m_temperatureUnitHasBeenSet = false; WakeWord m_wakeWord; bool m_wakeWordHasBeenSet = false; Aws::String m_locale; bool m_localeHasBeenSet = false; bool m_setupModeDisabled; bool m_setupModeDisabledHasBeenSet = false; int m_maxVolumeLimit; bool m_maxVolumeLimitHasBeenSet = false; bool m_pSTNEnabled; bool m_pSTNEnabledHasBeenSet = false; bool m_dataRetentionOptIn; bool m_dataRetentionOptInHasBeenSet = false; Aws::String m_addressBookArn; bool m_addressBookArnHasBeenSet = false; MeetingRoomConfiguration m_meetingRoomConfiguration; bool m_meetingRoomConfigurationHasBeenSet = false; }; } // namespace Model } // namespace AlexaForBusiness } // namespace Aws