From 91974228818a803afd2a60b4d94636e140461c7a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 2 Dec 2016 22:26:40 -0500 Subject: [PATCH] terraform: new graph nodes implement Dotter --- terraform/node_provider_abstract.go | 12 ++++++++++++ terraform/node_resource_abstract.go | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/terraform/node_provider_abstract.go b/terraform/node_provider_abstract.go index 5cb18caec..6d21bf51b 100644 --- a/terraform/node_provider_abstract.go +++ b/terraform/node_provider_abstract.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/hashicorp/terraform/config" + "github.com/hashicorp/terraform/dag" ) // NodeAbstractProvider represents a provider that has no associated operations. @@ -60,3 +61,14 @@ func (n *NodeAbstractProvider) ProviderConfig() *config.RawConfig { func (n *NodeAbstractProvider) AttachProvider(c *config.ProviderConfig) { n.Config = c } + +// GraphNodeDotter impl. +func (n *NodeAbstractProvider) DotNode(name string, opts *dag.DotOpts) *dag.DotNode { + return &dag.DotNode{ + Name: name, + Attrs: map[string]string{ + "label": n.Name(), + "shape": "diamond", + }, + } +} diff --git a/terraform/node_resource_abstract.go b/terraform/node_resource_abstract.go index f502547d7..22218e224 100644 --- a/terraform/node_resource_abstract.go +++ b/terraform/node_resource_abstract.go @@ -166,3 +166,14 @@ func (n *NodeAbstractResource) AttachResourceState(s *ResourceState) { func (n *NodeAbstractResource) AttachResourceConfig(c *config.Resource) { n.Config = c } + +// GraphNodeDotter impl. +func (n *NodeAbstractResource) DotNode(name string, opts *dag.DotOpts) *dag.DotNode { + return &dag.DotNode{ + Name: name, + Attrs: map[string]string{ + "label": n.Name(), + "shape": "box", + }, + } +}