INNER CODE UNIT · Go

initProvider

dikhan/terraform-provider-openapi · main.go:82

func initProvider(binaryName string) (*schema.Provider, error) {
	providerName, err := getProviderName(binaryName)
	if err != nil {
		return nil, fmt.Errorf("error getting the provider's name from the binary '%s': %s", binaryName, err)
	}
	log.Printf("[INFO] Initializing '%s' provider", providerName)
	p := openapi.ProviderOpenAPI{ProviderName: providerName}
	provider, err := p.CreateSchemaProvider()
	if err != nil {
		return nil, fmt.Errorf("error initialising the terraform provider: %s", err)
	}
	return provider, nil
}

func getProviderName(binaryName string) (string, error) {
	r, err := regexp.Compile("\\bterraform-provider-([a-zA-Z0-9]+)(?:_v[\\d]+\\.[\\d]+\\.[\\d]+)?\\b$")
	if err != nil {
		return "", err

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…