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

Information about S3 logs for a build project.

See Also:

* AWS * API Reference

*/ class S3LogsConfig { public: AWS_CODEBUILD_API S3LogsConfig(); AWS_CODEBUILD_API S3LogsConfig(Aws::Utils::Json::JsonView jsonValue); AWS_CODEBUILD_API S3LogsConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The current status of the S3 build logs. Valid values are:

  • * ENABLED: S3 build logs are enabled for this build project.

    *
  • DISABLED: S3 build logs are not enabled for this * build project.

*/ inline const LogsConfigStatusType& GetStatus() const{ return m_status; } /** *

The current status of the S3 build logs. Valid values are:

  • * ENABLED: S3 build logs are enabled for this build project.

    *
  • DISABLED: S3 build logs are not enabled for this * build project.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the S3 build logs. Valid values are:

  • * ENABLED: S3 build logs are enabled for this build project.

    *
  • DISABLED: S3 build logs are not enabled for this * build project.

*/ inline void SetStatus(const LogsConfigStatusType& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the S3 build logs. Valid values are:

  • * ENABLED: S3 build logs are enabled for this build project.

    *
  • DISABLED: S3 build logs are not enabled for this * build project.

*/ inline void SetStatus(LogsConfigStatusType&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the S3 build logs. Valid values are:

  • * ENABLED: S3 build logs are enabled for this build project.

    *
  • DISABLED: S3 build logs are not enabled for this * build project.

*/ inline S3LogsConfig& WithStatus(const LogsConfigStatusType& value) { SetStatus(value); return *this;} /** *

The current status of the S3 build logs. Valid values are:

  • * ENABLED: S3 build logs are enabled for this build project.

    *
  • DISABLED: S3 build logs are not enabled for this * build project.

*/ inline S3LogsConfig& WithStatus(LogsConfigStatusType&& value) { SetStatus(std::move(value)); return *this;} /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline S3LogsConfig& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline S3LogsConfig& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 * bucket name is my-bucket, and your path prefix is * build-log, then acceptable formats are * my-bucket/build-log or * arn:aws:s3:::my-bucket/build-log.

*/ inline S3LogsConfig& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

Set to true if you do not want your S3 build log output encrypted. By * default S3 build logs are encrypted.

*/ inline bool GetEncryptionDisabled() const{ return m_encryptionDisabled; } /** *

Set to true if you do not want your S3 build log output encrypted. By * default S3 build logs are encrypted.

*/ inline bool EncryptionDisabledHasBeenSet() const { return m_encryptionDisabledHasBeenSet; } /** *

Set to true if you do not want your S3 build log output encrypted. By * default S3 build logs are encrypted.

*/ inline void SetEncryptionDisabled(bool value) { m_encryptionDisabledHasBeenSet = true; m_encryptionDisabled = value; } /** *

Set to true if you do not want your S3 build log output encrypted. By * default S3 build logs are encrypted.

*/ inline S3LogsConfig& WithEncryptionDisabled(bool value) { SetEncryptionDisabled(value); return *this;} inline const BucketOwnerAccess& GetBucketOwnerAccess() const{ return m_bucketOwnerAccess; } inline bool BucketOwnerAccessHasBeenSet() const { return m_bucketOwnerAccessHasBeenSet; } inline void SetBucketOwnerAccess(const BucketOwnerAccess& value) { m_bucketOwnerAccessHasBeenSet = true; m_bucketOwnerAccess = value; } inline void SetBucketOwnerAccess(BucketOwnerAccess&& value) { m_bucketOwnerAccessHasBeenSet = true; m_bucketOwnerAccess = std::move(value); } inline S3LogsConfig& WithBucketOwnerAccess(const BucketOwnerAccess& value) { SetBucketOwnerAccess(value); return *this;} inline S3LogsConfig& WithBucketOwnerAccess(BucketOwnerAccess&& value) { SetBucketOwnerAccess(std::move(value)); return *this;} private: LogsConfigStatusType m_status; bool m_statusHasBeenSet = false; Aws::String m_location; bool m_locationHasBeenSet = false; bool m_encryptionDisabled; bool m_encryptionDisabledHasBeenSet = false; BucketOwnerAccess m_bucketOwnerAccess; bool m_bucketOwnerAccessHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws