/*
* 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 quicksight-2018-04-01.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.QuickSight.Model
{
///
/// Container for the parameters to the CreateDataSet operation.
/// Creates a dataset. This operation doesn't support datasets that include uploaded files
/// as a source.
///
public partial class CreateDataSetRequest : AmazonQuickSightRequest
{
private string _awsAccountId;
private List _columnGroups = new List();
private List _columnLevelPermissionRules = new List();
private string _dataSetId;
private List _datasetParameters = new List();
private DataSetUsageConfiguration _dataSetUsageConfiguration;
private Dictionary _fieldFolders = new Dictionary();
private DataSetImportMode _importMode;
private Dictionary _logicalTableMap = new Dictionary();
private string _name;
private List _permissions = new List();
private Dictionary _physicalTableMap = new Dictionary();
private RowLevelPermissionDataSet _rowLevelPermissionDataSet;
private RowLevelPermissionTagConfiguration _rowLevelPermissionTagConfiguration;
private List _tags = new List();
///
/// Gets and sets the property AwsAccountId.
///
/// The Amazon Web Services account ID.
///
///
[AWSProperty(Required=true, Min=12, Max=12)]
public string AwsAccountId
{
get { return this._awsAccountId; }
set { this._awsAccountId = value; }
}
// Check to see if AwsAccountId property is set
internal bool IsSetAwsAccountId()
{
return this._awsAccountId != null;
}
///
/// Gets and sets the property ColumnGroups.
///
/// Groupings of columns that work together in certain Amazon QuickSight features. Currently,
/// only geospatial hierarchy is supported.
///
///
[AWSProperty(Min=1, Max=8)]
public List ColumnGroups
{
get { return this._columnGroups; }
set { this._columnGroups = value; }
}
// Check to see if ColumnGroups property is set
internal bool IsSetColumnGroups()
{
return this._columnGroups != null && this._columnGroups.Count > 0;
}
///
/// Gets and sets the property ColumnLevelPermissionRules.
///
/// A set of one or more definitions of a ColumnLevelPermissionRule
///
.
///
///
[AWSProperty(Min=1)]
public List ColumnLevelPermissionRules
{
get { return this._columnLevelPermissionRules; }
set { this._columnLevelPermissionRules = value; }
}
// Check to see if ColumnLevelPermissionRules property is set
internal bool IsSetColumnLevelPermissionRules()
{
return this._columnLevelPermissionRules != null && this._columnLevelPermissionRules.Count > 0;
}
///
/// Gets and sets the property DataSetId.
///
/// An ID for the dataset that you want to create. This ID is unique per Amazon Web Services
/// Region for each Amazon Web Services account.
///
///
[AWSProperty(Required=true)]
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 DatasetParameters.
///
/// The parameter declarations of the dataset.
///
///
[AWSProperty(Min=1, Max=32)]
public List DatasetParameters
{
get { return this._datasetParameters; }
set { this._datasetParameters = value; }
}
// Check to see if DatasetParameters property is set
internal bool IsSetDatasetParameters()
{
return this._datasetParameters != null && this._datasetParameters.Count > 0;
}
///
/// Gets and sets the property DataSetUsageConfiguration.
///
public DataSetUsageConfiguration DataSetUsageConfiguration
{
get { return this._dataSetUsageConfiguration; }
set { this._dataSetUsageConfiguration = value; }
}
// Check to see if DataSetUsageConfiguration property is set
internal bool IsSetDataSetUsageConfiguration()
{
return this._dataSetUsageConfiguration != null;
}
///
/// Gets and sets the property FieldFolders.
///
/// The folder that contains fields and nested subfolders for your dataset.
///
///
public Dictionary FieldFolders
{
get { return this._fieldFolders; }
set { this._fieldFolders = value; }
}
// Check to see if FieldFolders property is set
internal bool IsSetFieldFolders()
{
return this._fieldFolders != null && this._fieldFolders.Count > 0;
}
///
/// Gets and sets the property ImportMode.
///
/// Indicates whether you want to import the data into SPICE.
///
///
[AWSProperty(Required=true)]
public DataSetImportMode ImportMode
{
get { return this._importMode; }
set { this._importMode = value; }
}
// Check to see if ImportMode property is set
internal bool IsSetImportMode()
{
return this._importMode != null;
}
///
/// Gets and sets the property LogicalTableMap.
///
/// Configures the combination and transformation of the data from the physical tables.
///
///
[AWSProperty(Min=1, Max=64)]
public Dictionary LogicalTableMap
{
get { return this._logicalTableMap; }
set { this._logicalTableMap = value; }
}
// Check to see if LogicalTableMap property is set
internal bool IsSetLogicalTableMap()
{
return this._logicalTableMap != null && this._logicalTableMap.Count > 0;
}
///
/// Gets and sets the property Name.
///
/// The display name for the dataset.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Permissions.
///
/// A list of resource permissions on the dataset.
///
///
[AWSProperty(Min=1, Max=64)]
public List Permissions
{
get { return this._permissions; }
set { this._permissions = value; }
}
// Check to see if Permissions property is set
internal bool IsSetPermissions()
{
return this._permissions != null && this._permissions.Count > 0;
}
///
/// Gets and sets the property PhysicalTableMap.
///
/// Declares the physical tables that are available in the underlying data sources.
///
///
[AWSProperty(Required=true, Min=0, Max=32)]
public Dictionary PhysicalTableMap
{
get { return this._physicalTableMap; }
set { this._physicalTableMap = value; }
}
// Check to see if PhysicalTableMap property is set
internal bool IsSetPhysicalTableMap()
{
return this._physicalTableMap != null && this._physicalTableMap.Count > 0;
}
///
/// Gets and sets the property RowLevelPermissionDataSet.
///
/// The row-level security configuration for the data that you want to create.
///
///
public RowLevelPermissionDataSet RowLevelPermissionDataSet
{
get { return this._rowLevelPermissionDataSet; }
set { this._rowLevelPermissionDataSet = value; }
}
// Check to see if RowLevelPermissionDataSet property is set
internal bool IsSetRowLevelPermissionDataSet()
{
return this._rowLevelPermissionDataSet != null;
}
///
/// Gets and sets the property RowLevelPermissionTagConfiguration.
///
/// The configuration of tags on a dataset to set row-level security. Row-level security
/// tags are currently supported for anonymous embedding only.
///
///
public RowLevelPermissionTagConfiguration RowLevelPermissionTagConfiguration
{
get { return this._rowLevelPermissionTagConfiguration; }
set { this._rowLevelPermissionTagConfiguration = value; }
}
// Check to see if RowLevelPermissionTagConfiguration property is set
internal bool IsSetRowLevelPermissionTagConfiguration()
{
return this._rowLevelPermissionTagConfiguration != null;
}
///
/// Gets and sets the property Tags.
///
/// Contains a map of the key-value pairs for the resource tag or tags assigned to the
/// dataset.
///
///
[AWSProperty(Min=1, Max=200)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}