Some source code would be helpful here. There are three main functions of a provider ( theoretically ) that you should invoke methods within. Exists, Destroy, Create. You should be running functions / code in each of these in order to determine an action.
For example in your exists function you should be running methods / code that will check if the value already exists. Based on that decision, if they
ensure => present for example you can invoke your create methods which is going to create whatever resource you are managing. The same goes for destroy.
In your manifests you aren't calling any functions that are defined inside your provider, the
ensure => someval will be your determination of what action needs to be done and then using input parameters you can create the resource.