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

Specify the configurations you want to use for subscriber notification to * notify the subscriber when new data is written to the data lake for sources that * the subscriber consumes in Security Lake.

See Also:

AWS * API Reference

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

The configurations for HTTPS subscriber notification.

*/ inline const HttpsNotificationConfiguration& GetHttpsNotificationConfiguration() const{ return m_httpsNotificationConfiguration; } /** *

The configurations for HTTPS subscriber notification.

*/ inline bool HttpsNotificationConfigurationHasBeenSet() const { return m_httpsNotificationConfigurationHasBeenSet; } /** *

The configurations for HTTPS subscriber notification.

*/ inline void SetHttpsNotificationConfiguration(const HttpsNotificationConfiguration& value) { m_httpsNotificationConfigurationHasBeenSet = true; m_httpsNotificationConfiguration = value; } /** *

The configurations for HTTPS subscriber notification.

*/ inline void SetHttpsNotificationConfiguration(HttpsNotificationConfiguration&& value) { m_httpsNotificationConfigurationHasBeenSet = true; m_httpsNotificationConfiguration = std::move(value); } /** *

The configurations for HTTPS subscriber notification.

*/ inline NotificationConfiguration& WithHttpsNotificationConfiguration(const HttpsNotificationConfiguration& value) { SetHttpsNotificationConfiguration(value); return *this;} /** *

The configurations for HTTPS subscriber notification.

*/ inline NotificationConfiguration& WithHttpsNotificationConfiguration(HttpsNotificationConfiguration&& value) { SetHttpsNotificationConfiguration(std::move(value)); return *this;} /** *

The configurations for SQS subscriber notification.

*/ inline const SqsNotificationConfiguration& GetSqsNotificationConfiguration() const{ return m_sqsNotificationConfiguration; } /** *

The configurations for SQS subscriber notification.

*/ inline bool SqsNotificationConfigurationHasBeenSet() const { return m_sqsNotificationConfigurationHasBeenSet; } /** *

The configurations for SQS subscriber notification.

*/ inline void SetSqsNotificationConfiguration(const SqsNotificationConfiguration& value) { m_sqsNotificationConfigurationHasBeenSet = true; m_sqsNotificationConfiguration = value; } /** *

The configurations for SQS subscriber notification.

*/ inline void SetSqsNotificationConfiguration(SqsNotificationConfiguration&& value) { m_sqsNotificationConfigurationHasBeenSet = true; m_sqsNotificationConfiguration = std::move(value); } /** *

The configurations for SQS subscriber notification.

*/ inline NotificationConfiguration& WithSqsNotificationConfiguration(const SqsNotificationConfiguration& value) { SetSqsNotificationConfiguration(value); return *this;} /** *

The configurations for SQS subscriber notification.

*/ inline NotificationConfiguration& WithSqsNotificationConfiguration(SqsNotificationConfiguration&& value) { SetSqsNotificationConfiguration(std::move(value)); return *this;} private: HttpsNotificationConfiguration m_httpsNotificationConfiguration; bool m_httpsNotificationConfigurationHasBeenSet = false; SqsNotificationConfiguration m_sqsNotificationConfiguration; bool m_sqsNotificationConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SecurityLake } // namespace Aws