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

The aggregation settings that you can use to customize the output format of * your flow data.

See Also:

AWS * API Reference

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

Specifies whether Amazon AppFlow aggregates the flow records into a single * file, or leave them unaggregated.

*/ inline const AggregationType& GetAggregationType() const{ return m_aggregationType; } /** *

Specifies whether Amazon AppFlow aggregates the flow records into a single * file, or leave them unaggregated.

*/ inline bool AggregationTypeHasBeenSet() const { return m_aggregationTypeHasBeenSet; } /** *

Specifies whether Amazon AppFlow aggregates the flow records into a single * file, or leave them unaggregated.

*/ inline void SetAggregationType(const AggregationType& value) { m_aggregationTypeHasBeenSet = true; m_aggregationType = value; } /** *

Specifies whether Amazon AppFlow aggregates the flow records into a single * file, or leave them unaggregated.

*/ inline void SetAggregationType(AggregationType&& value) { m_aggregationTypeHasBeenSet = true; m_aggregationType = std::move(value); } /** *

Specifies whether Amazon AppFlow aggregates the flow records into a single * file, or leave them unaggregated.

*/ inline AggregationConfig& WithAggregationType(const AggregationType& value) { SetAggregationType(value); return *this;} /** *

Specifies whether Amazon AppFlow aggregates the flow records into a single * file, or leave them unaggregated.

*/ inline AggregationConfig& WithAggregationType(AggregationType&& value) { SetAggregationType(std::move(value)); return *this;} /** *

The desired file size, in MB, for each output file that Amazon AppFlow writes * to the flow destination. For each file, Amazon AppFlow attempts to achieve the * size that you specify. The actual file sizes might differ from this target based * on the number and size of the records that each file contains.

*/ inline long long GetTargetFileSize() const{ return m_targetFileSize; } /** *

The desired file size, in MB, for each output file that Amazon AppFlow writes * to the flow destination. For each file, Amazon AppFlow attempts to achieve the * size that you specify. The actual file sizes might differ from this target based * on the number and size of the records that each file contains.

*/ inline bool TargetFileSizeHasBeenSet() const { return m_targetFileSizeHasBeenSet; } /** *

The desired file size, in MB, for each output file that Amazon AppFlow writes * to the flow destination. For each file, Amazon AppFlow attempts to achieve the * size that you specify. The actual file sizes might differ from this target based * on the number and size of the records that each file contains.

*/ inline void SetTargetFileSize(long long value) { m_targetFileSizeHasBeenSet = true; m_targetFileSize = value; } /** *

The desired file size, in MB, for each output file that Amazon AppFlow writes * to the flow destination. For each file, Amazon AppFlow attempts to achieve the * size that you specify. The actual file sizes might differ from this target based * on the number and size of the records that each file contains.

*/ inline AggregationConfig& WithTargetFileSize(long long value) { SetTargetFileSize(value); return *this;} private: AggregationType m_aggregationType; bool m_aggregationTypeHasBeenSet = false; long long m_targetFileSize; bool m_targetFileSizeHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws