createLakeFormationIdentityCenterConfiguration method

Future<CreateLakeFormationIdentityCenterConfigurationResponse> createLakeFormationIdentityCenterConfiguration({
  1. String? catalogId,
  2. ExternalFilteringConfiguration? externalFiltering,
  3. String? instanceArn,
  4. List<ServiceIntegrationUnion>? serviceIntegrations,
  5. List<DataLakePrincipal>? shareRecipients,
})

Creates an IAM Identity Center connection with Lake Formation to allow IAM Identity Center users and groups to access Data Catalog resources.

May throw AccessDeniedException. May throw AlreadyExistsException. May throw ConcurrentModificationException. May throw InternalServiceException. May throw InvalidInputException. May throw OperationTimeoutException.

Parameter catalogId : The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, view definitions, and other control information to manage your Lake Formation environment.

Parameter externalFiltering : A list of the account IDs of Amazon Web Services accounts of third-party applications that are allowed to access data managed by Lake Formation.

Parameter instanceArn : The ARN of the IAM Identity Center instance for which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

Parameter serviceIntegrations : A list of service integrations for enabling trusted identity propagation with external services such as Redshift.

Parameter shareRecipients : A list of Amazon Web Services account IDs and/or Amazon Web Services organization/organizational unit ARNs that are allowed to access data managed by Lake Formation.

If the ShareRecipients list includes valid values, a resource share is created with the principals you want to have access to the resources.

If the ShareRecipients value is null or the list is empty, no resource share is created.

Implementation

Future<CreateLakeFormationIdentityCenterConfigurationResponse>
    createLakeFormationIdentityCenterConfiguration({
  String? catalogId,
  ExternalFilteringConfiguration? externalFiltering,
  String? instanceArn,
  List<ServiceIntegrationUnion>? serviceIntegrations,
  List<DataLakePrincipal>? shareRecipients,
}) async {
  final $payload = <String, dynamic>{
    if (catalogId != null) 'CatalogId': catalogId,
    if (externalFiltering != null) 'ExternalFiltering': externalFiltering,
    if (instanceArn != null) 'InstanceArn': instanceArn,
    if (serviceIntegrations != null)
      'ServiceIntegrations': serviceIntegrations,
    if (shareRecipients != null) 'ShareRecipients': shareRecipients,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/CreateLakeFormationIdentityCenterConfiguration',
    exceptionFnMap: _exceptionFns,
  );
  return CreateLakeFormationIdentityCenterConfigurationResponse.fromJson(
      response);
}