Skip to content

Commit

Permalink
google: add intermediate LB components
Browse files Browse the repository at this point in the history
in this commit, we added a few new components:
* URLMap
* TargetHTTPProxy
* TargetHTTPSProxy
* SSLCertificate
  • Loading branch information
tormath1 committed Dec 10, 2019
1 parent 355832f commit a9b0a8b
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 10 deletions.
4 changes: 4 additions & 0 deletions google/cmd/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ var functions = []Function{
Function{Resource: "InstanceGroup", Zone: true},
Function{Resource: "BackendService", Zone: false},
Function{Resource: "HealthCheck", Zone: false},
Function{Resource: "UrlMap", Zone: false, Name: "URLMaps"},
Function{Resource: "TargetHttpProxy", Zone: false, Name: "TargetHTTPProxies", ServiceName: "TargetHttpProxies"},
Function{Resource: "TargetHttpsProxy", Zone: false, Name: "TargetHTTPSProxies", ServiceName: "TargetHttpsProxies"},
Function{Resource: "SslCertificate", Zone: false, Name: "SSLCertificates"},
}

func main() {
Expand Down
76 changes: 70 additions & 6 deletions google/resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,26 @@ const (
ComputeHealthCheck
ComputeInstanceGroup
ComputeBackendService
ComputeSSLCertificate
ComputeTargetHTTPProxy
ComputeTargetHTTPSProxy
ComputeURLMap
)

type rtFn func(ctx context.Context, g *google, resourceType string, tags []tag.Tag) ([]provider.Resource, error)

var (
resources = map[ResourceType]rtFn{
ComputeInstance: computeInstance,
ComputeFirewall: computeFirewall,
ComputeNetwork: computeNetwork,
ComputeHealthCheck: computeHealthCheck,
ComputeInstanceGroup: computeInstanceGroup,
ComputeBackendService: computeBackendService,
ComputeInstance: computeInstance,
ComputeFirewall: computeFirewall,
ComputeNetwork: computeNetwork,
ComputeHealthCheck: computeHealthCheck,
ComputeInstanceGroup: computeInstanceGroup,
ComputeBackendService: computeBackendService,
ComputeSSLCertificate: computeSSLCertificate,
ComputeTargetHTTPProxy: computeTargetHTTPProxy,
ComputeTargetHTTPSProxy: computeTargetHTTPSProxy,
ComputeURLMap: computeURLMap,
}
)

Expand Down Expand Up @@ -138,3 +146,59 @@ func computeBackendService(ctx context.Context, g *google, resourceType string,
}
return resources, nil
}

func computeURLMap(ctx context.Context, g *google, resourceType string, tags []tag.Tag) ([]provider.Resource, error) {
f := initializeFilter(tags)
maps, err := g.gcpr.ListURLMaps(ctx, f)
if err != nil {
return nil, errors.Wrap(err, "unable to list URL maps from reader")
}
resources := make([]provider.Resource, 0)
for _, urlMap := range maps {
r := provider.NewResource(urlMap.Name, resourceType, g)
resources = append(resources, r)
}
return resources, nil
}

func computeTargetHTTPProxy(ctx context.Context, g *google, resourceType string, tags []tag.Tag) ([]provider.Resource, error) {
f := initializeFilter(tags)
targets, err := g.gcpr.ListTargetHTTPProxies(ctx, f)
if err != nil {
return nil, errors.Wrap(err, "unable to list target http proxies from reader")
}
resources := make([]provider.Resource, 0)
for _, target := range targets {
r := provider.NewResource(target.Name, resourceType, g)
resources = append(resources, r)
}
return resources, nil
}

func computeTargetHTTPSProxy(ctx context.Context, g *google, resourceType string, tags []tag.Tag) ([]provider.Resource, error) {
f := initializeFilter(tags)
targets, err := g.gcpr.ListTargetHTTPSProxies(ctx, f)
if err != nil {
return nil, errors.Wrap(err, "unable to list target https proxies from reader")
}
resources := make([]provider.Resource, 0)
for _, target := range targets {
r := provider.NewResource(target.Name, resourceType, g)
resources = append(resources, r)
}
return resources, nil
}

func computeSSLCertificate(ctx context.Context, g *google, resourceType string, tags []tag.Tag) ([]provider.Resource, error) {
f := initializeFilter(tags)
certs, err := g.gcpr.ListSSLCertificates(ctx, f)
if err != nil {
return nil, errors.Wrap(err, "unable to list SSL certificates from reader")
}
resources := make([]provider.Resource, 0)
for _, cert := range certs {
r := provider.NewResource(cert.Name, resourceType, g)
resources = append(resources, r)
}
return resources, nil
}
20 changes: 16 additions & 4 deletions google/resourcetype_enumer.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit a9b0a8b

Please sign in to comment.