/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ResourceGroups { namespace Model { /** *

The Resource Groups settings for this Amazon Web Services * account.

See Also:

AWS * API Reference

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

The desired target status of the group lifecycle events feature. If

*/ inline const GroupLifecycleEventsDesiredStatus& GetGroupLifecycleEventsDesiredStatus() const{ return m_groupLifecycleEventsDesiredStatus; } /** *

The desired target status of the group lifecycle events feature. If

*/ inline bool GroupLifecycleEventsDesiredStatusHasBeenSet() const { return m_groupLifecycleEventsDesiredStatusHasBeenSet; } /** *

The desired target status of the group lifecycle events feature. If

*/ inline void SetGroupLifecycleEventsDesiredStatus(const GroupLifecycleEventsDesiredStatus& value) { m_groupLifecycleEventsDesiredStatusHasBeenSet = true; m_groupLifecycleEventsDesiredStatus = value; } /** *

The desired target status of the group lifecycle events feature. If

*/ inline void SetGroupLifecycleEventsDesiredStatus(GroupLifecycleEventsDesiredStatus&& value) { m_groupLifecycleEventsDesiredStatusHasBeenSet = true; m_groupLifecycleEventsDesiredStatus = std::move(value); } /** *

The desired target status of the group lifecycle events feature. If

*/ inline AccountSettings& WithGroupLifecycleEventsDesiredStatus(const GroupLifecycleEventsDesiredStatus& value) { SetGroupLifecycleEventsDesiredStatus(value); return *this;} /** *

The desired target status of the group lifecycle events feature. If

*/ inline AccountSettings& WithGroupLifecycleEventsDesiredStatus(GroupLifecycleEventsDesiredStatus&& value) { SetGroupLifecycleEventsDesiredStatus(std::move(value)); return *this;} /** *

The current status of the group lifecycle events feature.

*/ inline const GroupLifecycleEventsStatus& GetGroupLifecycleEventsStatus() const{ return m_groupLifecycleEventsStatus; } /** *

The current status of the group lifecycle events feature.

*/ inline bool GroupLifecycleEventsStatusHasBeenSet() const { return m_groupLifecycleEventsStatusHasBeenSet; } /** *

The current status of the group lifecycle events feature.

*/ inline void SetGroupLifecycleEventsStatus(const GroupLifecycleEventsStatus& value) { m_groupLifecycleEventsStatusHasBeenSet = true; m_groupLifecycleEventsStatus = value; } /** *

The current status of the group lifecycle events feature.

*/ inline void SetGroupLifecycleEventsStatus(GroupLifecycleEventsStatus&& value) { m_groupLifecycleEventsStatusHasBeenSet = true; m_groupLifecycleEventsStatus = std::move(value); } /** *

The current status of the group lifecycle events feature.

*/ inline AccountSettings& WithGroupLifecycleEventsStatus(const GroupLifecycleEventsStatus& value) { SetGroupLifecycleEventsStatus(value); return *this;} /** *

The current status of the group lifecycle events feature.

*/ inline AccountSettings& WithGroupLifecycleEventsStatus(GroupLifecycleEventsStatus&& value) { SetGroupLifecycleEventsStatus(std::move(value)); return *this;} /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline const Aws::String& GetGroupLifecycleEventsStatusMessage() const{ return m_groupLifecycleEventsStatusMessage; } /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline bool GroupLifecycleEventsStatusMessageHasBeenSet() const { return m_groupLifecycleEventsStatusMessageHasBeenSet; } /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline void SetGroupLifecycleEventsStatusMessage(const Aws::String& value) { m_groupLifecycleEventsStatusMessageHasBeenSet = true; m_groupLifecycleEventsStatusMessage = value; } /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline void SetGroupLifecycleEventsStatusMessage(Aws::String&& value) { m_groupLifecycleEventsStatusMessageHasBeenSet = true; m_groupLifecycleEventsStatusMessage = std::move(value); } /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline void SetGroupLifecycleEventsStatusMessage(const char* value) { m_groupLifecycleEventsStatusMessageHasBeenSet = true; m_groupLifecycleEventsStatusMessage.assign(value); } /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline AccountSettings& WithGroupLifecycleEventsStatusMessage(const Aws::String& value) { SetGroupLifecycleEventsStatusMessage(value); return *this;} /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline AccountSettings& WithGroupLifecycleEventsStatusMessage(Aws::String&& value) { SetGroupLifecycleEventsStatusMessage(std::move(value)); return *this;} /** *

The text of any error message occurs during an attempt to turn group * lifecycle events on or off.

*/ inline AccountSettings& WithGroupLifecycleEventsStatusMessage(const char* value) { SetGroupLifecycleEventsStatusMessage(value); return *this;} private: GroupLifecycleEventsDesiredStatus m_groupLifecycleEventsDesiredStatus; bool m_groupLifecycleEventsDesiredStatusHasBeenSet = false; GroupLifecycleEventsStatus m_groupLifecycleEventsStatus; bool m_groupLifecycleEventsStatusHasBeenSet = false; Aws::String m_groupLifecycleEventsStatusMessage; bool m_groupLifecycleEventsStatusMessageHasBeenSet = false; }; } // namespace Model } // namespace ResourceGroups } // namespace Aws