deleteCanary method
Permanently deletes the specified canary.
If the canary's ProvisionedResourceCleanup field is set to
AUTOMATIC or you specify DeleteLambda in this
operation as true, CloudWatch Synthetics also deletes the
Lambda functions and layers that are used by the canary.
Other resources used and created by the canary are not automatically deleted. After you delete a canary, you should also delete the following:
-
The CloudWatch alarms created for this canary. These alarms have a name of
Synthetics-Alarm-first-198-characters-of-canary-name-canaryId-alarm number - Amazon S3 objects and buckets, such as the canary's artifact location.
-
IAM roles created for the canary. If they were created in the console,
these roles have the name
role/service-role/CloudWatchSyntheticsRole-First-21-Characters-of-CanaryName -
CloudWatch Logs log groups created for the canary. These logs groups have
the name
/aws/lambda/cwsyn-First-21-Characters-of-CanaryName
GetCanary
to display the information about this canary. Make note of the information
returned by this operation so that you can delete these resources after
you delete the canary.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ValidationException.
Parameter name :
The name of the canary that you want to delete. To find the names of your
canaries, use DescribeCanaries.
Parameter deleteLambda :
Specifies whether to also delete the Lambda functions and layers used by
this canary. The default is false.
Your setting for this parameter is used only if the canary doesn't have
AUTOMATIC for its ProvisionedResourceCleanup
field. If that field is set to AUTOMATIC, then the Lambda
functions and layers will be deleted when this canary is deleted.
Type: Boolean
Implementation
Future<void> deleteCanary({
required String name,
bool? deleteLambda,
}) async {
final $query = <String, List<String>>{
if (deleteLambda != null) 'deleteLambda': [deleteLambda.toString()],
};
final response = await _protocol.send(
payload: null,
method: 'DELETE',
requestUri: '/canary/${Uri.encodeComponent(name)}',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
}