The result looks nice. I think this type of diagramming need to be as straightforward as possible, with as little typing as possible. I see you use many different types. For example
gcp.Database.Sql(diagram.NodeLabel("Database"))
What does the NodeLabel type provide that you would not gain with just the string?
gcp.Database.Sql(diagram.NodeLabel("Database"))
What does the NodeLabel type provide that you would not gain with just the string?