/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace ElasticLoadBalancing { namespace Model { /** *

Information about the AccessLog attribute.

See * Also:

AWS * API Reference

*/ class AccessLog { public: AWS_ELASTICLOADBALANCING_API AccessLog(); AWS_ELASTICLOADBALANCING_API AccessLog(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCING_API AccessLog& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICLOADBALANCING_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

Specifies whether access logs are enabled for the load balancer.

*/ inline bool GetEnabled() const{ return m_enabled; } /** *

Specifies whether access logs are enabled for the load balancer.

*/ inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } /** *

Specifies whether access logs are enabled for the load balancer.

*/ inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } /** *

Specifies whether access logs are enabled for the load balancer.

*/ inline AccessLog& WithEnabled(bool value) { SetEnabled(value); return *this;} /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; } /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; } /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; } /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); } /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); } /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline AccessLog& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;} /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline AccessLog& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;} /** *

The name of the Amazon S3 bucket where the access logs are stored.

*/ inline AccessLog& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;} /** *

The interval for publishing the access logs. You can specify an interval of * either 5 minutes or 60 minutes.

Default: 60 minutes

*/ inline int GetEmitInterval() const{ return m_emitInterval; } /** *

The interval for publishing the access logs. You can specify an interval of * either 5 minutes or 60 minutes.

Default: 60 minutes

*/ inline bool EmitIntervalHasBeenSet() const { return m_emitIntervalHasBeenSet; } /** *

The interval for publishing the access logs. You can specify an interval of * either 5 minutes or 60 minutes.

Default: 60 minutes

*/ inline void SetEmitInterval(int value) { m_emitIntervalHasBeenSet = true; m_emitInterval = value; } /** *

The interval for publishing the access logs. You can specify an interval of * either 5 minutes or 60 minutes.

Default: 60 minutes

*/ inline AccessLog& WithEmitInterval(int value) { SetEmitInterval(value); return *this;} /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline const Aws::String& GetS3BucketPrefix() const{ return m_s3BucketPrefix; } /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline bool S3BucketPrefixHasBeenSet() const { return m_s3BucketPrefixHasBeenSet; } /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline void SetS3BucketPrefix(const Aws::String& value) { m_s3BucketPrefixHasBeenSet = true; m_s3BucketPrefix = value; } /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline void SetS3BucketPrefix(Aws::String&& value) { m_s3BucketPrefixHasBeenSet = true; m_s3BucketPrefix = std::move(value); } /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline void SetS3BucketPrefix(const char* value) { m_s3BucketPrefixHasBeenSet = true; m_s3BucketPrefix.assign(value); } /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline AccessLog& WithS3BucketPrefix(const Aws::String& value) { SetS3BucketPrefix(value); return *this;} /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline AccessLog& WithS3BucketPrefix(Aws::String&& value) { SetS3BucketPrefix(std::move(value)); return *this;} /** *

The logical hierarchy you created for your Amazon S3 bucket, for example * my-bucket-prefix/prod. If the prefix is not provided, the log is * placed at the root level of the bucket.

*/ inline AccessLog& WithS3BucketPrefix(const char* value) { SetS3BucketPrefix(value); return *this;} private: bool m_enabled; bool m_enabledHasBeenSet = false; Aws::String m_s3BucketName; bool m_s3BucketNameHasBeenSet = false; int m_emitInterval; bool m_emitIntervalHasBeenSet = false; Aws::String m_s3BucketPrefix; bool m_s3BucketPrefixHasBeenSet = false; }; } // namespace Model } // namespace ElasticLoadBalancing } // namespace Aws