updateApplicationMaintenanceConfiguration method

Future<UpdateApplicationMaintenanceConfigurationResponse> updateApplicationMaintenanceConfiguration({
  1. required ApplicationMaintenanceConfigurationUpdate applicationMaintenanceConfigurationUpdate,
  2. required String applicationName,
})

Updates the maintenance configuration of the Managed Service for Apache Flink application.

You can invoke this operation on an application that is in one of the two following states: READY or RUNNING. If you invoke it when the application is in a state other than these two states, it throws a ResourceInUseException. The service makes use of the updated configuration the next time it schedules maintenance for the application. If you invoke this operation after the service schedules maintenance, the service will apply the configuration update the next time it schedules maintenance for the application. This means that you might not see the maintenance configuration update applied to the maintenance process that follows a successful invocation of this operation, but to the following maintenance process instead.

To see the current maintenance configuration of your application, invoke the DescribeApplication operation.

For information about application maintenance, see Managed Service for Apache Flink for Apache Flink Maintenance.

May throw ConcurrentModificationException. May throw InvalidArgumentException. May throw ResourceInUseException. May throw ResourceNotFoundException. May throw UnsupportedOperationException.

Parameter applicationMaintenanceConfigurationUpdate : Describes the application maintenance configuration update.

Parameter applicationName : The name of the application for which you want to update the maintenance configuration.

Implementation

Future<UpdateApplicationMaintenanceConfigurationResponse>
    updateApplicationMaintenanceConfiguration({
  required ApplicationMaintenanceConfigurationUpdate
      applicationMaintenanceConfigurationUpdate,
  required String applicationName,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'KinesisAnalytics_20180523.UpdateApplicationMaintenanceConfiguration'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ApplicationMaintenanceConfigurationUpdate':
          applicationMaintenanceConfigurationUpdate,
      'ApplicationName': applicationName,
    },
  );

  return UpdateApplicationMaintenanceConfigurationResponse.fromJson(
      jsonResponse.body);
}