/** * 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 LookoutMetrics { namespace Model { /** *

Contains information about the configuration of the S3 bucket that contains * source files.

See Also:

AWS * API Reference

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

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline S3SourceConfig& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline S3SourceConfig& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN of an IAM role that has read and write access permissions to the * source S3 bucket.

*/ inline S3SourceConfig& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

A list of templated paths to the source files.

*/ inline const Aws::Vector& GetTemplatedPathList() const{ return m_templatedPathList; } /** *

A list of templated paths to the source files.

*/ inline bool TemplatedPathListHasBeenSet() const { return m_templatedPathListHasBeenSet; } /** *

A list of templated paths to the source files.

*/ inline void SetTemplatedPathList(const Aws::Vector& value) { m_templatedPathListHasBeenSet = true; m_templatedPathList = value; } /** *

A list of templated paths to the source files.

*/ inline void SetTemplatedPathList(Aws::Vector&& value) { m_templatedPathListHasBeenSet = true; m_templatedPathList = std::move(value); } /** *

A list of templated paths to the source files.

*/ inline S3SourceConfig& WithTemplatedPathList(const Aws::Vector& value) { SetTemplatedPathList(value); return *this;} /** *

A list of templated paths to the source files.

*/ inline S3SourceConfig& WithTemplatedPathList(Aws::Vector&& value) { SetTemplatedPathList(std::move(value)); return *this;} /** *

A list of templated paths to the source files.

*/ inline S3SourceConfig& AddTemplatedPathList(const Aws::String& value) { m_templatedPathListHasBeenSet = true; m_templatedPathList.push_back(value); return *this; } /** *

A list of templated paths to the source files.

*/ inline S3SourceConfig& AddTemplatedPathList(Aws::String&& value) { m_templatedPathListHasBeenSet = true; m_templatedPathList.push_back(std::move(value)); return *this; } /** *

A list of templated paths to the source files.

*/ inline S3SourceConfig& AddTemplatedPathList(const char* value) { m_templatedPathListHasBeenSet = true; m_templatedPathList.push_back(value); return *this; } /** *

A list of paths to the historical data files.

*/ inline const Aws::Vector& GetHistoricalDataPathList() const{ return m_historicalDataPathList; } /** *

A list of paths to the historical data files.

*/ inline bool HistoricalDataPathListHasBeenSet() const { return m_historicalDataPathListHasBeenSet; } /** *

A list of paths to the historical data files.

*/ inline void SetHistoricalDataPathList(const Aws::Vector& value) { m_historicalDataPathListHasBeenSet = true; m_historicalDataPathList = value; } /** *

A list of paths to the historical data files.

*/ inline void SetHistoricalDataPathList(Aws::Vector&& value) { m_historicalDataPathListHasBeenSet = true; m_historicalDataPathList = std::move(value); } /** *

A list of paths to the historical data files.

*/ inline S3SourceConfig& WithHistoricalDataPathList(const Aws::Vector& value) { SetHistoricalDataPathList(value); return *this;} /** *

A list of paths to the historical data files.

*/ inline S3SourceConfig& WithHistoricalDataPathList(Aws::Vector&& value) { SetHistoricalDataPathList(std::move(value)); return *this;} /** *

A list of paths to the historical data files.

*/ inline S3SourceConfig& AddHistoricalDataPathList(const Aws::String& value) { m_historicalDataPathListHasBeenSet = true; m_historicalDataPathList.push_back(value); return *this; } /** *

A list of paths to the historical data files.

*/ inline S3SourceConfig& AddHistoricalDataPathList(Aws::String&& value) { m_historicalDataPathListHasBeenSet = true; m_historicalDataPathList.push_back(std::move(value)); return *this; } /** *

A list of paths to the historical data files.

*/ inline S3SourceConfig& AddHistoricalDataPathList(const char* value) { m_historicalDataPathListHasBeenSet = true; m_historicalDataPathList.push_back(value); return *this; } /** *

Contains information about a source file's formatting.

*/ inline const FileFormatDescriptor& GetFileFormatDescriptor() const{ return m_fileFormatDescriptor; } /** *

Contains information about a source file's formatting.

*/ inline bool FileFormatDescriptorHasBeenSet() const { return m_fileFormatDescriptorHasBeenSet; } /** *

Contains information about a source file's formatting.

*/ inline void SetFileFormatDescriptor(const FileFormatDescriptor& value) { m_fileFormatDescriptorHasBeenSet = true; m_fileFormatDescriptor = value; } /** *

Contains information about a source file's formatting.

*/ inline void SetFileFormatDescriptor(FileFormatDescriptor&& value) { m_fileFormatDescriptorHasBeenSet = true; m_fileFormatDescriptor = std::move(value); } /** *

Contains information about a source file's formatting.

*/ inline S3SourceConfig& WithFileFormatDescriptor(const FileFormatDescriptor& value) { SetFileFormatDescriptor(value); return *this;} /** *

Contains information about a source file's formatting.

*/ inline S3SourceConfig& WithFileFormatDescriptor(FileFormatDescriptor&& value) { SetFileFormatDescriptor(std::move(value)); return *this;} private: Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_templatedPathList; bool m_templatedPathListHasBeenSet = false; Aws::Vector m_historicalDataPathList; bool m_historicalDataPathListHasBeenSet = false; FileFormatDescriptor m_fileFormatDescriptor; bool m_fileFormatDescriptorHasBeenSet = false; }; } // namespace Model } // namespace LookoutMetrics } // namespace Aws