driftctl/pkg/remote/remote.go

40 lines
1019 B
Go
Raw Normal View History

package remote
import (
2020-12-16 12:02:02 +00:00
"github.com/cloudskiff/driftctl/pkg/alerter"
"github.com/cloudskiff/driftctl/pkg/remote/aws"
2021-02-15 13:24:20 +00:00
"github.com/cloudskiff/driftctl/pkg/remote/github"
"github.com/cloudskiff/driftctl/pkg/resource"
"github.com/cloudskiff/driftctl/pkg/terraform"
2021-02-09 18:43:39 +00:00
"github.com/pkg/errors"
)
var supportedRemotes = []string{
aws.RemoteAWSTerraform,
2021-02-15 13:24:20 +00:00
github.RemoteGithubTerraform,
}
func IsSupported(remote string) bool {
for _, r := range supportedRemotes {
if r == remote {
return true
}
}
return false
}
func Activate(remote string, alerter *alerter.Alerter, providerLibrary *terraform.ProviderLibrary, supplierLibrary *resource.SupplierLibrary) error {
switch remote {
case aws.RemoteAWSTerraform:
return aws.Init(alerter, providerLibrary, supplierLibrary)
2021-02-15 13:24:20 +00:00
case github.RemoteGithubTerraform:
return github.Init(alerter, providerLibrary, supplierLibrary)
default:
2021-02-10 13:37:59 +00:00
return errors.Errorf("unsupported remote '%s'", remote)
}
}
func GetSupportedRemotes() []string {
return supportedRemotes
}