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/ssm/SSM_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 SSM
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Information about an Amazon Simple Storage Service (Amazon S3) bucket to
28    * write instance-level logs to.</p>  <p> <code>LoggingInfo</code> has been
29    * deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to
30    * contain logs, instead use the <code>OutputS3BucketName</code> and
31    * <code>OutputS3KeyPrefix</code> options in the
32    * <code>TaskInvocationParameters</code> structure. For information about how
33    * Amazon Web Services Systems Manager handles these options for the supported
34    * maintenance window task types, see
35    * <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p><h3>See
36    * Also:</h3>   <a
37    * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LoggingInfo">AWS API
38    * Reference</a></p>
39    */
40   class AWS_SSM_API LoggingInfo
41   {
42   public:
43     LoggingInfo();
44     LoggingInfo(Aws::Utils::Json::JsonView jsonValue);
45     LoggingInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
46     Aws::Utils::Json::JsonValue Jsonize() const;
47 
48 
49     /**
50      * <p>The name of an S3 bucket where execution logs are stored .</p>
51      */
GetS3BucketName()52     inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; }
53 
54     /**
55      * <p>The name of an S3 bucket where execution logs are stored .</p>
56      */
S3BucketNameHasBeenSet()57     inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; }
58 
59     /**
60      * <p>The name of an S3 bucket where execution logs are stored .</p>
61      */
SetS3BucketName(const Aws::String & value)62     inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; }
63 
64     /**
65      * <p>The name of an S3 bucket where execution logs are stored .</p>
66      */
SetS3BucketName(Aws::String && value)67     inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); }
68 
69     /**
70      * <p>The name of an S3 bucket where execution logs are stored .</p>
71      */
SetS3BucketName(const char * value)72     inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); }
73 
74     /**
75      * <p>The name of an S3 bucket where execution logs are stored .</p>
76      */
WithS3BucketName(const Aws::String & value)77     inline LoggingInfo& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;}
78 
79     /**
80      * <p>The name of an S3 bucket where execution logs are stored .</p>
81      */
WithS3BucketName(Aws::String && value)82     inline LoggingInfo& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;}
83 
84     /**
85      * <p>The name of an S3 bucket where execution logs are stored .</p>
86      */
WithS3BucketName(const char * value)87     inline LoggingInfo& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;}
88 
89 
90     /**
91      * <p>(Optional) The S3 bucket subfolder. </p>
92      */
GetS3KeyPrefix()93     inline const Aws::String& GetS3KeyPrefix() const{ return m_s3KeyPrefix; }
94 
95     /**
96      * <p>(Optional) The S3 bucket subfolder. </p>
97      */
S3KeyPrefixHasBeenSet()98     inline bool S3KeyPrefixHasBeenSet() const { return m_s3KeyPrefixHasBeenSet; }
99 
100     /**
101      * <p>(Optional) The S3 bucket subfolder. </p>
102      */
SetS3KeyPrefix(const Aws::String & value)103     inline void SetS3KeyPrefix(const Aws::String& value) { m_s3KeyPrefixHasBeenSet = true; m_s3KeyPrefix = value; }
104 
105     /**
106      * <p>(Optional) The S3 bucket subfolder. </p>
107      */
SetS3KeyPrefix(Aws::String && value)108     inline void SetS3KeyPrefix(Aws::String&& value) { m_s3KeyPrefixHasBeenSet = true; m_s3KeyPrefix = std::move(value); }
109 
110     /**
111      * <p>(Optional) The S3 bucket subfolder. </p>
112      */
SetS3KeyPrefix(const char * value)113     inline void SetS3KeyPrefix(const char* value) { m_s3KeyPrefixHasBeenSet = true; m_s3KeyPrefix.assign(value); }
114 
115     /**
116      * <p>(Optional) The S3 bucket subfolder. </p>
117      */
WithS3KeyPrefix(const Aws::String & value)118     inline LoggingInfo& WithS3KeyPrefix(const Aws::String& value) { SetS3KeyPrefix(value); return *this;}
119 
120     /**
121      * <p>(Optional) The S3 bucket subfolder. </p>
122      */
WithS3KeyPrefix(Aws::String && value)123     inline LoggingInfo& WithS3KeyPrefix(Aws::String&& value) { SetS3KeyPrefix(std::move(value)); return *this;}
124 
125     /**
126      * <p>(Optional) The S3 bucket subfolder. </p>
127      */
WithS3KeyPrefix(const char * value)128     inline LoggingInfo& WithS3KeyPrefix(const char* value) { SetS3KeyPrefix(value); return *this;}
129 
130 
131     /**
132      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
133      */
GetS3Region()134     inline const Aws::String& GetS3Region() const{ return m_s3Region; }
135 
136     /**
137      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
138      */
S3RegionHasBeenSet()139     inline bool S3RegionHasBeenSet() const { return m_s3RegionHasBeenSet; }
140 
141     /**
142      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
143      */
SetS3Region(const Aws::String & value)144     inline void SetS3Region(const Aws::String& value) { m_s3RegionHasBeenSet = true; m_s3Region = value; }
145 
146     /**
147      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
148      */
SetS3Region(Aws::String && value)149     inline void SetS3Region(Aws::String&& value) { m_s3RegionHasBeenSet = true; m_s3Region = std::move(value); }
150 
151     /**
152      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
153      */
SetS3Region(const char * value)154     inline void SetS3Region(const char* value) { m_s3RegionHasBeenSet = true; m_s3Region.assign(value); }
155 
156     /**
157      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
158      */
WithS3Region(const Aws::String & value)159     inline LoggingInfo& WithS3Region(const Aws::String& value) { SetS3Region(value); return *this;}
160 
161     /**
162      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
163      */
WithS3Region(Aws::String && value)164     inline LoggingInfo& WithS3Region(Aws::String&& value) { SetS3Region(std::move(value)); return *this;}
165 
166     /**
167      * <p>The Amazon Web Services Region where the S3 bucket is located.</p>
168      */
WithS3Region(const char * value)169     inline LoggingInfo& WithS3Region(const char* value) { SetS3Region(value); return *this;}
170 
171   private:
172 
173     Aws::String m_s3BucketName;
174     bool m_s3BucketNameHasBeenSet;
175 
176     Aws::String m_s3KeyPrefix;
177     bool m_s3KeyPrefixHasBeenSet;
178 
179     Aws::String m_s3Region;
180     bool m_s3RegionHasBeenSet;
181   };
182 
183 } // namespace Model
184 } // namespace SSM
185 } // namespace Aws
186