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/s3-crt/S3Crt_EXPORTS.h> 8 #include <aws/s3-crt/model/AnalyticsS3ExportFileFormat.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Xml 17 { 18 class XmlNode; 19 } // namespace Xml 20 } // namespace Utils 21 namespace S3Crt 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Contains information about where to publish the analytics 28 * results.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AnalyticsS3BucketDestination">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_S3CRT_API AnalyticsS3BucketDestination 33 { 34 public: 35 AnalyticsS3BucketDestination(); 36 AnalyticsS3BucketDestination(const Aws::Utils::Xml::XmlNode& xmlNode); 37 AnalyticsS3BucketDestination& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 38 39 void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; 40 41 42 /** 43 * <p>Specifies the file format used when exporting data to Amazon S3.</p> 44 */ GetFormat()45 inline const AnalyticsS3ExportFileFormat& GetFormat() const{ return m_format; } 46 47 /** 48 * <p>Specifies the file format used when exporting data to Amazon S3.</p> 49 */ FormatHasBeenSet()50 inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } 51 52 /** 53 * <p>Specifies the file format used when exporting data to Amazon S3.</p> 54 */ SetFormat(const AnalyticsS3ExportFileFormat & value)55 inline void SetFormat(const AnalyticsS3ExportFileFormat& value) { m_formatHasBeenSet = true; m_format = value; } 56 57 /** 58 * <p>Specifies the file format used when exporting data to Amazon S3.</p> 59 */ SetFormat(AnalyticsS3ExportFileFormat && value)60 inline void SetFormat(AnalyticsS3ExportFileFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } 61 62 /** 63 * <p>Specifies the file format used when exporting data to Amazon S3.</p> 64 */ WithFormat(const AnalyticsS3ExportFileFormat & value)65 inline AnalyticsS3BucketDestination& WithFormat(const AnalyticsS3ExportFileFormat& value) { SetFormat(value); return *this;} 66 67 /** 68 * <p>Specifies the file format used when exporting data to Amazon S3.</p> 69 */ WithFormat(AnalyticsS3ExportFileFormat && value)70 inline AnalyticsS3BucketDestination& WithFormat(AnalyticsS3ExportFileFormat&& value) { SetFormat(std::move(value)); return *this;} 71 72 73 /** 74 * <p>The account ID that owns the destination S3 bucket. If no account ID is 75 * provided, the owner is not validated before exporting data.</p> <p> 76 * Although this value is optional, we strongly recommend that you set it to help 77 * prevent problems if the destination bucket ownership changes. </p> 78 */ GetBucketAccountId()79 inline const Aws::String& GetBucketAccountId() const{ return m_bucketAccountId; } 80 81 /** 82 * <p>The account ID that owns the destination S3 bucket. If no account ID is 83 * provided, the owner is not validated before exporting data.</p> <p> 84 * Although this value is optional, we strongly recommend that you set it to help 85 * prevent problems if the destination bucket ownership changes. </p> 86 */ BucketAccountIdHasBeenSet()87 inline bool BucketAccountIdHasBeenSet() const { return m_bucketAccountIdHasBeenSet; } 88 89 /** 90 * <p>The account ID that owns the destination S3 bucket. If no account ID is 91 * provided, the owner is not validated before exporting data.</p> <p> 92 * Although this value is optional, we strongly recommend that you set it to help 93 * prevent problems if the destination bucket ownership changes. </p> 94 */ SetBucketAccountId(const Aws::String & value)95 inline void SetBucketAccountId(const Aws::String& value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId = value; } 96 97 /** 98 * <p>The account ID that owns the destination S3 bucket. If no account ID is 99 * provided, the owner is not validated before exporting data.</p> <p> 100 * Although this value is optional, we strongly recommend that you set it to help 101 * prevent problems if the destination bucket ownership changes. </p> 102 */ SetBucketAccountId(Aws::String && value)103 inline void SetBucketAccountId(Aws::String&& value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId = std::move(value); } 104 105 /** 106 * <p>The account ID that owns the destination S3 bucket. If no account ID is 107 * provided, the owner is not validated before exporting data.</p> <p> 108 * Although this value is optional, we strongly recommend that you set it to help 109 * prevent problems if the destination bucket ownership changes. </p> 110 */ SetBucketAccountId(const char * value)111 inline void SetBucketAccountId(const char* value) { m_bucketAccountIdHasBeenSet = true; m_bucketAccountId.assign(value); } 112 113 /** 114 * <p>The account ID that owns the destination S3 bucket. If no account ID is 115 * provided, the owner is not validated before exporting data.</p> <p> 116 * Although this value is optional, we strongly recommend that you set it to help 117 * prevent problems if the destination bucket ownership changes. </p> 118 */ WithBucketAccountId(const Aws::String & value)119 inline AnalyticsS3BucketDestination& WithBucketAccountId(const Aws::String& value) { SetBucketAccountId(value); return *this;} 120 121 /** 122 * <p>The account ID that owns the destination S3 bucket. If no account ID is 123 * provided, the owner is not validated before exporting data.</p> <p> 124 * Although this value is optional, we strongly recommend that you set it to help 125 * prevent problems if the destination bucket ownership changes. </p> 126 */ WithBucketAccountId(Aws::String && value)127 inline AnalyticsS3BucketDestination& WithBucketAccountId(Aws::String&& value) { SetBucketAccountId(std::move(value)); return *this;} 128 129 /** 130 * <p>The account ID that owns the destination S3 bucket. If no account ID is 131 * provided, the owner is not validated before exporting data.</p> <p> 132 * Although this value is optional, we strongly recommend that you set it to help 133 * prevent problems if the destination bucket ownership changes. </p> 134 */ WithBucketAccountId(const char * value)135 inline AnalyticsS3BucketDestination& WithBucketAccountId(const char* value) { SetBucketAccountId(value); return *this;} 136 137 138 /** 139 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 140 */ GetBucket()141 inline const Aws::String& GetBucket() const{ return m_bucket; } 142 143 /** 144 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 145 */ BucketHasBeenSet()146 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; } 147 148 /** 149 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 150 */ SetBucket(const Aws::String & value)151 inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; } 152 153 /** 154 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 155 */ SetBucket(Aws::String && value)156 inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); } 157 158 /** 159 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 160 */ SetBucket(const char * value)161 inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); } 162 163 /** 164 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 165 */ WithBucket(const Aws::String & value)166 inline AnalyticsS3BucketDestination& WithBucket(const Aws::String& value) { SetBucket(value); return *this;} 167 168 /** 169 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 170 */ WithBucket(Aws::String && value)171 inline AnalyticsS3BucketDestination& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;} 172 173 /** 174 * <p>The Amazon Resource Name (ARN) of the bucket to which data is exported.</p> 175 */ WithBucket(const char * value)176 inline AnalyticsS3BucketDestination& WithBucket(const char* value) { SetBucket(value); return *this;} 177 178 179 /** 180 * <p>The prefix to use when exporting data. The prefix is prepended to all 181 * results.</p> 182 */ GetPrefix()183 inline const Aws::String& GetPrefix() const{ return m_prefix; } 184 185 /** 186 * <p>The prefix to use when exporting data. The prefix is prepended to all 187 * results.</p> 188 */ PrefixHasBeenSet()189 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; } 190 191 /** 192 * <p>The prefix to use when exporting data. The prefix is prepended to all 193 * results.</p> 194 */ SetPrefix(const Aws::String & value)195 inline void SetPrefix(const Aws::String& value) { m_prefixHasBeenSet = true; m_prefix = value; } 196 197 /** 198 * <p>The prefix to use when exporting data. The prefix is prepended to all 199 * results.</p> 200 */ SetPrefix(Aws::String && value)201 inline void SetPrefix(Aws::String&& value) { m_prefixHasBeenSet = true; m_prefix = std::move(value); } 202 203 /** 204 * <p>The prefix to use when exporting data. The prefix is prepended to all 205 * results.</p> 206 */ SetPrefix(const char * value)207 inline void SetPrefix(const char* value) { m_prefixHasBeenSet = true; m_prefix.assign(value); } 208 209 /** 210 * <p>The prefix to use when exporting data. The prefix is prepended to all 211 * results.</p> 212 */ WithPrefix(const Aws::String & value)213 inline AnalyticsS3BucketDestination& WithPrefix(const Aws::String& value) { SetPrefix(value); return *this;} 214 215 /** 216 * <p>The prefix to use when exporting data. The prefix is prepended to all 217 * results.</p> 218 */ WithPrefix(Aws::String && value)219 inline AnalyticsS3BucketDestination& WithPrefix(Aws::String&& value) { SetPrefix(std::move(value)); return *this;} 220 221 /** 222 * <p>The prefix to use when exporting data. The prefix is prepended to all 223 * results.</p> 224 */ WithPrefix(const char * value)225 inline AnalyticsS3BucketDestination& WithPrefix(const char* value) { SetPrefix(value); return *this;} 226 227 private: 228 229 AnalyticsS3ExportFileFormat m_format; 230 bool m_formatHasBeenSet; 231 232 Aws::String m_bucketAccountId; 233 bool m_bucketAccountIdHasBeenSet; 234 235 Aws::String m_bucket; 236 bool m_bucketHasBeenSet; 237 238 Aws::String m_prefix; 239 bool m_prefixHasBeenSet; 240 }; 241 242 } // namespace Model 243 } // namespace S3Crt 244 } // namespace Aws 245