updateApplication method

Future<void> updateApplication({
  1. required String applicationId,
  2. AttachmentsConfiguration? attachmentsConfiguration,
  3. AutoSubscriptionConfiguration? autoSubscriptionConfiguration,
  4. String? description,
  5. String? displayName,
  6. String? identityCenterInstanceArn,
  7. PersonalizationConfiguration? personalizationConfiguration,
  8. QAppsConfiguration? qAppsConfiguration,
  9. String? roleArn,
})

Updates an existing Amazon Q Business application.

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

Parameter applicationId : The identifier of the Amazon Q Business application.

Parameter attachmentsConfiguration : An option to allow end users to upload files directly during chat.

Parameter autoSubscriptionConfiguration : An option to enable updating the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.

Parameter description : A description for the Amazon Q Business application.

Parameter displayName : A name for the Amazon Q Business application.

Parameter identityCenterInstanceArn : The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

Parameter personalizationConfiguration : Configuration information about chat response personalization. For more information, see Personalizing chat responses.

Parameter qAppsConfiguration : An option to allow end users to create and use Amazon Q Apps in the web experience.

Parameter roleArn : An Amazon Web Services Identity and Access Management (IAM) role that gives Amazon Q Business permission to access Amazon CloudWatch logs and metrics.

Implementation

Future<void> updateApplication({
  required String applicationId,
  AttachmentsConfiguration? attachmentsConfiguration,
  AutoSubscriptionConfiguration? autoSubscriptionConfiguration,
  String? description,
  String? displayName,
  String? identityCenterInstanceArn,
  PersonalizationConfiguration? personalizationConfiguration,
  QAppsConfiguration? qAppsConfiguration,
  String? roleArn,
}) async {
  final $payload = <String, dynamic>{
    if (attachmentsConfiguration != null)
      'attachmentsConfiguration': attachmentsConfiguration,
    if (autoSubscriptionConfiguration != null)
      'autoSubscriptionConfiguration': autoSubscriptionConfiguration,
    if (description != null) 'description': description,
    if (displayName != null) 'displayName': displayName,
    if (identityCenterInstanceArn != null)
      'identityCenterInstanceArn': identityCenterInstanceArn,
    if (personalizationConfiguration != null)
      'personalizationConfiguration': personalizationConfiguration,
    if (qAppsConfiguration != null) 'qAppsConfiguration': qAppsConfiguration,
    if (roleArn != null) 'roleArn': roleArn,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/applications/${Uri.encodeComponent(applicationId)}',
    exceptionFnMap: _exceptionFns,
  );
}