putDataCatalogExportConfiguration method

Future<PutDataCatalogExportConfigurationOutput> putDataCatalogExportConfiguration({
  1. required ExportSetting exportSetting,
  2. String? clientToken,
  3. ExportEncryptionConfiguration? encryptionConfiguration,
})

Creates or updates the export configuration for the Glue Data Catalog. Use this operation to enable or disable the export of catalog metadata to S3 Tables.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServiceException. May throw InvalidInputException. May throw ThrottlingException.

Parameter exportSetting : The export setting for the data catalog. Specify ENABLED to start exporting catalog metadata to S3 Tables, or DISABLED to stop exporting. This field is required.

Parameter clientToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

Parameter encryptionConfiguration : The encryption configuration for the exported data. If not specified, the default encryption settings are used.

Implementation

Future<PutDataCatalogExportConfigurationOutput>
    putDataCatalogExportConfiguration({
  required ExportSetting exportSetting,
  String? clientToken,
  ExportEncryptionConfiguration? encryptionConfiguration,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSGlue.PutDataCatalogExportConfiguration'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ExportSetting': exportSetting.value,
      'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
      if (encryptionConfiguration != null)
        'EncryptionConfiguration': encryptionConfiguration,
    },
  );

  return PutDataCatalogExportConfigurationOutput.fromJson(jsonResponse.body);
}