updateBenefitApplication method
Updates an existing benefit application with new information while maintaining revision control.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter catalog :
The catalog identifier that specifies which benefit catalog the
application belongs to.
Parameter clientToken :
A unique, case-sensitive identifier to ensure idempotent processing of the
update request.
Parameter identifier :
The unique identifier of the benefit application to update.
Parameter revision :
The current revision number of the benefit application to ensure
optimistic concurrency control.
Parameter benefitApplicationDetails :
Updated detailed information and requirements specific to the benefit
being requested.
Parameter description :
The updated detailed description of the benefit application.
Parameter fileDetails :
Updated supporting documents and files attached to the benefit
application.
Parameter name :
The updated human-readable name for the benefit application.
Parameter partnerContacts :
Updated contact information for partner representatives responsible for
this benefit application.
Implementation
Future<UpdateBenefitApplicationOutput> updateBenefitApplication({
required String catalog,
required String clientToken,
required String identifier,
required String revision,
Document? benefitApplicationDetails,
String? description,
List<FileInput>? fileDetails,
String? name,
List<Contact>? partnerContacts,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'PartnerCentralBenefitsService.UpdateBenefitApplication'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'Catalog': catalog,
'ClientToken': clientToken,
'Identifier': identifier,
'Revision': revision,
if (benefitApplicationDetails != null)
'BenefitApplicationDetails': benefitApplicationDetails,
if (description != null) 'Description': description,
if (fileDetails != null) 'FileDetails': fileDetails,
if (name != null) 'Name': name,
if (partnerContacts != null) 'PartnerContacts': partnerContacts,
},
);
return UpdateBenefitApplicationOutput.fromJson(jsonResponse.body);
}