updateBusinessReportSchedule method

Future<void> updateBusinessReportSchedule({
  1. required String scheduleArn,
  2. BusinessReportFormat? format,
  3. BusinessReportRecurrence? recurrence,
  4. String? s3BucketName,
  5. String? s3KeyPrefix,
  6. String? scheduleName,
})

Updates the configuration of the report delivery schedule with the specified schedule ARN.

May throw NotFoundException. May throw ConcurrentModificationException.

Parameter scheduleArn : The ARN of the business report schedule.

Parameter format : The format of the generated report (individual CSV files or zipped files of individual files).

Parameter recurrence : The recurrence of the reports.

Parameter s3BucketName : The S3 location of the output reports.

Parameter s3KeyPrefix : The S3 key where the report is delivered.

Parameter scheduleName : The name identifier of the schedule.

Implementation

Future<void> updateBusinessReportSchedule({
  required String scheduleArn,
  BusinessReportFormat? format,
  BusinessReportRecurrence? recurrence,
  String? s3BucketName,
  String? s3KeyPrefix,
  String? scheduleName,
}) async {
  ArgumentError.checkNotNull(scheduleArn, 'scheduleArn');
  _s.validateStringLength(
    's3KeyPrefix',
    s3KeyPrefix,
    0,
    100,
  );
  _s.validateStringLength(
    'scheduleName',
    scheduleName,
    0,
    64,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AlexaForBusiness.UpdateBusinessReportSchedule'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ScheduleArn': scheduleArn,
      if (format != null) 'Format': format.toValue(),
      if (recurrence != null) 'Recurrence': recurrence,
      if (s3BucketName != null) 'S3BucketName': s3BucketName,
      if (s3KeyPrefix != null) 'S3KeyPrefix': s3KeyPrefix,
      if (scheduleName != null) 'ScheduleName': scheduleName,
    },
  );
}