Zachary Keck lists  the reasons why Israel isn’t going to attack Iran. One reason is that an attack would be harmful to Israel:
Meanwhile, a strike on Iran’s nuclear facilities would leave Israel in a far worse-off position. Were Iran to respond by attacking U.S. regional assets, this could greatly hurt Israel’s ties with the United States at both the elite and mass levels. Indeed, a war-weary American public is adamantly opposed to its own leaders dragging it into another conflict in the Middle East. Americans would be even more hostile to an ally taking actions that they fully understood would put the U.S. in danger.
Keck also notes that an attack would give Iran a significant boost in international sympathy while wrecking nascent cooperation with regional Arab governments. The most important relationships that Israel has around the world would be strained by an attack, since virtually every government would be obliged to denounce their illegal and (as far as most of the world is concerned) unnecessary military action. Even if some of these governments tacitly supported an attack, they could not say so publicly, and they would be at pains to deny claims that they privately agreed with the action. An attack on Iran gains Israel virtually nothing in the short term at potentially very high cost over the longer term.
That may help to explain why Netanyahu has so little support within the Israeli national security establishment for attacking Iran. Keck continues:
Many former top intelligence and military officials have spoken out publicly against Netanyahu’s hardline Iran policy, with at least one of them questioning whether Iran is actually seeking a nuclear weapon.
This may be the most important reason why an Israeli attack is so very unlikely: too many of the people tasked with the responsibility for carrying it out don’t believe that it is worth doing. Unless that changes dramatically in the next year or so, it seems very unlikely that Israel would assume all the risks of starting a war with Iran.