resource/resolver/azapi_dependency_resolver.go (31 lines of code) (raw):

package resolver import ( "strings" "github.com/azure/armstrong/dependency" "github.com/sirupsen/logrus" ) var _ ReferenceResolver = &AzapiDependencyResolver{} type AzapiDependencyResolver struct { dependencies []dependency.Dependency } func (r AzapiDependencyResolver) Resolve(pattern dependency.Pattern) (*ResolvedResult, error) { for _, dep := range r.dependencies { if strings.EqualFold(dep.AzureResourceType, pattern.AzureResourceType) { return &ResolvedResult{ HclToAdd: dep.ExampleConfiguration, }, nil } } return nil, nil } func NewAzapiDependencyResolver() AzapiDependencyResolver { azapiDeps, err := dependency.LoadAzapiDependencies() if err != nil { logrus.Fatalf("loading azapi dependencies: %+v", err) return AzapiDependencyResolver{} } logrus.Debugf("loaded %d azapi dependencies", len(azapiDeps)) return AzapiDependencyResolver{ dependencies: azapiDeps, } }