driftctl/pkg/remote/remote.go

41 lines
1.2 KiB
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/output"
"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
}
2021-03-26 08:44:55 +00:00
func Activate(remote string, alerter *alerter.Alerter, providerLibrary *terraform.ProviderLibrary, supplierLibrary *resource.SupplierLibrary, progress output.Progress, resourceSchemaRepository *resource.SchemaRepository) error {
switch remote {
case aws.RemoteAWSTerraform:
2021-03-26 08:44:55 +00:00
return aws.Init(alerter, providerLibrary, supplierLibrary, progress, resourceSchemaRepository)
2021-02-15 13:24:20 +00:00
case github.RemoteGithubTerraform:
2021-03-26 08:44:55 +00:00
return github.Init(alerter, providerLibrary, supplierLibrary, progress, resourceSchemaRepository)
default:
2021-02-10 13:37:59 +00:00
return errors.Errorf("unsupported remote '%s'", remote)
}
}
func GetSupportedRemotes() []string {
return supportedRemotes
}