updateLicenseManagerReportGenerator method

Future<void> updateLicenseManagerReportGenerator({
  1. required String clientToken,
  2. required String licenseManagerReportGeneratorArn,
  3. required ReportContext reportContext,
  4. required ReportFrequency reportFrequency,
  5. required String reportGeneratorName,
  6. required List<ReportType> type,
  7. String? description,
})

Updates a report generator.

After you make changes to a report generator, it starts generating new reports within 60 minutes of being updated.

May throw AccessDeniedException. May throw AuthorizationException. May throw InvalidParameterValueException. May throw RateLimitExceededException. May throw ResourceLimitExceededException. May throw ResourceNotFoundException. May throw ServerInternalException. May throw ValidationException.

Parameter clientToken : Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

Parameter licenseManagerReportGeneratorArn : Amazon Resource Name (ARN) of the report generator to update.

Parameter reportContext : The report context.

Parameter reportFrequency : Frequency by which reports are generated.

Parameter reportGeneratorName : Name of the report generator.

Parameter type : Type of reports to generate. The following report types are supported:

  • License configuration report - Reports the number and details of consumed licenses for a license configuration.
  • Resource report - Reports the tracked licenses and resource consumption for a license configuration.

Parameter description : Description of the report generator.

Implementation

Future<void> updateLicenseManagerReportGenerator({
  required String clientToken,
  required String licenseManagerReportGeneratorArn,
  required ReportContext reportContext,
  required ReportFrequency reportFrequency,
  required String reportGeneratorName,
  required List<ReportType> type,
  String? description,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSLicenseManager.UpdateLicenseManagerReportGenerator'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ClientToken': clientToken,
      'LicenseManagerReportGeneratorArn': licenseManagerReportGeneratorArn,
      'ReportContext': reportContext,
      'ReportFrequency': reportFrequency,
      'ReportGeneratorName': reportGeneratorName,
      'Type': type.map((e) => e.value).toList(),
      if (description != null) 'Description': description,
    },
  );
}