I can create a Layout with a yaxis2 attribute using the following methods:
layout1 = go.Layout(yaxis2={'title': 'y2'})
layout2 = go.Layout()
layout2.yaxis2 = {'title': 'y2'}
layout3 = go.Layout()
layout3['yaxis2'] = {'title': 'y2'}
but not like this:
layout4 = go.Layout()
layout4.update(yaxis2={'title': 'y2'})
layout5 = go.Layout()
layout5.update({'yaxis2': {'title': 'y2'}})
because only xaxis and yaxis are valid properties for a Layout in the schema, so I get a ValueError.