createIngestionDestination method

Future<CreateIngestionDestinationResponse> createIngestionDestination({
  1. required String appBundleIdentifier,
  2. required DestinationConfiguration destinationConfiguration,
  3. required String ingestionIdentifier,
  4. required ProcessingConfiguration processingConfiguration,
  5. String? clientToken,
  6. List<Tag>? tags,
})

Creates an ingestion destination, which specifies how an application's ingested data is processed by Amazon Web Services AppFabric and where it's delivered.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter appBundleIdentifier : The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request.

Parameter destinationConfiguration : Contains information about the destination of ingested data.

Parameter ingestionIdentifier : The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request.

Parameter processingConfiguration : Contains information about how ingested data is processed.

Parameter clientToken : Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value.

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

Parameter tags : A map of the key-value pairs of the tag or tags to assign to the resource.

Implementation

Future<CreateIngestionDestinationResponse> createIngestionDestination({
  required String appBundleIdentifier,
  required DestinationConfiguration destinationConfiguration,
  required String ingestionIdentifier,
  required ProcessingConfiguration processingConfiguration,
  String? clientToken,
  List<Tag>? tags,
}) async {
  final $payload = <String, dynamic>{
    'destinationConfiguration': destinationConfiguration,
    'processingConfiguration': processingConfiguration,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/appbundles/${Uri.encodeComponent(appBundleIdentifier)}/ingestions/${Uri.encodeComponent(ingestionIdentifier)}/ingestiondestinations',
    exceptionFnMap: _exceptionFns,
  );
  return CreateIngestionDestinationResponse.fromJson(response);
}