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?