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

A structure that contains information about where Evidently is to store * evaluation events for longer term storage.

See Also:

AWS * API Reference

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

If the project stores evaluation events in CloudWatch Logs, this structure * stores the log group name.

*/ inline const CloudWatchLogsDestination& GetCloudWatchLogs() const{ return m_cloudWatchLogs; } /** *

If the project stores evaluation events in CloudWatch Logs, this structure * stores the log group name.

*/ inline bool CloudWatchLogsHasBeenSet() const { return m_cloudWatchLogsHasBeenSet; } /** *

If the project stores evaluation events in CloudWatch Logs, this structure * stores the log group name.

*/ inline void SetCloudWatchLogs(const CloudWatchLogsDestination& value) { m_cloudWatchLogsHasBeenSet = true; m_cloudWatchLogs = value; } /** *

If the project stores evaluation events in CloudWatch Logs, this structure * stores the log group name.

*/ inline void SetCloudWatchLogs(CloudWatchLogsDestination&& value) { m_cloudWatchLogsHasBeenSet = true; m_cloudWatchLogs = std::move(value); } /** *

If the project stores evaluation events in CloudWatch Logs, this structure * stores the log group name.

*/ inline ProjectDataDelivery& WithCloudWatchLogs(const CloudWatchLogsDestination& value) { SetCloudWatchLogs(value); return *this;} /** *

If the project stores evaluation events in CloudWatch Logs, this structure * stores the log group name.

*/ inline ProjectDataDelivery& WithCloudWatchLogs(CloudWatchLogsDestination&& value) { SetCloudWatchLogs(std::move(value)); return *this;} /** *

If the project stores evaluation events in an Amazon S3 bucket, this * structure stores the bucket name and bucket prefix.

*/ inline const S3Destination& GetS3Destination() const{ return m_s3Destination; } /** *

If the project stores evaluation events in an Amazon S3 bucket, this * structure stores the bucket name and bucket prefix.

*/ inline bool S3DestinationHasBeenSet() const { return m_s3DestinationHasBeenSet; } /** *

If the project stores evaluation events in an Amazon S3 bucket, this * structure stores the bucket name and bucket prefix.

*/ inline void SetS3Destination(const S3Destination& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = value; } /** *

If the project stores evaluation events in an Amazon S3 bucket, this * structure stores the bucket name and bucket prefix.

*/ inline void SetS3Destination(S3Destination&& value) { m_s3DestinationHasBeenSet = true; m_s3Destination = std::move(value); } /** *

If the project stores evaluation events in an Amazon S3 bucket, this * structure stores the bucket name and bucket prefix.

*/ inline ProjectDataDelivery& WithS3Destination(const S3Destination& value) { SetS3Destination(value); return *this;} /** *

If the project stores evaluation events in an Amazon S3 bucket, this * structure stores the bucket name and bucket prefix.

*/ inline ProjectDataDelivery& WithS3Destination(S3Destination&& value) { SetS3Destination(std::move(value)); return *this;} private: CloudWatchLogsDestination m_cloudWatchLogs; bool m_cloudWatchLogsHasBeenSet = false; S3Destination m_s3Destination; bool m_s3DestinationHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchEvidently } // namespace Aws