updateResponsePlan method

Future<void> updateResponsePlan({
  1. required String arn,
  2. List<Action>? actions,
  3. ChatChannel? chatChannel,
  4. String? clientToken,
  5. String? displayName,
  6. List<String>? engagements,
  7. String? incidentTemplateDedupeString,
  8. int? incidentTemplateImpact,
  9. List<NotificationTargetItem>? incidentTemplateNotificationTargets,
  10. String? incidentTemplateSummary,
  11. Map<String, String>? incidentTemplateTags,
  12. String? incidentTemplateTitle,
  13. List<Integration>? integrations,
})

Updates the specified response plan.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ThrottlingException. May throw ValidationException.

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

Parameter actions : The actions that this response plan takes at the beginning of an incident.

Parameter chatChannel : The Chatbot chat channel used for collaboration during an incident.

Use the empty structure to remove the chat channel from the response plan.

Parameter clientToken : A token ensuring that the operation is called only once with the specified details.

Parameter displayName : The long format name of the response plan. The display name can't contain spaces.

Parameter engagements : The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident.

Parameter incidentTemplateDedupeString : The string Incident Manager uses to prevent duplicate incidents from being created by the same incident in the same account.

Parameter incidentTemplateImpact : Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.

Supported impact codes

  • 1 - Critical
  • 2 - High
  • 3 - Medium
  • 4 - Low
  • 5 - No Impact

Parameter incidentTemplateNotificationTargets : The Amazon SNS targets that are notified when updates are made to an incident.

Parameter incidentTemplateSummary : A brief summary of the incident. This typically contains what has happened, what's currently happening, and next steps.

Parameter incidentTemplateTags : Tags to assign to the template. When the StartIncident API action is called, Incident Manager assigns the tags specified in the template to the incident. To call this action, you must also have permission to call the TagResource API action for the incident record resource.

Parameter incidentTemplateTitle : The short format name of the incident. The title can't contain spaces.

Parameter integrations : Information about third-party services integrated into the response plan.

Implementation

Future<void> updateResponsePlan({
  required String arn,
  List<Action>? actions,
  ChatChannel? chatChannel,
  String? clientToken,
  String? displayName,
  List<String>? engagements,
  String? incidentTemplateDedupeString,
  int? incidentTemplateImpact,
  List<NotificationTargetItem>? incidentTemplateNotificationTargets,
  String? incidentTemplateSummary,
  Map<String, String>? incidentTemplateTags,
  String? incidentTemplateTitle,
  List<Integration>? integrations,
}) async {
  _s.validateNumRange(
    'incidentTemplateImpact',
    incidentTemplateImpact,
    1,
    5,
  );
  final $payload = <String, dynamic>{
    'arn': arn,
    if (actions != null) 'actions': actions,
    if (chatChannel != null) 'chatChannel': chatChannel,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (displayName != null) 'displayName': displayName,
    if (engagements != null) 'engagements': engagements,
    if (incidentTemplateDedupeString != null)
      'incidentTemplateDedupeString': incidentTemplateDedupeString,
    if (incidentTemplateImpact != null)
      'incidentTemplateImpact': incidentTemplateImpact,
    if (incidentTemplateNotificationTargets != null)
      'incidentTemplateNotificationTargets':
          incidentTemplateNotificationTargets,
    if (incidentTemplateSummary != null)
      'incidentTemplateSummary': incidentTemplateSummary,
    if (incidentTemplateTags != null)
      'incidentTemplateTags': incidentTemplateTags,
    if (incidentTemplateTitle != null)
      'incidentTemplateTitle': incidentTemplateTitle,
    if (integrations != null) 'integrations': integrations,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/updateResponsePlan',
    exceptionFnMap: _exceptionFns,
  );
}