func (cloud Cloud) denormaliseMetadata() {
	for name, region := range cloud.Regions {
		r := region
		inherit(&r, &cloud)
		cloud.Regions[name] = r
	}
}
// To keep the metadata concise, attributes on the metadata struct which
// have the same value for each item may be moved up to a higher level in
// the tree. denormaliseMetadata descends the tree and fills in any missing
// attributes with values from a higher level.
To keep the metadata concise, attributes on the metadata struct which
have the same value for each item may be moved up to a higher level in
the tree. denormaliseMetadata descends the tree and fills in any missing
attributes with values from a higher level.
// To keep the metadata concise attributes on the metadata struct which // have the same value for each item may be moved up to a higher level in // the tree . denormaliseMetadata descends the tree and fills in any missing // attributes with values from a higher level .
func (cloud Cloud) denormaliseMetadata() {
	for name, region := range cloud.Regions {
		r := region
		inherit(&r, &cloud)
		cloud.Regions[name] = r
	}
}
func ( cloud Cloud ) denormaliseMetadata ( ) { for name , region := range cloud . Regions { r := region inherit ( & r , & cloud ) cloud . Regions [ name ] = r } }
To keep the metadata concise, attributes on the metadata struct which
have the same value for each item may be moved up to a higher level in
the tree.
To keep the metadata concise attributes on the metadata struct which have the same value for each item may be moved up to a higher level in the tree .