"""CFNgin hook for cleaning up resources prior to CFN stack deletion."""from__future__importannotationsimportloggingfromtypingimportTYPE_CHECKING,Anyfrom...utilsimportBaseModelifTYPE_CHECKING:from...contextimportCfnginContextLOGGER=logging.getLogger(__name__)
[docs]classDeleteParamHookArgs(BaseModel):"""Hook arguments for ``delete_param``."""parameter_name:str"""Name of the bucket to purge."""
[docs]defdelete_param(context:CfnginContext,*__args:Any,**kwargs:Any)->bool:"""Delete SSM parameter."""args=DeleteParamHookArgs.model_validate(kwargs)session=context.get_session()ssm_client=session.client("ssm")try:ssm_client.delete_parameter(Name=args.parameter_name)exceptssm_client.exceptions.ParameterNotFound:LOGGER.info('parameter "%s" does not exist',args.parameter_name)returnTrue