/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { /** *

Describes the status of logging for a cluster.

See Also:

AWS * API Reference

*/ class EnableLoggingResult { public: AWS_REDSHIFT_API EnableLoggingResult(); AWS_REDSHIFT_API EnableLoggingResult(const Aws::AmazonWebServiceResult& result); AWS_REDSHIFT_API EnableLoggingResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

true if logging is on, false if logging is * off.

*/ inline bool GetLoggingEnabled() const{ return m_loggingEnabled; } /** *

true if logging is on, false if logging is * off.

*/ inline void SetLoggingEnabled(bool value) { m_loggingEnabled = value; } /** *

true if logging is on, false if logging is * off.

*/ inline EnableLoggingResult& WithLoggingEnabled(bool value) { SetLoggingEnabled(value); return *this;} /** *

The name of the S3 bucket where the log files are stored.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The name of the S3 bucket where the log files are stored.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketName = value; } /** *

The name of the S3 bucket where the log files are stored.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketName = std::move(value); } /** *

The name of the S3 bucket where the log files are stored.

*/ inline void SetBucketName(const char* value) { m_bucketName.assign(value); } /** *

The name of the S3 bucket where the log files are stored.

*/ inline EnableLoggingResult& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The name of the S3 bucket where the log files are stored.

*/ inline EnableLoggingResult& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The name of the S3 bucket where the log files are stored.

*/ inline EnableLoggingResult& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The prefix applied to the log file names.

*/ inline const Aws::String& GetS3KeyPrefix() const{ return m_s3KeyPrefix; } /** *

The prefix applied to the log file names.

*/ inline void SetS3KeyPrefix(const Aws::String& value) { m_s3KeyPrefix = value; } /** *

The prefix applied to the log file names.

*/ inline void SetS3KeyPrefix(Aws::String&& value) { m_s3KeyPrefix = std::move(value); } /** *

The prefix applied to the log file names.

*/ inline void SetS3KeyPrefix(const char* value) { m_s3KeyPrefix.assign(value); } /** *

The prefix applied to the log file names.

*/ inline EnableLoggingResult& WithS3KeyPrefix(const Aws::String& value) { SetS3KeyPrefix(value); return *this;} /** *

The prefix applied to the log file names.

*/ inline EnableLoggingResult& WithS3KeyPrefix(Aws::String&& value) { SetS3KeyPrefix(std::move(value)); return *this;} /** *

The prefix applied to the log file names.

*/ inline EnableLoggingResult& WithS3KeyPrefix(const char* value) { SetS3KeyPrefix(value); return *this;} /** *

The last time that logs were delivered.

*/ inline const Aws::Utils::DateTime& GetLastSuccessfulDeliveryTime() const{ return m_lastSuccessfulDeliveryTime; } /** *

The last time that logs were delivered.

*/ inline void SetLastSuccessfulDeliveryTime(const Aws::Utils::DateTime& value) { m_lastSuccessfulDeliveryTime = value; } /** *

The last time that logs were delivered.

*/ inline void SetLastSuccessfulDeliveryTime(Aws::Utils::DateTime&& value) { m_lastSuccessfulDeliveryTime = std::move(value); } /** *

The last time that logs were delivered.

*/ inline EnableLoggingResult& WithLastSuccessfulDeliveryTime(const Aws::Utils::DateTime& value) { SetLastSuccessfulDeliveryTime(value); return *this;} /** *

The last time that logs were delivered.

*/ inline EnableLoggingResult& WithLastSuccessfulDeliveryTime(Aws::Utils::DateTime&& value) { SetLastSuccessfulDeliveryTime(std::move(value)); return *this;} /** *

The last time when logs failed to be delivered.

*/ inline const Aws::Utils::DateTime& GetLastFailureTime() const{ return m_lastFailureTime; } /** *

The last time when logs failed to be delivered.

*/ inline void SetLastFailureTime(const Aws::Utils::DateTime& value) { m_lastFailureTime = value; } /** *

The last time when logs failed to be delivered.

*/ inline void SetLastFailureTime(Aws::Utils::DateTime&& value) { m_lastFailureTime = std::move(value); } /** *

The last time when logs failed to be delivered.

*/ inline EnableLoggingResult& WithLastFailureTime(const Aws::Utils::DateTime& value) { SetLastFailureTime(value); return *this;} /** *

The last time when logs failed to be delivered.

*/ inline EnableLoggingResult& WithLastFailureTime(Aws::Utils::DateTime&& value) { SetLastFailureTime(std::move(value)); return *this;} /** *

The message indicating that logs failed to be delivered.

*/ inline const Aws::String& GetLastFailureMessage() const{ return m_lastFailureMessage; } /** *

The message indicating that logs failed to be delivered.

*/ inline void SetLastFailureMessage(const Aws::String& value) { m_lastFailureMessage = value; } /** *

The message indicating that logs failed to be delivered.

*/ inline void SetLastFailureMessage(Aws::String&& value) { m_lastFailureMessage = std::move(value); } /** *

The message indicating that logs failed to be delivered.

*/ inline void SetLastFailureMessage(const char* value) { m_lastFailureMessage.assign(value); } /** *

The message indicating that logs failed to be delivered.

*/ inline EnableLoggingResult& WithLastFailureMessage(const Aws::String& value) { SetLastFailureMessage(value); return *this;} /** *

The message indicating that logs failed to be delivered.

*/ inline EnableLoggingResult& WithLastFailureMessage(Aws::String&& value) { SetLastFailureMessage(std::move(value)); return *this;} /** *

The message indicating that logs failed to be delivered.

*/ inline EnableLoggingResult& WithLastFailureMessage(const char* value) { SetLastFailureMessage(value); return *this;} /** *

The log destination type. An enum with possible values of s3 and * cloudwatch.

*/ inline const LogDestinationType& GetLogDestinationType() const{ return m_logDestinationType; } /** *

The log destination type. An enum with possible values of s3 and * cloudwatch.

*/ inline void SetLogDestinationType(const LogDestinationType& value) { m_logDestinationType = value; } /** *

The log destination type. An enum with possible values of s3 and * cloudwatch.

*/ inline void SetLogDestinationType(LogDestinationType&& value) { m_logDestinationType = std::move(value); } /** *

The log destination type. An enum with possible values of s3 and * cloudwatch.

*/ inline EnableLoggingResult& WithLogDestinationType(const LogDestinationType& value) { SetLogDestinationType(value); return *this;} /** *

The log destination type. An enum with possible values of s3 and * cloudwatch.

*/ inline EnableLoggingResult& WithLogDestinationType(LogDestinationType&& value) { SetLogDestinationType(std::move(value)); return *this;} /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline const Aws::Vector& GetLogExports() const{ return m_logExports; } /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline void SetLogExports(const Aws::Vector& value) { m_logExports = value; } /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline void SetLogExports(Aws::Vector&& value) { m_logExports = std::move(value); } /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline EnableLoggingResult& WithLogExports(const Aws::Vector& value) { SetLogExports(value); return *this;} /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline EnableLoggingResult& WithLogExports(Aws::Vector&& value) { SetLogExports(std::move(value)); return *this;} /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline EnableLoggingResult& AddLogExports(const Aws::String& value) { m_logExports.push_back(value); return *this; } /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline EnableLoggingResult& AddLogExports(Aws::String&& value) { m_logExports.push_back(std::move(value)); return *this; } /** *

The collection of exported log types. Possible values are * connectionlog, useractivitylog, and * userlog.

*/ inline EnableLoggingResult& AddLogExports(const char* value) { m_logExports.push_back(value); return *this; } inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline EnableLoggingResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline EnableLoggingResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: bool m_loggingEnabled; Aws::String m_bucketName; Aws::String m_s3KeyPrefix; Aws::Utils::DateTime m_lastSuccessfulDeliveryTime; Aws::Utils::DateTime m_lastFailureTime; Aws::String m_lastFailureMessage; LogDestinationType m_logDestinationType; Aws::Vector m_logExports; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace Redshift } // namespace Aws