Current when possible we use the following pattern for google cloud resource:
XXX resource metadata - An immutable (using the standard builder pattern) and serializable class named XXXInfo with only data accessors.
XXX resource - An immutable, no serializable class pinned to a specific metadata and service implementation.
As both classes are immutable and as service can always be re-created via its options should we unify them and make the main service API always return the functional objects?
/cc @mziccard @ajkannan @mderka