updateDataSet method
- required String awsAccountId,
- required String dataSetId,
- required DataSetImportMode importMode,
- required String name,
- required Map<String, PhysicalTable> physicalTableMap,
- List<ColumnGroup> ? columnGroups,
- List<ColumnLevelPermissionRule> ? columnLevelPermissionRules,
- Map<String, LogicalTable> ? logicalTableMap,
- RowLevelPermissionDataSet? rowLevelPermissionDataSet,
Updates a dataset.
May throw AccessDeniedException. May throw ConflictException. May throw InvalidParameterValueException. May throw LimitExceededException. May throw ThrottlingException. May throw ResourceNotFoundException. May throw UnsupportedUserEditionException. May throw InternalFailureException.
Parameter awsAccountId :
The AWS account ID.
Parameter dataSetId :
The ID for the dataset that you want to update. This ID is unique per AWS
Region for each AWS account.
Parameter importMode :
Indicates whether you want to import the data into SPICE.
Parameter name :
The display name for the dataset.
Parameter physicalTableMap :
Declares the physical tables that are available in the underlying data
sources.
Parameter columnGroups :
Groupings of columns that work together in certain QuickSight features.
Currently, only geospatial hierarchy is supported.
Parameter columnLevelPermissionRules :
A set of one or more definitions of a 
ColumnLevelPermissionRule .
Parameter logicalTableMap :
Configures the combination and transformation of the data from the
physical tables.
Parameter rowLevelPermissionDataSet :
The row-level security configuration for the data you want to create.
Implementation
Future<UpdateDataSetResponse> updateDataSet({
  required String awsAccountId,
  required String dataSetId,
  required DataSetImportMode importMode,
  required String name,
  required Map<String, PhysicalTable> physicalTableMap,
  List<ColumnGroup>? columnGroups,
  List<ColumnLevelPermissionRule>? columnLevelPermissionRules,
  Map<String, LogicalTable>? logicalTableMap,
  RowLevelPermissionDataSet? rowLevelPermissionDataSet,
}) async {
  ArgumentError.checkNotNull(awsAccountId, 'awsAccountId');
  _s.validateStringLength(
    'awsAccountId',
    awsAccountId,
    12,
    12,
    isRequired: true,
  );
  ArgumentError.checkNotNull(dataSetId, 'dataSetId');
  ArgumentError.checkNotNull(importMode, 'importMode');
  ArgumentError.checkNotNull(name, 'name');
  _s.validateStringLength(
    'name',
    name,
    1,
    128,
    isRequired: true,
  );
  ArgumentError.checkNotNull(physicalTableMap, 'physicalTableMap');
  final $payload = <String, dynamic>{
    'ImportMode': importMode.toValue(),
    'Name': name,
    'PhysicalTableMap': physicalTableMap,
    if (columnGroups != null) 'ColumnGroups': columnGroups,
    if (columnLevelPermissionRules != null)
      'ColumnLevelPermissionRules': columnLevelPermissionRules,
    if (logicalTableMap != null) 'LogicalTableMap': logicalTableMap,
    if (rowLevelPermissionDataSet != null)
      'RowLevelPermissionDataSet': rowLevelPermissionDataSet,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/accounts/${Uri.encodeComponent(awsAccountId)}/data-sets/${Uri.encodeComponent(dataSetId)}',
    exceptionFnMap: _exceptionFns,
  );
  return UpdateDataSetResponse.fromJson(response);
}