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

Details about an Amazon RDS event notification subscription. The subscription * allows Amazon RDS to post events to an SNS topic.

See Also:

AWS * API Reference

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

The identifier of the account that is associated with the event notification * subscription.

*/ inline const Aws::String& GetCustSubscriptionId() const{ return m_custSubscriptionId; } /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline bool CustSubscriptionIdHasBeenSet() const { return m_custSubscriptionIdHasBeenSet; } /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline void SetCustSubscriptionId(const Aws::String& value) { m_custSubscriptionIdHasBeenSet = true; m_custSubscriptionId = value; } /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline void SetCustSubscriptionId(Aws::String&& value) { m_custSubscriptionIdHasBeenSet = true; m_custSubscriptionId = std::move(value); } /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline void SetCustSubscriptionId(const char* value) { m_custSubscriptionIdHasBeenSet = true; m_custSubscriptionId.assign(value); } /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithCustSubscriptionId(const Aws::String& value) { SetCustSubscriptionId(value); return *this;} /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithCustSubscriptionId(Aws::String&& value) { SetCustSubscriptionId(std::move(value)); return *this;} /** *

The identifier of the account that is associated with the event notification * subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithCustSubscriptionId(const char* value) { SetCustSubscriptionId(value); return *this;} /** *

The identifier of the event notification subscription.

*/ inline const Aws::String& GetCustomerAwsId() const{ return m_customerAwsId; } /** *

The identifier of the event notification subscription.

*/ inline bool CustomerAwsIdHasBeenSet() const { return m_customerAwsIdHasBeenSet; } /** *

The identifier of the event notification subscription.

*/ inline void SetCustomerAwsId(const Aws::String& value) { m_customerAwsIdHasBeenSet = true; m_customerAwsId = value; } /** *

The identifier of the event notification subscription.

*/ inline void SetCustomerAwsId(Aws::String&& value) { m_customerAwsIdHasBeenSet = true; m_customerAwsId = std::move(value); } /** *

The identifier of the event notification subscription.

*/ inline void SetCustomerAwsId(const char* value) { m_customerAwsIdHasBeenSet = true; m_customerAwsId.assign(value); } /** *

The identifier of the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithCustomerAwsId(const Aws::String& value) { SetCustomerAwsId(value); return *this;} /** *

The identifier of the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithCustomerAwsId(Aws::String&& value) { SetCustomerAwsId(std::move(value)); return *this;} /** *

The identifier of the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithCustomerAwsId(const char* value) { SetCustomerAwsId(value); return *this;} /** *

Whether the event notification subscription is enabled.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Whether the event notification subscription is enabled.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Whether the event notification subscription is enabled.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Whether the event notification subscription is enabled.

*/ inline AwsRdsEventSubscriptionDetails& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The list of event categories for the event notification subscription.

