def METHOD_NAME(module, client):
    snapshot = find_instance_snapshot_info(module, client, module.params.get("snapshot_name"))
    new_instance = snapshot is None
    if module.check_mode or not new_instance:
        snapshot = snapshot if snapshot is not None else {}
        module.exit_json(
            changed=new_instance,
            instance_snapshot=camel_dict_to_snake_dict(snapshot),
        )
    try:
        snapshot = client.create_instance_snapshot(
            instanceSnapshotName=module.params.get("snapshot_name"),
            instanceName=module.params.get("instance_name"),
        )
    except botocore.exceptions.ClientError as e:
        module.fail_json_aws(e)
    if module.params.get("wait"):
        snapshot = wait_for_instance_snapshot(module, client, module.params.get("snapshot_name"))
    module.exit_json(
        changed=new_instance,
        instance_snapshot=camel_dict_to_snake_dict(snapshot),
    )