/** * 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 { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElastiCache { namespace Model { /** *

Specifies the destination, format and type of the logs.

See * Also:

AWS * API Reference

*/ class LogDeliveryConfigurationRequest { public: AWS_ELASTICACHE_API LogDeliveryConfigurationRequest(); AWS_ELASTICACHE_API LogDeliveryConfigurationRequest(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API LogDeliveryConfigurationRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICACHE_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

Refers to slow-log or * engine-log..

*/ inline const LogType& GetLogType() const{ return m_logType; } /** *

Refers to slow-log or * engine-log..

*/ inline bool LogTypeHasBeenSet() const { return m_logTypeHasBeenSet; } /** *

Refers to slow-log or * engine-log..

*/ inline void SetLogType(const LogType& value) { m_logTypeHasBeenSet = true; m_logType = value; } /** *

Refers to slow-log or * engine-log..

*/ inline void SetLogType(LogType&& value) { m_logTypeHasBeenSet = true; m_logType = std::move(value); } /** *

Refers to slow-log or * engine-log..

*/ inline LogDeliveryConfigurationRequest& WithLogType(const LogType& value) { SetLogType(value); return *this;} /** *

Refers to slow-log or * engine-log..

*/ inline LogDeliveryConfigurationRequest& WithLogType(LogType&& value) { SetLogType(std::move(value)); return *this;} /** *

Specify either cloudwatch-logs or kinesis-firehose * as the destination type.

*/ inline const DestinationType& GetDestinationType() const{ return m_destinationType; } /** *

Specify either cloudwatch-logs or kinesis-firehose * as the destination type.

*/ inline bool DestinationTypeHasBeenSet() const { return m_destinationTypeHasBeenSet; } /** *

Specify either cloudwatch-logs or kinesis-firehose * as the destination type.

*/ inline void SetDestinationType(const DestinationType& value) { m_destinationTypeHasBeenSet = true; m_destinationType = value; } /** *

Specify either cloudwatch-logs or kinesis-firehose * as the destination type.

*/ inline void SetDestinationType(DestinationType&& value) { m_destinationTypeHasBeenSet = true; m_destinationType = std::move(value); } /** *

Specify either cloudwatch-logs or kinesis-firehose * as the destination type.

*/ inline LogDeliveryConfigurationRequest& WithDestinationType(const DestinationType& value) { SetDestinationType(value); return *this;} /** *

Specify either cloudwatch-logs or kinesis-firehose * as the destination type.

*/ inline LogDeliveryConfigurationRequest& WithDestinationType(DestinationType&& value) { SetDestinationType(std::move(value)); return *this;} /** *

Configuration details of either a CloudWatch Logs destination or Kinesis Data * Firehose destination.

*/ inline const DestinationDetails& GetDestinationDetails() const{ return m_destinationDetails; } /** *

Configuration details of either a CloudWatch Logs destination or Kinesis Data * Firehose destination.

*/ inline bool DestinationDetailsHasBeenSet() const { return m_destinationDetailsHasBeenSet; } /** *

Configuration details of either a CloudWatch Logs destination or Kinesis Data * Firehose destination.

*/ inline void SetDestinationDetails(const DestinationDetails& value) { m_destinationDetailsHasBeenSet = true; m_destinationDetails = value; } /** *

Configuration details of either a CloudWatch Logs destination or Kinesis Data * Firehose destination.

*/ inline void SetDestinationDetails(DestinationDetails&& value) { m_destinationDetailsHasBeenSet = true; m_destinationDetails = std::move(value); } /** *

Configuration details of either a CloudWatch Logs destination or Kinesis Data * Firehose destination.

*/ inline LogDeliveryConfigurationRequest& WithDestinationDetails(const DestinationDetails& value) { SetDestinationDetails(value); return *this;} /** *

Configuration details of either a CloudWatch Logs destination or Kinesis Data * Firehose destination.

*/ inline LogDeliveryConfigurationRequest& WithDestinationDetails(DestinationDetails&& value) { SetDestinationDetails(std::move(value)); return *this;} /** *

Specifies either JSON or TEXT

*/ inline const LogFormat& GetLogFormat() const{ return m_logFormat; } /** *

Specifies either JSON or TEXT

*/ inline bool LogFormatHasBeenSet() const { return m_logFormatHasBeenSet; } /** *

Specifies either JSON or TEXT

*/ inline void SetLogFormat(const LogFormat& value) { m_logFormatHasBeenSet = true; m_logFormat = value; } /** *

Specifies either JSON or TEXT

*/ inline void SetLogFormat(LogFormat&& value) { m_logFormatHasBeenSet = true; m_logFormat = std::move(value); } /** *

Specifies either JSON or TEXT

*/ inline LogDeliveryConfigurationRequest& WithLogFormat(const LogFormat& value) { SetLogFormat(value); return *this;} /** *

Specifies either JSON or TEXT

*/ inline LogDeliveryConfigurationRequest& WithLogFormat(LogFormat&& value) { SetLogFormat(std::move(value)); return *this;} /** *

Specify if log delivery is enabled. Default true.

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

Specify if log delivery is enabled. Default true.

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

Specify if log delivery is enabled. Default true.

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

Specify if log delivery is enabled. Default true.

*/ inline LogDeliveryConfigurationRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} private: LogType m_logType; bool m_logTypeHasBeenSet = false; DestinationType m_destinationType; bool m_destinationTypeHasBeenSet = false; DestinationDetails m_destinationDetails; bool m_destinationDetailsHasBeenSet = false; LogFormat m_logFormat; bool m_logFormatHasBeenSet = false; bool m_enabled; bool m_enabledHasBeenSet = false; }; } // namespace Model } // namespace ElastiCache } // namespace Aws