modifyIntegration method

Future<ModifyIntegrationResponse> modifyIntegration({
  1. required String integrationIdentifier,
  2. String? dataFilter,
  3. String? description,
  4. IntegrationConfig? integrationConfig,
  5. String? integrationName,
})

Modifies a Zero-ETL integration in the caller's account.

May throw AccessDeniedException. May throw ConflictException. May throw EntityNotFoundException. May throw IntegrationConflictOperationFault. May throw IntegrationNotFoundFault. May throw InternalServerException. May throw InternalServiceException. May throw InvalidInputException. May throw InvalidIntegrationStateFault. May throw InvalidStateException. May throw ValidationException.

Parameter integrationIdentifier : The Amazon Resource Name (ARN) for the integration.

Parameter dataFilter : Selects source tables for the integration using Maxwell filter syntax.

Parameter description : A description of the integration.

Parameter integrationConfig : The configuration settings for the integration. Currently, only the RefreshInterval can be modified.

Parameter integrationName : A unique name for an integration in Glue.

Implementation

Future<ModifyIntegrationResponse> modifyIntegration({
  required String integrationIdentifier,
  String? dataFilter,
  String? description,
  IntegrationConfig? integrationConfig,
  String? integrationName,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSGlue.ModifyIntegration'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'IntegrationIdentifier': integrationIdentifier,
      if (dataFilter != null) 'DataFilter': dataFilter,
      if (description != null) 'Description': description,
      if (integrationConfig != null) 'IntegrationConfig': integrationConfig,
      if (integrationName != null) 'IntegrationName': integrationName,
    },
  );

  return ModifyIntegrationResponse.fromJson(jsonResponse.body);
}