*/ inline const Aws::Vector& GetEventCategoriesList() const{ return m_eventCategoriesList; } /** *

The list of event categories for the event notification subscription.

*/ inline bool EventCategoriesListHasBeenSet() const { return m_eventCategoriesListHasBeenSet; } /** *

The list of event categories for the event notification subscription.

*/ inline void SetEventCategoriesList(const Aws::Vector& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList = value; } /** *

The list of event categories for the event notification subscription.

*/ inline void SetEventCategoriesList(Aws::Vector&& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList = std::move(value); } /** *

The list of event categories for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithEventCategoriesList(const Aws::Vector& value) { SetEventCategoriesList(value); return *this;} /** *

The list of event categories for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithEventCategoriesList(Aws::Vector&& value) { SetEventCategoriesList(std::move(value)); return *this;} /** *

The list of event categories for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& AddEventCategoriesList(const Aws::String& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList.push_back(value); return *this; } /** *

The list of event categories for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& AddEventCategoriesList(Aws::String&& value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList.push_back(std::move(value)); return *this; } /** *

The list of event categories for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& AddEventCategoriesList(const char* value) { m_eventCategoriesListHasBeenSet = true; m_eventCategoriesList.push_back(value); return *this; } /** *

The ARN of the event notification subscription.

*/ inline const Aws::String& GetEventSubscriptionArn() const{ return m_eventSubscriptionArn; } /** *

The ARN of the event notification subscription.

*/ inline bool EventSubscriptionArnHasBeenSet() const { return m_eventSubscriptionArnHasBeenSet; } /** *

The ARN of the event notification subscription.

*/ inline void SetEventSubscriptionArn(const Aws::String& value) { m_eventSubscriptionArnHasBeenSet = true; m_eventSubscriptionArn = value; } /** *

The ARN of the event notification subscription.

*/ inline void SetEventSubscriptionArn(Aws::String&& value) { m_eventSubscriptionArnHasBeenSet = true; m_eventSubscriptionArn = std::move(value); } /** *

The ARN of the event notification subscription.

*/ inline void SetEventSubscriptionArn(const char* value) { m_eventSubscriptionArnHasBeenSet = true; m_eventSubscriptionArn.assign(value); } /** *

The ARN of the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithEventSubscriptionArn(const Aws::String& value) { SetEventSubscriptionArn(value); return *this;} /** *

The ARN of the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithEventSubscriptionArn(Aws::String&& value) { SetEventSubscriptionArn(std::move(value)); return *this;} /** *

The ARN of the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithEventSubscriptionArn(const char* value) { SetEventSubscriptionArn(value); return *this;} /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; } /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; } /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; } /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); } /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); } /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline AwsRdsEventSubscriptionDetails& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;} /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline AwsRdsEventSubscriptionDetails& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;} /** *

The ARN of the SNS topic to post the event notifications to.

*/ inline AwsRdsEventSubscriptionDetails& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;} /** *

A list of source identifiers for the event notification subscription.

*/ inline const Aws::Vector& GetSourceIdsList() const{ return m_sourceIdsList; } /** *

A list of source identifiers for the event notification subscription.

*/ inline bool SourceIdsListHasBeenSet() const { return m_sourceIdsListHasBeenSet; } /** *

A list of source identifiers for the event notification subscription.

*/ inline void SetSourceIdsList(const Aws::Vector& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList = value; } /** *

A list of source identifiers for the event notification subscription.

*/ inline void SetSourceIdsList(Aws::Vector&& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList = std::move(value); } /** *

A list of source identifiers for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithSourceIdsList(const Aws::Vector& value) { SetSourceIdsList(value); return *this;} /** *

A list of source identifiers for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithSourceIdsList(Aws::Vector&& value) { SetSourceIdsList(std::move(value)); return *this;} /** *

A list of source identifiers for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& AddSourceIdsList(const Aws::String& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList.push_back(value); return *this; } /** *

A list of source identifiers for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& AddSourceIdsList(Aws::String&& value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList.push_back(std::move(value)); return *this; } /** *

A list of source identifiers for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& AddSourceIdsList(const char* value) { m_sourceIdsListHasBeenSet = true; m_sourceIdsList.push_back(value); return *this; } /** *

The source type for the event notification subscription.

*/ inline const Aws::String& GetSourceType() const{ return m_sourceType; } /** *

The source type for the event notification subscription.

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

The source type for the event notification subscription.

*/ inline void SetSourceType(const Aws::String& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

The source type for the event notification subscription.

*/ inline void SetSourceType(Aws::String&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

The source type for the event notification subscription.

*/ inline void SetSourceType(const char* value) { m_sourceTypeHasBeenSet = true; m_sourceType.assign(value); } /** *

The source type for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithSourceType(const Aws::String& value) { SetSourceType(value); return *this;} /** *

The source type for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithSourceType(Aws::String&& value) { SetSourceType(std::move(value)); return *this;} /** *

The source type for the event notification subscription.

*/ inline AwsRdsEventSubscriptionDetails& WithSourceType(const char* value) { SetSourceType(value); return *this;} /** *

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

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

The status of the event notification subscription.

Valid values: * creating | modifying | deleting | * active | no-permission | topic-not-exist *

*/ inline AwsRdsEventSubscriptionDetails& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline const Aws::String& GetSubscriptionCreationTime() const{ return m_subscriptionCreationTime; } /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline bool SubscriptionCreationTimeHasBeenSet() const { return m_subscriptionCreationTimeHasBeenSet; } /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetSubscriptionCreationTime(const Aws::String& value) { m_subscriptionCreationTimeHasBeenSet = true; m_subscriptionCreationTime = value; } /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetSubscriptionCreationTime(Aws::String&& value) { m_subscriptionCreationTimeHasBeenSet = true; m_subscriptionCreationTime = std::move(value); } /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetSubscriptionCreationTime(const char* value) { m_subscriptionCreationTimeHasBeenSet = true; m_subscriptionCreationTime.assign(value); } /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsRdsEventSubscriptionDetails& WithSubscriptionCreationTime(const Aws::String& value) { SetSubscriptionCreationTime(value); return *this;} /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsRdsEventSubscriptionDetails& WithSubscriptionCreationTime(Aws::String&& value) { SetSubscriptionCreationTime(std::move(value)); return *this;} /** *

The datetime when the event notification subscription was created.

*

Uses the date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces, and date and * time should be separated by T. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsRdsEventSubscriptionDetails& WithSubscriptionCreationTime(const char* value) { SetSubscriptionCreationTime(value); return *this;} private: Aws::String m_custSubscriptionId; bool m_custSubscriptionIdHasBeenSet = false; Aws::String m_customerAwsId; bool m_customerAwsIdHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; Aws::Vector m_eventCategoriesList; bool m_eventCategoriesListHasBeenSet = false; Aws::String m_eventSubscriptionArn; bool m_eventSubscriptionArnHasBeenSet = false; Aws::String m_snsTopicArn; bool m_snsTopicArnHasBeenSet = false; Aws::Vector m_sourceIdsList; bool m_sourceIdsListHasBeenSet = false; Aws::String m_sourceType; bool m_sourceTypeHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_subscriptionCreationTime; bool m_subscriptionCreationTimeHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws