/** * 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 build logs in CloudWatch Logs.

See Also:

* AWS * API Reference

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

The name of the CloudWatch Logs group for the build logs.

*/ inline const Aws::String& GetGroupName() const{ return m_groupName; } /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; } /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); } /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); } /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline LogsLocation& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;} /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline LogsLocation& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;} /** *

The name of the CloudWatch Logs group for the build logs.

*/ inline LogsLocation& WithGroupName(const char* value) { SetGroupName(value); return *this;} /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline const Aws::String& GetStreamName() const{ return m_streamName; } /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline bool StreamNameHasBeenSet() const { return m_streamNameHasBeenSet; } /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline void SetStreamName(const Aws::String& value) { m_streamNameHasBeenSet = true; m_streamName = value; } /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline void SetStreamName(Aws::String&& value) { m_streamNameHasBeenSet = true; m_streamName = std::move(value); } /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline void SetStreamName(const char* value) { m_streamNameHasBeenSet = true; m_streamName.assign(value); } /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline LogsLocation& WithStreamName(const Aws::String& value) { SetStreamName(value); return *this;} /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline LogsLocation& WithStreamName(Aws::String&& value) { SetStreamName(std::move(value)); return *this;} /** *

The name of the CloudWatch Logs stream for the build logs.

*/ inline LogsLocation& WithStreamName(const char* value) { SetStreamName(value); return *this;} /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline const Aws::String& GetDeepLink() const{ return m_deepLink; } /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline bool DeepLinkHasBeenSet() const { return m_deepLinkHasBeenSet; } /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline void SetDeepLink(const Aws::String& value) { m_deepLinkHasBeenSet = true; m_deepLink = value; } /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline void SetDeepLink(Aws::String&& value) { m_deepLinkHasBeenSet = true; m_deepLink = std::move(value); } /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline void SetDeepLink(const char* value) { m_deepLinkHasBeenSet = true; m_deepLink.assign(value); } /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline LogsLocation& WithDeepLink(const Aws::String& value) { SetDeepLink(value); return *this;} /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline LogsLocation& WithDeepLink(Aws::String&& value) { SetDeepLink(std::move(value)); return *this;} /** *

The URL to an individual build log in CloudWatch Logs.

*/ inline LogsLocation& WithDeepLink(const char* value) { SetDeepLink(value); return *this;} /** *

The URL to a build log in an S3 bucket.

*/ inline const Aws::String& GetS3DeepLink() const{ return m_s3DeepLink; } /** *

The URL to a build log in an S3 bucket.

*/ inline bool S3DeepLinkHasBeenSet() const { return m_s3DeepLinkHasBeenSet; } /** *

The URL to a build log in an S3 bucket.

*/ inline void SetS3DeepLink(const Aws::String& value) { m_s3DeepLinkHasBeenSet = true; m_s3DeepLink = value; } /** *

The URL to a build log in an S3 bucket.

*/ inline void SetS3DeepLink(Aws::String&& value) { m_s3DeepLinkHasBeenSet = true; m_s3DeepLink = std::move(value); } /** *

The URL to a build log in an S3 bucket.

*/ inline void SetS3DeepLink(const char* value) { m_s3DeepLinkHasBeenSet = true; m_s3DeepLink.assign(value); } /** *

The URL to a build log in an S3 bucket.

*/ inline LogsLocation& WithS3DeepLink(const Aws::String& value) { SetS3DeepLink(value); return *this;} /** *

The URL to a build log in an S3 bucket.

*/ inline LogsLocation& WithS3DeepLink(Aws::String&& value) { SetS3DeepLink(std::move(value)); return *this;} /** *

The URL to a build log in an S3 bucket.

*/ inline LogsLocation& WithS3DeepLink(const char* value) { SetS3DeepLink(value); return *this;} /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline const Aws::String& GetCloudWatchLogsArn() const{ return m_cloudWatchLogsArn; } /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline bool CloudWatchLogsArnHasBeenSet() const { return m_cloudWatchLogsArnHasBeenSet; } /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline void SetCloudWatchLogsArn(const Aws::String& value) { m_cloudWatchLogsArnHasBeenSet = true; m_cloudWatchLogsArn = value; } /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline void SetCloudWatchLogsArn(Aws::String&& value) { m_cloudWatchLogsArnHasBeenSet = true; m_cloudWatchLogsArn = std::move(value); } /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline void SetCloudWatchLogsArn(const char* value) { m_cloudWatchLogsArnHasBeenSet = true; m_cloudWatchLogsArn.assign(value); } /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline LogsLocation& WithCloudWatchLogsArn(const Aws::String& value) { SetCloudWatchLogsArn(value); return *this;} /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline LogsLocation& WithCloudWatchLogsArn(Aws::String&& value) { SetCloudWatchLogsArn(std::move(value)); return *this;} /** *

The ARN of CloudWatch Logs for a build project. Its format is * arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. * For more information, see Resources * Defined by CloudWatch Logs.

*/ inline LogsLocation& WithCloudWatchLogsArn(const char* value) { SetCloudWatchLogsArn(value); return *this;} /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline const Aws::String& GetS3LogsArn() const{ return m_s3LogsArn; } /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline bool S3LogsArnHasBeenSet() const { return m_s3LogsArnHasBeenSet; } /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline void SetS3LogsArn(const Aws::String& value) { m_s3LogsArnHasBeenSet = true; m_s3LogsArn = value; } /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline void SetS3LogsArn(Aws::String&& value) { m_s3LogsArnHasBeenSet = true; m_s3LogsArn = std::move(value); } /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline void SetS3LogsArn(const char* value) { m_s3LogsArnHasBeenSet = true; m_s3LogsArn.assign(value); } /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline LogsLocation& WithS3LogsArn(const Aws::String& value) { SetS3LogsArn(value); return *this;} /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline LogsLocation& WithS3LogsArn(Aws::String&& value) { SetS3LogsArn(std::move(value)); return *this;} /** *

The ARN of S3 logs for a build project. Its format is * arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more * information, see Resources * Defined by Amazon S3.

*/ inline LogsLocation& WithS3LogsArn(const char* value) { SetS3LogsArn(value); return *this;} /** *

Information about CloudWatch Logs for a build project.

*/ inline const CloudWatchLogsConfig& GetCloudWatchLogs() const{ return m_cloudWatchLogs; } /** *

Information about CloudWatch Logs for a build project.

*/ inline bool CloudWatchLogsHasBeenSet() const { return m_cloudWatchLogsHasBeenSet; } /** *

Information about CloudWatch Logs for a build project.

*/ inline void SetCloudWatchLogs(const CloudWatchLogsConfig& value) { m_cloudWatchLogsHasBeenSet = true; m_cloudWatchLogs = value; } /** *

Information about CloudWatch Logs for a build project.

*/ inline void SetCloudWatchLogs(CloudWatchLogsConfig&& value) { m_cloudWatchLogsHasBeenSet = true; m_cloudWatchLogs = std::move(value); } /** *

Information about CloudWatch Logs for a build project.

*/ inline LogsLocation& WithCloudWatchLogs(const CloudWatchLogsConfig& value) { SetCloudWatchLogs(value); return *this;} /** *

Information about CloudWatch Logs for a build project.

*/ inline LogsLocation& WithCloudWatchLogs(CloudWatchLogsConfig&& value) { SetCloudWatchLogs(std::move(value)); return *this;} /** *

Information about S3 logs for a build project.

*/ inline const S3LogsConfig& GetS3Logs() const{ return m_s3Logs; } /** *

Information about S3 logs for a build project.

*/ inline bool S3LogsHasBeenSet() const { return m_s3LogsHasBeenSet; } /** *

Information about S3 logs for a build project.

*/ inline void SetS3Logs(const S3LogsConfig& value) { m_s3LogsHasBeenSet = true; m_s3Logs = value; } /** *

Information about S3 logs for a build project.

*/ inline void SetS3Logs(S3LogsConfig&& value) { m_s3LogsHasBeenSet = true; m_s3Logs = std::move(value); } /** *

Information about S3 logs for a build project.

*/ inline LogsLocation& WithS3Logs(const S3LogsConfig& value) { SetS3Logs(value); return *this;} /** *

Information about S3 logs for a build project.

*/ inline LogsLocation& WithS3Logs(S3LogsConfig&& value) { SetS3Logs(std::move(value)); return *this;} private: Aws::String m_groupName; bool m_groupNameHasBeenSet = false; Aws::String m_streamName; bool m_streamNameHasBeenSet = false; Aws::String m_deepLink; bool m_deepLinkHasBeenSet = false; Aws::String m_s3DeepLink; bool m_s3DeepLinkHasBeenSet = false; Aws::String m_cloudWatchLogsArn; bool m_cloudWatchLogsArnHasBeenSet = false; Aws::String m_s3LogsArn; bool m_s3LogsArnHasBeenSet = false; CloudWatchLogsConfig m_cloudWatchLogs; bool m_cloudWatchLogsHasBeenSet = false; S3LogsConfig m_s3Logs; bool m_s3LogsHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws