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

The configuration for Lustre logging used to write the enabled logging events * for your Amazon FSx for Lustre file system or Amazon File Cache resource to * Amazon CloudWatch Logs.

See Also:

AWS * API Reference

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

The data repository events that are logged by Amazon FSx.

  • * WARN_ONLY - only warning events are logged.

  • * ERROR_ONLY - only error events are logged.

  • * WARN_ERROR - both warning events and error events are logged.

    *
  • DISABLED - logging of data repository events is * turned off.

Note that Amazon File Cache uses a default * setting of WARN_ERROR, which can't be changed.

*/ inline const LustreAccessAuditLogLevel& GetLevel() const{ return m_level; } /** *

The data repository events that are logged by Amazon FSx.

  • * WARN_ONLY - only warning events are logged.

  • * ERROR_ONLY - only error events are logged.

  • * WARN_ERROR - both warning events and error events are logged.

    *
  • DISABLED - logging of data repository events is * turned off.

Note that Amazon File Cache uses a default * setting of WARN_ERROR, which can't be changed.

*/ inline bool LevelHasBeenSet() const { return m_levelHasBeenSet; } /** *

The data repository events that are logged by Amazon FSx.

  • * WARN_ONLY - only warning events are logged.

  • * ERROR_ONLY - only error events are logged.

  • * WARN_ERROR - both warning events and error events are logged.

    *
  • DISABLED - logging of data repository events is * turned off.

Note that Amazon File Cache uses a default * setting of WARN_ERROR, which can't be changed.

*/ inline void SetLevel(const LustreAccessAuditLogLevel& value) { m_levelHasBeenSet = true; m_level = value; } /** *

The data repository events that are logged by Amazon FSx.

  • * WARN_ONLY - only warning events are logged.

  • * ERROR_ONLY - only error events are logged.

  • * WARN_ERROR - both warning events and error events are logged.

    *
  • DISABLED - logging of data repository events is * turned off.

Note that Amazon File Cache uses a default * setting of WARN_ERROR, which can't be changed.

*/ inline void SetLevel(LustreAccessAuditLogLevel&& value) { m_levelHasBeenSet = true; m_level = std::move(value); } /** *

The data repository events that are logged by Amazon FSx.

  • * WARN_ONLY - only warning events are logged.

  • * ERROR_ONLY - only error events are logged.

  • * WARN_ERROR - both warning events and error events are logged.

    *
  • DISABLED - logging of data repository events is * turned off.

Note that Amazon File Cache uses a default * setting of WARN_ERROR, which can't be changed.

*/ inline LustreLogConfiguration& WithLevel(const LustreAccessAuditLogLevel& value) { SetLevel(value); return *this;} /** *

The data repository events that are logged by Amazon FSx.

  • * WARN_ONLY - only warning events are logged.

  • * ERROR_ONLY - only error events are logged.

  • * WARN_ERROR - both warning events and error events are logged.

    *
  • DISABLED - logging of data repository events is * turned off.

Note that Amazon File Cache uses a default * setting of WARN_ERROR, which can't be changed.

*/ inline LustreLogConfiguration& WithLevel(LustreAccessAuditLogLevel&& value) { SetLevel(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline const Aws::String& GetDestination() const{ return m_destination; } /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline void SetDestination(const Aws::String& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline void SetDestination(Aws::String&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline void SetDestination(const char* value) { m_destinationHasBeenSet = true; m_destination.assign(value); } /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline LustreLogConfiguration& WithDestination(const Aws::String& value) { SetDestination(value); return *this;} /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline LustreLogConfiguration& WithDestination(Aws::String&& value) { SetDestination(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that specifies the destination of the logs. * The destination can be any Amazon CloudWatch Logs log group ARN. The destination * ARN must be in the same Amazon Web Services partition, Amazon Web Services * Region, and Amazon Web Services account as your Amazon FSx file system.

*/ inline LustreLogConfiguration& WithDestination(const char* value) { SetDestination(value); return *this;} private: LustreAccessAuditLogLevel m_level; bool m_levelHasBeenSet = false; Aws::String m_destination; bool m_destinationHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws