/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes where logs are stored and the prefix that Amazon S3 assigns to all
* log object keys for a bucket. For more information, see PUT
* Bucket logging in the Amazon S3 API Reference.See
* Also:
AWS
* API Reference
Specifies the bucket where you want Amazon S3 to store server access logs.
* You can have your logs delivered to any bucket that you own, including the same
* bucket that is being logged. You can also configure multiple buckets to deliver
* their logs to the same target bucket. In this case, you should choose a
* different TargetPrefix for each source bucket so that the delivered
* log files can be distinguished by key.
Container for granting information.
Buckets that use the bucket owner * enforced setting for Object Ownership don't support target grants. For more * information, see Permissions * for server access log delivery in the Amazon S3 User Guide.
*/ inline const Aws::VectorA prefix for all log object keys. If you store log files from multiple Amazon * S3 buckets in a single bucket, you can use a prefix to distinguish which log * files came from which bucket.
*/ inline const Aws::String& GetTargetPrefix() const{ return m_targetPrefix; } inline bool TargetPrefixHasBeenSet() const { return m_targetPrefixHasBeenSet; } inline void SetTargetPrefix(const Aws::String& value) { m_targetPrefixHasBeenSet = true; m_targetPrefix = value; } inline void SetTargetPrefix(Aws::String&& value) { m_targetPrefixHasBeenSet = true; m_targetPrefix = std::move(value); } inline void SetTargetPrefix(const char* value) { m_targetPrefixHasBeenSet = true; m_targetPrefix.assign(value); } inline LoggingEnabled& WithTargetPrefix(const Aws::String& value) { SetTargetPrefix(value); return *this;} inline LoggingEnabled& WithTargetPrefix(Aws::String&& value) { SetTargetPrefix(std::move(value)); return *this;} inline LoggingEnabled& WithTargetPrefix(const char* value) { SetTargetPrefix(value); return *this;} ///@} ///@{ /** *Amazon S3 key format for log objects.
*/ inline const TargetObjectKeyFormat& GetTargetObjectKeyFormat() const{ return m_targetObjectKeyFormat; } inline bool TargetObjectKeyFormatHasBeenSet() const { return m_targetObjectKeyFormatHasBeenSet; } inline void SetTargetObjectKeyFormat(const TargetObjectKeyFormat& value) { m_targetObjectKeyFormatHasBeenSet = true; m_targetObjectKeyFormat = value; } inline void SetTargetObjectKeyFormat(TargetObjectKeyFormat&& value) { m_targetObjectKeyFormatHasBeenSet = true; m_targetObjectKeyFormat = std::move(value); } inline LoggingEnabled& WithTargetObjectKeyFormat(const TargetObjectKeyFormat& value) { SetTargetObjectKeyFormat(value); return *this;} inline LoggingEnabled& WithTargetObjectKeyFormat(TargetObjectKeyFormat&& value) { SetTargetObjectKeyFormat(std::move(value)); return *this;} ///@} private: Aws::String m_targetBucket; bool m_targetBucketHasBeenSet = false; Aws::Vector