def METHOD_NAME(self, *args: Any, **options: Any) -> None:
    if not settings.DEVELOPMENT:
        check_config()
    if not settings.ZULIP_ORG_ID:
        raise CommandError(
            "Missing zulip_org_id; run scripts/setup/generate_secrets.py to generate."
        )
    if not settings.ZULIP_ORG_KEY:
        raise CommandError(
            "Missing zulip_org_key; run scripts/setup/generate_secrets.py to generate."
        )
    if settings.PUSH_NOTIFICATION_BOUNCER_URL is None:
        if settings.DEVELOPMENT:
            settings.PUSH_NOTIFICATION_BOUNCER_URL = (
                settings.EXTERNAL_URI_SCHEME + settings.EXTERNAL_HOST
            )
        else:
            raise CommandError(
                "Please uncomment PUSH_NOTIFICATION_BOUNCER_URL "
                "in /etc/zulip/settings.py (remove the '#')"
            )
    request = {
        "zulip_org_id": settings.ZULIP_ORG_ID,
        "zulip_org_key": settings.ZULIP_ORG_KEY,
        "hostname": settings.EXTERNAL_HOST,
        "contact_email": settings.ZULIP_ADMINISTRATOR,
    }
    if options["rotate_key"]:
        request["new_org_key"] = get_random_string(64)
    self._log_params(request)
    if not options["agree_to_terms_of_service"] and not options["rotate_key"]:
        print(
            "To register, you must agree to the Zulipchat Terms of Service: "
            "https://zulip.com/policies/terms"
        )
        tos_prompt = input("Do you agree to the Terms of Service? [Y/n] ")
        print("")
        if not (
            tos_prompt.lower() == "y" or tos_prompt.lower() == "" or tos_prompt.lower() == "yes"
        ):
            raise CommandError("Aborting, since Terms of Service have not been accepted.")
    response = self._request_push_notification_bouncer_url(
        "/api/v1/remotes/server/register", request
    )
    if response.json()["created"]:
        print(
            "You've successfully registered for the Mobile Push Notification Service!\n"
            "To finish setup for sending push notifications:"
        )
        print(
            "- Restart the server, using /home/zulip/deployments/current/scripts/restart-server"
        )
        print("- Return to the documentation to learn how to test push notifications")
    else:
        if options["rotate_key"]:
            print(f"Success! Updating {SECRETS_FILENAME} with the new key...")
            subprocess.check_call(
                [
                    "crudini",
                    "--set",
                    SECRETS_FILENAME,
                    "secrets",
                    "zulip_org_key",
                    request["new_org_key"],
                ]
            )
        print("Mobile Push Notification Service registration successfully updated!")