deleteApplicationReferenceDataSource method

Future<DeleteApplicationReferenceDataSourceResponse> deleteApplicationReferenceDataSource({
  1. required String applicationName,
  2. required int currentApplicationVersionId,
  3. required String referenceId,
})

Deletes a reference data source configuration from the specified SQL-based Kinesis Data Analytics application's configuration.

If the application is running, Kinesis Data Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

May throw ResourceNotFoundException. May throw ResourceInUseException. May throw InvalidArgumentException. May throw ConcurrentModificationException. May throw InvalidRequestException.

Parameter applicationName : The name of an existing application.

Parameter currentApplicationVersionId : The current application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

Parameter referenceId : The ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

Implementation

Future<DeleteApplicationReferenceDataSourceResponse>
    deleteApplicationReferenceDataSource({
  required String applicationName,
  required int currentApplicationVersionId,
  required String referenceId,
}) async {
  ArgumentError.checkNotNull(applicationName, 'applicationName');
  _s.validateStringLength(
    'applicationName',
    applicationName,
    1,
    128,
    isRequired: true,
  );
  ArgumentError.checkNotNull(
      currentApplicationVersionId, 'currentApplicationVersionId');
  _s.validateNumRange(
    'currentApplicationVersionId',
    currentApplicationVersionId,
    1,
    999999999,
    isRequired: true,
  );
  ArgumentError.checkNotNull(referenceId, 'referenceId');
  _s.validateStringLength(
    'referenceId',
    referenceId,
    1,
    50,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'KinesisAnalytics_20180523.DeleteApplicationReferenceDataSource'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ApplicationName': applicationName,
      'CurrentApplicationVersionId': currentApplicationVersionId,
      'ReferenceId': referenceId,
    },
  );

  return DeleteApplicationReferenceDataSourceResponse.fromJson(
      jsonResponse.body);
}