How to create a new custom action and create a new checkpoint with the same custom action

Hey Guys,
I am creating a new custom action and with this custom action I am creating new checkpoint.
I am able to create custom action but I am getting “file not found” error whenever I m creating new checkpoint with the same action.

Code snippet for creating custom action


import logging
from typing import Union, Optional

from great_expectations.checkpoint import ValidationAction
from great_expectations.core import ExpectationSuiteValidationResult
from great_expectations.core._docs_decorators import public_api
from great_expectations.data_context import AbstractDataContext
from great_expectations.data_context.types.refs import GXCloudResourceRef
from great_expectations.data_context.types.resource_identifiers import ValidationResultIdentifier, GXCloudIdentifier
from typing_extensions import override


@public_api
class CustomAction(ValidationAction):
    def __init__(self):
        super().__init__()

    @override
    def _run(  # type: ignore[override] # signature does not match parent  # noqa: PLR0913
            self,
            validation_result_suite: ExpectationSuiteValidationResult,
            validation_result_suite_identifier: Union[
                ValidationResultIdentifier, GXCloudIdentifier
            ],
            data_asset,
            payload=None,
            expectation_suite_identifier=None,
            checkpoint_identifier: Optional[GXCloudIdentifier] = None,
    ):
        logging.Logger.info("custom action")

checkpoint creation code


checkpoint = context.add_or_update_checkpoint(
    name="my_taxi_dataframe_checkpoint-v4",
    batch_request=batch_request,
    expectation_suite_name="my_expectation_suite",
    action_list=[{
        "name": "custom_action",
        "action":{
            "class_name": "CustomAction"
        }
    }]
)

Error I am getting

The module: great_expectations.validation_operators does not contain the class: CustomAction.
** - Please verify that the class named CustomAction exists.**

Any kind help would be appreciated!!
Thanks in advance!!