This Salesforce provider for Terraform allows you to manage Users, Profiles, and User Roles.
This provider is a technical preview, which means it's a community supported project. It still requires extensive testing and polishing to mature into a HashiCorp officially supported project. Please file issues generously and detail your experience while using the provider. We welcome your feedback.
Maintainers
This provider plugin is maintained by the Terraform team at HashiCorp
Requirements
Setup
The provider interacts with the Salesforce REST API via a "connected app". Follow the steps described in the Provider Configuration Reference for full details.
Upgrading the provider
The Salesforce provider doesn't upgrade automatically once you've started using it. After a new release you can run
terraform init -upgrade
to upgrade to the latest stable version of the Salesforce provider. See the Terraform website
for more information on provider upgrades, and how to set version constraints on your provider.
Building The Provider
- Clone the repository
- Enter the repository directory
- Build the provider using the Go
install
command or make build
:
$ make build
Adding Dependencies
This provider uses Go modules.
Please see the Go documentation for the most up to date information about using Go modules.
To add a new dependency github.com/author/dependency
to your Terraform provider:
go get github.com/author/dependency
go mod tidy
Then commit the changes to go.mod
and go.sum
.
Using The provider
See the Salesforce Provider documentation to get started using the
Salesforce provider.
Developing the Provider
If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).
You can use goenv to manage your Go version.
To compile the provider, run go install
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
To generate or update documentation, run make generate
.
In order to run the full suite of Acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and can cost money to run.
$ make testacc
For guidance on common development practices such as testing changes, see the contribution guidelines.
If you have other development questions we don't cover, please file an issue!