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

An object that represents an access log file.

See Also:

AWS * API Reference

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

The specified format for the virtual gateway access logs. It can be either * json_format or text_format.

*/ inline const LoggingFormat& GetFormat() const{ return m_format; } /** *

The specified format for the virtual gateway access logs. It can be either * json_format or text_format.

*/ inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } /** *

The specified format for the virtual gateway access logs. It can be either * json_format or text_format.

*/ inline void SetFormat(const LoggingFormat& value) { m_formatHasBeenSet = true; m_format = value; } /** *

The specified format for the virtual gateway access logs. It can be either * json_format or text_format.

*/ inline void SetFormat(LoggingFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } /** *

The specified format for the virtual gateway access logs. It can be either * json_format or text_format.

*/ inline VirtualGatewayFileAccessLog& WithFormat(const LoggingFormat& value) { SetFormat(value); return *this;} /** *

The specified format for the virtual gateway access logs. It can be either * json_format or text_format.

*/ inline VirtualGatewayFileAccessLog& WithFormat(LoggingFormat&& value) { SetFormat(std::move(value)); return *this;} /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline VirtualGatewayFileAccessLog& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline VirtualGatewayFileAccessLog& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The file path to write access logs to. You can use /dev/stdout * to send access logs to standard out and configure your Envoy container to use a * log driver, such as awslogs, to export the access logs to a log * storage service such as Amazon CloudWatch Logs. You can also specify a path in * the Envoy container's file system to write the files to disk.

*/ inline VirtualGatewayFileAccessLog& WithPath(const char* value) { SetPath(value); return *this;} private: LoggingFormat m_format; bool m_formatHasBeenSet = false; Aws::String m_path; bool m_pathHasBeenSet = false; }; } // namespace Model } // namespace AppMesh } // namespace Aws