You can publish Terraform providers via the REST API. When using this method, you can deploy by checksum or from an archive.
For example, to deploy a Terraform module to a repository called Terraform-local, you could use the following:
The required parameters are namespace, module-name, provider-name (system) and version as follows:
curl -<USERNAME>:<TOKEN> -XPUT "https://[JFrogPlatformURL]/artifactory/<REPOSITORY-KEY>/<NAMESPACE>/<MODULE-NAME>/<PROVIDER-NAME>/<VERSION>.zip" -T <PATH_TO_FILE>where:
[JFrogPlatformURL]: The URL of your JPD<USERNAME>: Your JPD Username<TOKEN>: Your JPD Password<REPOSITORY-KEY>: The name of your repository<NAMESPACE>: The owner or organization for this provider<MODULE-NAME>: The name of the module<PROVIDER-NAME>: The name of the provider<VERSION>: The specific version of the provider you are deploying<PATH_TO_FILE>: This points to the file on your local machine that is being sent to Artifactory
For Example:
curl -uadmin:cmVmdGtuVnQ2JKc1J1 -XPUT "https://company.jfrog.io/artifactory/Terraform-local/jfrog/test-module/test-provider/1.0.0.zip" -T test-module-1.0.0.zip