createIntegrationResourceProperty method

Future<CreateIntegrationResourcePropertyResponse> createIntegrationResourceProperty({
  1. required String resourceArn,
  2. SourceProcessingProperties? sourceProcessingProperties,
  3. List<Tag>? tags,
  4. TargetProcessingProperties? targetProcessingProperties,
})

This API can be used for setting up the ResourceProperty of the Glue connection (for the source) or Glue database ARN (for the target). These properties can include the role to access the connection or database. To set both source and target properties the same API needs to be invoked with the Glue connection ARN as ResourceArn with SourceProcessingProperties and the Glue database ARN as ResourceArn with TargetProcessingProperties respectively.

May throw AccessDeniedException. May throw ConflictException. May throw EntityNotFoundException. May throw InternalServerException. May throw InternalServiceException. May throw InvalidInputException. May throw ResourceNotFoundException. May throw ValidationException.

Parameter resourceArn : The connection ARN of the source, or the database ARN of the target.

Parameter sourceProcessingProperties : The resource properties associated with the integration source.

Parameter tags : Metadata assigned to the resource consisting of a list of key-value pairs.

Parameter targetProcessingProperties : The resource properties associated with the integration target.

Implementation

Future<CreateIntegrationResourcePropertyResponse>
    createIntegrationResourceProperty({
  required String resourceArn,
  SourceProcessingProperties? sourceProcessingProperties,
  List<Tag>? tags,
  TargetProcessingProperties? targetProcessingProperties,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSGlue.CreateIntegrationResourceProperty'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ResourceArn': resourceArn,
      if (sourceProcessingProperties != null)
        'SourceProcessingProperties': sourceProcessingProperties,
      if (tags != null) 'Tags': tags,
      if (targetProcessingProperties != null)
        'TargetProcessingProperties': targetProcessingProperties,
    },
  );

  return CreateIntegrationResourcePropertyResponse.fromJson(
      jsonResponse.body);
}