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/awstransfer/Transfer_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 Transfer
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Consists of the logging role and the log group name.</p><p><h3>See Also:</h3>
28    * <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/LoggingConfiguration">AWS
30    * API Reference</a></p>
31    */
32   class AWS_TRANSFER_API LoggingConfiguration
33   {
34   public:
35     LoggingConfiguration();
36     LoggingConfiguration(Aws::Utils::Json::JsonView jsonValue);
37     LoggingConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
43      * and Access Management (IAM) role that allows a server to turn on Amazon
44      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
45      * can be viewed in your CloudWatch logs.</p>
46      */
GetLoggingRole()47     inline const Aws::String& GetLoggingRole() const{ return m_loggingRole; }
48 
49     /**
50      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
51      * and Access Management (IAM) role that allows a server to turn on Amazon
52      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
53      * can be viewed in your CloudWatch logs.</p>
54      */
LoggingRoleHasBeenSet()55     inline bool LoggingRoleHasBeenSet() const { return m_loggingRoleHasBeenSet; }
56 
57     /**
58      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
59      * and Access Management (IAM) role that allows a server to turn on Amazon
60      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
61      * can be viewed in your CloudWatch logs.</p>
62      */
SetLoggingRole(const Aws::String & value)63     inline void SetLoggingRole(const Aws::String& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = value; }
64 
65     /**
66      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
67      * and Access Management (IAM) role that allows a server to turn on Amazon
68      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
69      * can be viewed in your CloudWatch logs.</p>
70      */
SetLoggingRole(Aws::String && value)71     inline void SetLoggingRole(Aws::String&& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = std::move(value); }
72 
73     /**
74      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
75      * and Access Management (IAM) role that allows a server to turn on Amazon
76      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
77      * can be viewed in your CloudWatch logs.</p>
78      */
SetLoggingRole(const char * value)79     inline void SetLoggingRole(const char* value) { m_loggingRoleHasBeenSet = true; m_loggingRole.assign(value); }
80 
81     /**
82      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
83      * and Access Management (IAM) role that allows a server to turn on Amazon
84      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
85      * can be viewed in your CloudWatch logs.</p>
86      */
WithLoggingRole(const Aws::String & value)87     inline LoggingConfiguration& WithLoggingRole(const Aws::String& value) { SetLoggingRole(value); return *this;}
88 
89     /**
90      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
91      * and Access Management (IAM) role that allows a server to turn on Amazon
92      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
93      * can be viewed in your CloudWatch logs.</p>
94      */
WithLoggingRole(Aws::String && value)95     inline LoggingConfiguration& WithLoggingRole(Aws::String&& value) { SetLoggingRole(std::move(value)); return *this;}
96 
97     /**
98      * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity
99      * and Access Management (IAM) role that allows a server to turn on Amazon
100      * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity
101      * can be viewed in your CloudWatch logs.</p>
102      */
WithLoggingRole(const char * value)103     inline LoggingConfiguration& WithLoggingRole(const char* value) { SetLoggingRole(value); return *this;}
104 
105 
106     /**
107      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
108      * server to which this workflow belongs.</p>
109      */
GetLogGroupName()110     inline const Aws::String& GetLogGroupName() const{ return m_logGroupName; }
111 
112     /**
113      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
114      * server to which this workflow belongs.</p>
115      */
LogGroupNameHasBeenSet()116     inline bool LogGroupNameHasBeenSet() const { return m_logGroupNameHasBeenSet; }
117 
118     /**
119      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
120      * server to which this workflow belongs.</p>
121      */
SetLogGroupName(const Aws::String & value)122     inline void SetLogGroupName(const Aws::String& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = value; }
123 
124     /**
125      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
126      * server to which this workflow belongs.</p>
127      */
SetLogGroupName(Aws::String && value)128     inline void SetLogGroupName(Aws::String&& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = std::move(value); }
129 
130     /**
131      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
132      * server to which this workflow belongs.</p>
133      */
SetLogGroupName(const char * value)134     inline void SetLogGroupName(const char* value) { m_logGroupNameHasBeenSet = true; m_logGroupName.assign(value); }
135 
136     /**
137      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
138      * server to which this workflow belongs.</p>
139      */
WithLogGroupName(const Aws::String & value)140     inline LoggingConfiguration& WithLogGroupName(const Aws::String& value) { SetLogGroupName(value); return *this;}
141 
142     /**
143      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
144      * server to which this workflow belongs.</p>
145      */
WithLogGroupName(Aws::String && value)146     inline LoggingConfiguration& WithLogGroupName(Aws::String&& value) { SetLogGroupName(std::move(value)); return *this;}
147 
148     /**
149      * <p>The name of the CloudWatch logging group for the Amazon Web Services Transfer
150      * server to which this workflow belongs.</p>
151      */
WithLogGroupName(const char * value)152     inline LoggingConfiguration& WithLogGroupName(const char* value) { SetLogGroupName(value); return *this;}
153 
154   private:
155 
156     Aws::String m_loggingRole;
157     bool m_loggingRoleHasBeenSet;
158 
159     Aws::String m_logGroupName;
160     bool m_logGroupNameHasBeenSet;
161   };
162 
163 } // namespace Model
164 } // namespace Transfer
165 } // namespace Aws
166