1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/appmesh/AppMesh_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace AppMesh 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>An object that represents an access log file.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/FileAccessLog">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_APPMESH_API FileAccessLog 32 { 33 public: 34 FileAccessLog(); 35 FileAccessLog(Aws::Utils::Json::JsonView jsonValue); 36 FileAccessLog& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 42 * to send access logs to standard out and configure your Envoy container to use a 43 * log driver, such as <code>awslogs</code>, to export the access logs to a log 44 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 45 * the Envoy container's file system to write the files to disk.</p> <p>The 46 * Envoy process must have write permissions to the path that you specify here. 47 * Otherwise, Envoy fails to bootstrap properly.</p> 48 */ GetPath()49 inline const Aws::String& GetPath() const{ return m_path; } 50 51 /** 52 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 53 * to send access logs to standard out and configure your Envoy container to use a 54 * log driver, such as <code>awslogs</code>, to export the access logs to a log 55 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 56 * the Envoy container's file system to write the files to disk.</p> <p>The 57 * Envoy process must have write permissions to the path that you specify here. 58 * Otherwise, Envoy fails to bootstrap properly.</p> 59 */ PathHasBeenSet()60 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } 61 62 /** 63 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 64 * to send access logs to standard out and configure your Envoy container to use a 65 * log driver, such as <code>awslogs</code>, to export the access logs to a log 66 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 67 * the Envoy container's file system to write the files to disk.</p> <p>The 68 * Envoy process must have write permissions to the path that you specify here. 69 * Otherwise, Envoy fails to bootstrap properly.</p> 70 */ SetPath(const Aws::String & value)71 inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } 72 73 /** 74 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 75 * to send access logs to standard out and configure your Envoy container to use a 76 * log driver, such as <code>awslogs</code>, to export the access logs to a log 77 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 78 * the Envoy container's file system to write the files to disk.</p> <p>The 79 * Envoy process must have write permissions to the path that you specify here. 80 * Otherwise, Envoy fails to bootstrap properly.</p> 81 */ SetPath(Aws::String && value)82 inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } 83 84 /** 85 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 86 * to send access logs to standard out and configure your Envoy container to use a 87 * log driver, such as <code>awslogs</code>, to export the access logs to a log 88 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 89 * the Envoy container's file system to write the files to disk.</p> <p>The 90 * Envoy process must have write permissions to the path that you specify here. 91 * Otherwise, Envoy fails to bootstrap properly.</p> 92 */ SetPath(const char * value)93 inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } 94 95 /** 96 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 97 * to send access logs to standard out and configure your Envoy container to use a 98 * log driver, such as <code>awslogs</code>, to export the access logs to a log 99 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 100 * the Envoy container's file system to write the files to disk.</p> <p>The 101 * Envoy process must have write permissions to the path that you specify here. 102 * Otherwise, Envoy fails to bootstrap properly.</p> 103 */ WithPath(const Aws::String & value)104 inline FileAccessLog& WithPath(const Aws::String& value) { SetPath(value); return *this;} 105 106 /** 107 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 108 * to send access logs to standard out and configure your Envoy container to use a 109 * log driver, such as <code>awslogs</code>, to export the access logs to a log 110 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 111 * the Envoy container's file system to write the files to disk.</p> <p>The 112 * Envoy process must have write permissions to the path that you specify here. 113 * Otherwise, Envoy fails to bootstrap properly.</p> 114 */ WithPath(Aws::String && value)115 inline FileAccessLog& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} 116 117 /** 118 * <p>The file path to write access logs to. You can use <code>/dev/stdout</code> 119 * to send access logs to standard out and configure your Envoy container to use a 120 * log driver, such as <code>awslogs</code>, to export the access logs to a log 121 * storage service such as Amazon CloudWatch Logs. You can also specify a path in 122 * the Envoy container's file system to write the files to disk.</p> <p>The 123 * Envoy process must have write permissions to the path that you specify here. 124 * Otherwise, Envoy fails to bootstrap properly.</p> 125 */ WithPath(const char * value)126 inline FileAccessLog& WithPath(const char* value) { SetPath(value); return *this;} 127 128 private: 129 130 Aws::String m_path; 131 bool m_pathHasBeenSet; 132 }; 133 134 } // namespace Model 135 } // namespace AppMesh 136 } // namespace Aws 137