func parseInput()

in internal/ui/importlist/importlist_delegate.go [151:174]


func parseInput(input string, providerName string) (*tfaddr.TFAddr, error) {
	v := strings.TrimSpace(input)
	if v == "" {
		return &tfaddr.TFAddr{}, nil
	}

	addr, err := tfaddr.ParseTFResourceAddr(v)
	if err != nil {
		return nil, err
	}

	var ok bool
	switch providerName {
	case "azurerm":
		_, ok = azurerm.ProviderSchemaInfo.ResourceSchemas[addr.Type]
	case "azapi":
		_, ok = azapi.ProviderSchemaInfo.ResourceSchemas[addr.Type]
	}
	if !ok {
		return nil, fmt.Errorf("Invalid resource type %q", addr.Type)
	}

	return addr, nil
}