createIngestion method

Future<CreateIngestionResponse> createIngestion({
  1. required String app,
  2. required String appBundleIdentifier,
  3. required IngestionType ingestionType,
  4. required String tenantId,
  5. String? clientToken,
  6. List<Tag>? tags,
})

Creates a data ingestion for an application.

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

Parameter app : The name of the application.

Valid values are:

  • SLACK
  • ASANA
  • JIRA
  • M365
  • M365AUDITLOGS
  • ZOOM
  • ZENDESK
  • OKTA
  • GOOGLE
  • DROPBOX
  • SMARTSHEET
  • CISCO

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

Parameter ingestionType : The ingestion type.

Parameter tenantId : The ID of the application tenant.

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<CreateIngestionResponse> createIngestion({
  required String app,
  required String appBundleIdentifier,
  required IngestionType ingestionType,
  required String tenantId,
  String? clientToken,
  List<Tag>? tags,
}) async {
  final $payload = <String, dynamic>{
    'app': app,
    'ingestionType': ingestionType.value,
    'tenantId': tenantId,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/appbundles/${Uri.encodeComponent(appBundleIdentifier)}/ingestions',
    exceptionFnMap: _exceptionFns,
  );
  return CreateIngestionResponse.fromJson(response);
}