createGroup method

Future<CreateGroupResponse> createGroup({
  1. required String awsAccountId,
  2. required String groupName,
  3. required String namespace,
  4. String? description,
})

Creates an Amazon QuickSight group.

The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> .

The response is a group object.

May throw AccessDeniedException. May throw InvalidParameterValueException. May throw ResourceExistsException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw PreconditionNotMetException. May throw LimitExceededException. May throw InternalFailureException. May throw ResourceUnavailableException.

Parameter awsAccountId : The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

Parameter groupName : A name for the group that you want to create.

Parameter namespace : The namespace. Currently, you should set this to default.

Parameter description : A description for the group that you want to create.

Implementation

Future<CreateGroupResponse> createGroup({
  required String awsAccountId,
  required String groupName,
  required String namespace,
  String? description,
}) async {
  ArgumentError.checkNotNull(awsAccountId, 'awsAccountId');
  _s.validateStringLength(
    'awsAccountId',
    awsAccountId,
    12,
    12,
    isRequired: true,
  );
  ArgumentError.checkNotNull(groupName, 'groupName');
  _s.validateStringLength(
    'groupName',
    groupName,
    1,
    1152921504606846976,
    isRequired: true,
  );
  ArgumentError.checkNotNull(namespace, 'namespace');
  _s.validateStringLength(
    'namespace',
    namespace,
    0,
    64,
    isRequired: true,
  );
  _s.validateStringLength(
    'description',
    description,
    1,
    512,
  );
  final $payload = <String, dynamic>{
    'GroupName': groupName,
    if (description != null) 'Description': description,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/accounts/${Uri.encodeComponent(awsAccountId)}/namespaces/${Uri.encodeComponent(namespace)}/groups',
    exceptionFnMap: _exceptionFns,
  );
  return CreateGroupResponse.fromJson(response);
}