/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace S3 { namespace Model { class AWS_S3_API NotificationConfigurationDeprecated { public: NotificationConfigurationDeprecated(); NotificationConfigurationDeprecated(const Aws::Utils::Xml::XmlNode& xmlNode); NotificationConfigurationDeprecated& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

This data type is deprecated. A container for specifying the configuration * for publication of messages to an Amazon Simple Notification Service (Amazon * SNS) topic when Amazon S3 detects specified events.

*/ inline const TopicConfigurationDeprecated& GetTopicConfiguration() const{ return m_topicConfiguration; } /** *

This data type is deprecated. A container for specifying the configuration * for publication of messages to an Amazon Simple Notification Service (Amazon * SNS) topic when Amazon S3 detects specified events.

*/ inline bool TopicConfigurationHasBeenSet() const { return m_topicConfigurationHasBeenSet; } /** *

This data type is deprecated. A container for specifying the configuration * for publication of messages to an Amazon Simple Notification Service (Amazon * SNS) topic when Amazon S3 detects specified events.

*/ inline void SetTopicConfiguration(const TopicConfigurationDeprecated& value) { m_topicConfigurationHasBeenSet = true; m_topicConfiguration = value; } /** *

This data type is deprecated. A container for specifying the configuration * for publication of messages to an Amazon Simple Notification Service (Amazon * SNS) topic when Amazon S3 detects specified events.

*/ inline void SetTopicConfiguration(TopicConfigurationDeprecated&& value) { m_topicConfigurationHasBeenSet = true; m_topicConfiguration = std::move(value); } /** *

This data type is deprecated. A container for specifying the configuration * for publication of messages to an Amazon Simple Notification Service (Amazon * SNS) topic when Amazon S3 detects specified events.

*/ inline NotificationConfigurationDeprecated& WithTopicConfiguration(const TopicConfigurationDeprecated& value) { SetTopicConfiguration(value); return *this;} /** *

This data type is deprecated. A container for specifying the configuration * for publication of messages to an Amazon Simple Notification Service (Amazon * SNS) topic when Amazon S3 detects specified events.

*/ inline NotificationConfigurationDeprecated& WithTopicConfiguration(TopicConfigurationDeprecated&& value) { SetTopicConfiguration(std::move(value)); return *this;} /** *

This data type is deprecated. This data type specifies the configuration for * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when * Amazon S3 detects specified events.

*/ inline const QueueConfigurationDeprecated& GetQueueConfiguration() const{ return m_queueConfiguration; } /** *

This data type is deprecated. This data type specifies the configuration for * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when * Amazon S3 detects specified events.

*/ inline bool QueueConfigurationHasBeenSet() const { return m_queueConfigurationHasBeenSet; } /** *

This data type is deprecated. This data type specifies the configuration for * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when * Amazon S3 detects specified events.

*/ inline void SetQueueConfiguration(const QueueConfigurationDeprecated& value) { m_queueConfigurationHasBeenSet = true; m_queueConfiguration = value; } /** *

This data type is deprecated. This data type specifies the configuration for * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when * Amazon S3 detects specified events.

*/ inline void SetQueueConfiguration(QueueConfigurationDeprecated&& value) { m_queueConfigurationHasBeenSet = true; m_queueConfiguration = std::move(value); } /** *

This data type is deprecated. This data type specifies the configuration for * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when * Amazon S3 detects specified events.

*/ inline NotificationConfigurationDeprecated& WithQueueConfiguration(const QueueConfigurationDeprecated& value) { SetQueueConfiguration(value); return *this;} /** *

This data type is deprecated. This data type specifies the configuration for * publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when * Amazon S3 detects specified events.

*/ inline NotificationConfigurationDeprecated& WithQueueConfiguration(QueueConfigurationDeprecated&& value) { SetQueueConfiguration(std::move(value)); return *this;} /** *

Container for specifying the Lambda notification configuration.

*/ inline const CloudFunctionConfiguration& GetCloudFunctionConfiguration() const{ return m_cloudFunctionConfiguration; } /** *

Container for specifying the Lambda notification configuration.

*/ inline bool CloudFunctionConfigurationHasBeenSet() const { return m_cloudFunctionConfigurationHasBeenSet; } /** *

Container for specifying the Lambda notification configuration.

*/ inline void SetCloudFunctionConfiguration(const CloudFunctionConfiguration& value) { m_cloudFunctionConfigurationHasBeenSet = true; m_cloudFunctionConfiguration = value; } /** *

Container for specifying the Lambda notification configuration.

*/ inline void SetCloudFunctionConfiguration(CloudFunctionConfiguration&& value) { m_cloudFunctionConfigurationHasBeenSet = true; m_cloudFunctionConfiguration = std::move(value); } /** *

Container for specifying the Lambda notification configuration.

*/ inline NotificationConfigurationDeprecated& WithCloudFunctionConfiguration(const CloudFunctionConfiguration& value) { SetCloudFunctionConfiguration(value); return *this;} /** *

Container for specifying the Lambda notification configuration.

*/ inline NotificationConfigurationDeprecated& WithCloudFunctionConfiguration(CloudFunctionConfiguration&& value) { SetCloudFunctionConfiguration(std::move(value)); return *this;} private: TopicConfigurationDeprecated m_topicConfiguration; bool m_topicConfigurationHasBeenSet; QueueConfigurationDeprecated m_queueConfiguration; bool m_queueConfigurationHasBeenSet; CloudFunctionConfiguration m_cloudFunctionConfiguration; bool m_cloudFunctionConfigurationHasBeenSet; }; } // namespace Model } // namespace S3 } // namespace Aws