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