Some attributes, and I mean it not only for network too, may be set automatically, depending on the plugin you use and neutron settings.
Just an example: in the default devstack installation ml2+ovs plugin is used and in its conf file there is a setting tenant_network_types = vxlan, which is why creating a network leads to provider:network_type being set as vxlan. So you don't always have to set an attribute explicitly, sometimes it's done automatically.
Some attributes, and I mean it not only for network too, may be set automatically, depending on the plugin you use and neutron settings.
Just an example: in the default devstack installation ml2+ovs plugin is used and in its conf file there is a setting tenant_ network_ types = vxlan, which is why creating a network leads to provider: network_ type being set as vxlan. So you don't always have to set an attribute explicitly, sometimes it's done automatically.