createConfiguredTableAssociation method

Future<CreateConfiguredTableAssociationOutput> createConfiguredTableAssociation({
  1. required String configuredTableIdentifier,
  2. required String membershipIdentifier,
  3. required String name,
  4. required String roleArn,
  5. String? description,
  6. Map<String, String>? tags,
})

Creates a configured table association. A configured table association links a configured table with a collaboration.

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

Parameter configuredTableIdentifier : A unique identifier for the configured table to be associated to. Currently accepts a configured table ID.

Parameter membershipIdentifier : A unique identifier for one of your memberships for a collaboration. The configured table is associated to the collaboration that this membership belongs to. Currently accepts a membership ID.

Parameter name : The name of the configured table association. This name is used to query the underlying configured table.

Parameter roleArn : The service will assume this role to access catalog metadata and query the table.

Parameter description : A description for the configured table association.

Parameter tags : An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

Implementation

Future<CreateConfiguredTableAssociationOutput>
    createConfiguredTableAssociation({
  required String configuredTableIdentifier,
  required String membershipIdentifier,
  required String name,
  required String roleArn,
  String? description,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'configuredTableIdentifier': configuredTableIdentifier,
    'name': name,
    'roleArn': roleArn,
    if (description != null) 'description': description,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/memberships/${Uri.encodeComponent(membershipIdentifier)}/configuredTableAssociations',
    exceptionFnMap: _exceptionFns,
  );
  return CreateConfiguredTableAssociationOutput.fromJson(response);
}