/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the appflow-2020-08-23.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Appflow.Model
{
///
/// The configuration that determines how Amazon AppFlow should format the flow output
/// data when Amazon S3 is used as the destination.
///
public partial class S3OutputFormatConfig
{
private AggregationConfig _aggregationConfig;
private FileType _fileType;
private PrefixConfig _prefixConfig;
private bool? _preserveSourceDataTyping;
///
/// Gets and sets the property AggregationConfig.
///
public AggregationConfig AggregationConfig
{
get { return this._aggregationConfig; }
set { this._aggregationConfig = value; }
}
// Check to see if AggregationConfig property is set
internal bool IsSetAggregationConfig()
{
return this._aggregationConfig != null;
}
///
/// Gets and sets the property FileType.
///
/// Indicates the file type that Amazon AppFlow places in the Amazon S3 bucket.
///
///
public FileType FileType
{
get { return this._fileType; }
set { this._fileType = value; }
}
// Check to see if FileType property is set
internal bool IsSetFileType()
{
return this._fileType != null;
}
///
/// Gets and sets the property PrefixConfig.
///
/// Determines the prefix that Amazon AppFlow applies to the folder name in the Amazon
/// S3 bucket. You can name folders according to the flow frequency and date.
///
///
public PrefixConfig PrefixConfig
{
get { return this._prefixConfig; }
set { this._prefixConfig = value; }
}
// Check to see if PrefixConfig property is set
internal bool IsSetPrefixConfig()
{
return this._prefixConfig != null;
}
///
/// Gets and sets the property PreserveSourceDataTyping.
///
/// If your file output format is Parquet, use this parameter to set whether Amazon AppFlow
/// preserves the data types in your source data when it writes the output to Amazon S3.
///
///
/// -
///
///
true
: Amazon AppFlow preserves the data types when it writes to Amazon
/// S3. For example, an integer or 1
in your source data is still an integer
/// in your output.
///
/// -
///
///
false
: Amazon AppFlow converts all of the source data into strings when
/// it writes to Amazon S3. For example, an integer of 1
in your source data
/// becomes the string "1"
in the output.
///
///
///
public bool PreserveSourceDataTyping
{
get { return this._preserveSourceDataTyping.GetValueOrDefault(); }
set { this._preserveSourceDataTyping = value; }
}
// Check to see if PreserveSourceDataTyping property is set
internal bool IsSetPreserveSourceDataTyping()
{
return this._preserveSourceDataTyping.HasValue;
}
}
}