updateApplication method

Future<void> updateApplication({
  1. required String arn,
  2. ApplicationConfig? applicationConfig,
  3. ApplicationSourceConfig? applicationSourceConfig,
  4. ApplicationType? applicationType,
  5. String? description,
  6. IframeConfig? iframeConfig,
  7. int? initializationTimeout,
  8. bool? isService,
  9. String? name,
  10. List<String>? permissions,
  11. List<Publication>? publications,
  12. List<Subscription>? subscriptions,
})

Updates and persists an Application resource.

May throw AccessDeniedException. May throw InternalServiceError. May throw InvalidRequestException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw UnsupportedOperationException.

Parameter arn : The Amazon Resource Name (ARN) of the Application.

Parameter applicationConfig : The configuration settings for the application.

Parameter applicationSourceConfig : The configuration for where the application should be loaded from.

Parameter applicationType : The type of application.

Parameter description : The description of the application.

Parameter iframeConfig : The iframe configuration for the application.

Parameter initializationTimeout : The maximum time in milliseconds allowed to establish a connection with the workspace.

Parameter isService : Indicates whether the application is a service.

Parameter name : The name of the application.

Parameter permissions : The configuration of events or requests that the application has access to.

Parameter publications : The events that the application publishes.

Parameter subscriptions : The events that the application subscribes.

Implementation

Future<void> updateApplication({
  required String arn,
  ApplicationConfig? applicationConfig,
  ApplicationSourceConfig? applicationSourceConfig,
  ApplicationType? applicationType,
  String? description,
  IframeConfig? iframeConfig,
  int? initializationTimeout,
  bool? isService,
  String? name,
  List<String>? permissions,
  List<Publication>? publications,
  List<Subscription>? subscriptions,
}) async {
  _s.validateNumRange(
    'initializationTimeout',
    initializationTimeout,
    1,
    600000,
  );
  final $payload = <String, dynamic>{
    if (applicationConfig != null) 'ApplicationConfig': applicationConfig,
    if (applicationSourceConfig != null)
      'ApplicationSourceConfig': applicationSourceConfig,
    if (applicationType != null) 'ApplicationType': applicationType.value,
    if (description != null) 'Description': description,
    if (iframeConfig != null) 'IframeConfig': iframeConfig,
    if (initializationTimeout != null)
      'InitializationTimeout': initializationTimeout,
    if (isService != null) 'IsService': isService,
    if (name != null) 'Name': name,
    if (permissions != null) 'Permissions': permissions,
    if (publications != null) 'Publications': publications,
    if (subscriptions != null) 'Subscriptions': subscriptions,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PATCH',
    requestUri: '/applications/${Uri.encodeComponent(arn)}',
    exceptionFnMap: _exceptionFns,
  );
}