/*
* 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 finspace-data-2020-07-13.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.FinSpaceData.Model
{
///
/// Container for the parameters to the CreateChangeset operation.
/// Creates a new Changeset in a FinSpace Dataset.
///
public partial class CreateChangesetRequest : AmazonFinSpaceDataRequest
{
private ChangeType _changeType;
private string _clientToken;
private string _datasetId;
private Dictionary _formatParams = new Dictionary();
private Dictionary _sourceParams = new Dictionary();
///
/// Gets and sets the property ChangeType.
///
/// The option to indicate how a Changeset will be applied to a Dataset.
///
/// -
///
///
REPLACE
– Changeset will be considered as a replacement to all prior
/// loaded Changesets.
///
/// -
///
///
APPEND
– Changeset will be considered as an addition to the end of all
/// prior loaded Changesets.
///
/// -
///
///
MODIFY
– Changeset is considered as a replacement to a specific prior
/// ingested Changeset.
///
///
///
[AWSProperty(Required=true)]
public ChangeType ChangeType
{
get { return this._changeType; }
set { this._changeType = value; }
}
// Check to see if ChangeType property is set
internal bool IsSetChangeType()
{
return this._changeType != null;
}
///
/// Gets and sets the property ClientToken.
///
/// A token that ensures idempotency. This token expires in 10 minutes.
///
///
[AWSProperty(Min=1, Max=128)]
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property DatasetId.
///
/// The unique identifier for the FinSpace Dataset where the Changeset will be created.
///
///
///
[AWSProperty(Required=true, Min=1, Max=26)]
public string DatasetId
{
get { return this._datasetId; }
set { this._datasetId = value; }
}
// Check to see if DatasetId property is set
internal bool IsSetDatasetId()
{
return this._datasetId != null;
}
///
/// Gets and sets the property FormatParams.
///
/// Options that define the structure of the source file(s) including the format type
/// (formatType
), header row (withHeader
), data separation character
/// (separator
) and the type of compression (compression
).
///
///
///
/// formatType
is a required attribute and can have the following values:
///
///
/// -
///
///
PARQUET
– Parquet source file format.
///
/// -
///
///
CSV
– CSV source file format.
///
/// -
///
///
JSON
– JSON source file format.
///
/// -
///
///
XML
– XML source file format.
///
///
///
/// Here is an example of how you could specify the formatParams
:
///
///
///
/// "formatParams": { "formatType": "CSV", "withHeader": "true", "separator":
/// ",", "compression":"None" }
///
///
///
/// Note that if you only provide formatType
as CSV
, the rest
/// of the attributes will automatically default to CSV values as following:
///
///
///
/// { "withHeader": "true", "separator": "," }
///
///
///
/// For more information about supported file formats, see Supported
/// Data Types and File Formats in the FinSpace User Guide.
///
///
[AWSProperty(Required=true)]
public Dictionary FormatParams
{
get { return this._formatParams; }
set { this._formatParams = value; }
}
// Check to see if FormatParams property is set
internal bool IsSetFormatParams()
{
return this._formatParams != null && this._formatParams.Count > 0;
}
///
/// Gets and sets the property SourceParams.
///
/// Options that define the location of the data being ingested (s3SourcePath
)
/// and the source of the changeset (sourceType
).
///
///
///
/// Both s3SourcePath
and sourceType
are required attributes.
///
///
///
/// Here is an example of how you could specify the sourceParams
:
///
///
///
/// "sourceParams": { "s3SourcePath": "s3://finspace-landing-us-east-2-bk7gcfvitndqa6ebnvys4d/scratch/wr5hh8pwkpqqkxa4sxrmcw/ingestion/equity.csv",
/// "sourceType": "S3" }
///
///
///
/// The S3 path that you specify must allow the FinSpace role access. To do that, you
/// first need to configure the IAM policy on S3 bucket. For more information, see Loading
/// data from an Amazon S3 Bucket using the FinSpace API section.
///
///
[AWSProperty(Required=true)]
public Dictionary SourceParams
{
get { return this._sourceParams; }
set { this._sourceParams = value; }
}
// Check to see if SourceParams property is set
internal bool IsSetSourceParams()
{
return this._sourceParams != null && this._sourceParams.Count > 0;
}
}
}