/** * 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 SSM { namespace Model { /** *

The service setting data structure.

ServiceSetting is an * account-level setting for an Amazon Web Services service. This setting defines * how a user interacts with or uses a service or a feature of a service. For * example, if an Amazon Web Services service charges money to the account based on * feature or service usage, then the Amazon Web Services service team might create * a default setting of "false". This means the user can't use this feature unless * they change the setting to "true" and intentionally opt in for a paid * feature.

Services map a SettingId object to a setting value. * Amazon Web Services services teams define the default value for a * SettingId. You can't create a new SettingId, but you * can overwrite the default value if you have the * ssm:UpdateServiceSetting permission for the setting. Use the * UpdateServiceSetting API operation to change the default setting. Or, use * the ResetServiceSetting to change the value back to the original value * defined by the Amazon Web Services service team.

See Also:

AWS * API Reference

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

The ID of the service setting.

*/ inline const Aws::String& GetSettingId() const{ return m_settingId; } /** *

The ID of the service setting.

*/ inline bool SettingIdHasBeenSet() const { return m_settingIdHasBeenSet; } /** *

The ID of the service setting.

*/ inline void SetSettingId(const Aws::String& value) { m_settingIdHasBeenSet = true; m_settingId = value; } /** *

The ID of the service setting.

*/ inline void SetSettingId(Aws::String&& value) { m_settingIdHasBeenSet = true; m_settingId = std::move(value); } /** *

The ID of the service setting.

*/ inline void SetSettingId(const char* value) { m_settingIdHasBeenSet = true; m_settingId.assign(value); } /** *

The ID of the service setting.

*/ inline ServiceSetting& WithSettingId(const Aws::String& value) { SetSettingId(value); return *this;} /** *

The ID of the service setting.

*/ inline ServiceSetting& WithSettingId(Aws::String&& value) { SetSettingId(std::move(value)); return *this;} /** *

The ID of the service setting.

*/ inline ServiceSetting& WithSettingId(const char* value) { SetSettingId(value); return *this;} /** *

The value of the service setting.

*/ inline const Aws::String& GetSettingValue() const{ return m_settingValue; } /** *

The value of the service setting.

*/ inline bool SettingValueHasBeenSet() const { return m_settingValueHasBeenSet; } /** *

The value of the service setting.

*/ inline void SetSettingValue(const Aws::String& value) { m_settingValueHasBeenSet = true; m_settingValue = value; } /** *

The value of the service setting.

*/ inline void SetSettingValue(Aws::String&& value) { m_settingValueHasBeenSet = true; m_settingValue = std::move(value); } /** *

The value of the service setting.

*/ inline void SetSettingValue(const char* value) { m_settingValueHasBeenSet = true; m_settingValue.assign(value); } /** *

The value of the service setting.

*/ inline ServiceSetting& WithSettingValue(const Aws::String& value) { SetSettingValue(value); return *this;} /** *

The value of the service setting.

*/ inline ServiceSetting& WithSettingValue(Aws::String&& value) { SetSettingValue(std::move(value)); return *this;} /** *

The value of the service setting.

*/ inline ServiceSetting& WithSettingValue(const char* value) { SetSettingValue(value); return *this;} /** *

The last time the service setting was modified.

*/ inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The last time the service setting was modified.

*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *

The last time the service setting was modified.

*/ inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *

The last time the service setting was modified.

*/ inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *

The last time the service setting was modified.

*/ inline ServiceSetting& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;} /** *

The last time the service setting was modified.

*/ inline ServiceSetting& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline const Aws::String& GetLastModifiedUser() const{ return m_lastModifiedUser; } /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline bool LastModifiedUserHasBeenSet() const { return m_lastModifiedUserHasBeenSet; } /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline void SetLastModifiedUser(const Aws::String& value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser = value; } /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline void SetLastModifiedUser(Aws::String&& value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser = std::move(value); } /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline void SetLastModifiedUser(const char* value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser.assign(value); } /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline ServiceSetting& WithLastModifiedUser(const Aws::String& value) { SetLastModifiedUser(value); return *this;} /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline ServiceSetting& WithLastModifiedUser(Aws::String&& value) { SetLastModifiedUser(std::move(value)); return *this;} /** *

The ARN of the last modified user. This field is populated only if the * setting value was overwritten.

*/ inline ServiceSetting& WithLastModifiedUser(const char* value) { SetLastModifiedUser(value); return *this;} /** *

The ARN of the service setting.

*/ inline const Aws::String& GetARN() const{ return m_aRN; } /** *

The ARN of the service setting.

*/ inline bool ARNHasBeenSet() const { return m_aRNHasBeenSet; } /** *

The ARN of the service setting.

*/ inline void SetARN(const Aws::String& value) { m_aRNHasBeenSet = true; m_aRN = value; } /** *

The ARN of the service setting.

*/ inline void SetARN(Aws::String&& value) { m_aRNHasBeenSet = true; m_aRN = std::move(value); } /** *

The ARN of the service setting.

*/ inline void SetARN(const char* value) { m_aRNHasBeenSet = true; m_aRN.assign(value); } /** *

The ARN of the service setting.

*/ inline ServiceSetting& WithARN(const Aws::String& value) { SetARN(value); return *this;} /** *

The ARN of the service setting.

*/ inline ServiceSetting& WithARN(Aws::String&& value) { SetARN(std::move(value)); return *this;} /** *

The ARN of the service setting.

*/ inline ServiceSetting& WithARN(const char* value) { SetARN(value); return *this;} /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline ServiceSetting& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline ServiceSetting& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the service setting. The value can be Default, Customized or * PendingUpdate.

  • Default: The current setting uses a default * value provisioned by the Amazon Web Services service team.

  • *

    Customized: The current setting use a custom value specified by the * customer.

  • PendingUpdate: The current setting uses a default or * custom value, but a setting change request is pending approval.

*/ inline ServiceSetting& WithStatus(const char* value) { SetStatus(value); return *this;} private: Aws::String m_settingId; bool m_settingIdHasBeenSet = false; Aws::String m_settingValue; bool m_settingValueHasBeenSet = false; Aws::Utils::DateTime m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; Aws::String m_lastModifiedUser; bool m_lastModifiedUserHasBeenSet = false; Aws::String m_aRN; bool m_aRNHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws