{"id":22653879,"url":"https://github.com/gslabdev/terraform-provider-httpfileupload","last_synced_at":"2026-05-02T14:33:03.687Z","repository":{"id":57633619,"uuid":"104216894","full_name":"GSLabDev/terraform-provider-httpfileupload","owner":"GSLabDev","description":"Automates the File upload resource over HTTP during Infrastructure build using Terraform Provider. ","archived":false,"fork":false,"pushed_at":"2018-01-24T12:15:44.000Z","size":8361,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-03T20:54:57.701Z","etag":null,"topics":["file-upload","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GSLabDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-20T13:09:53.000Z","updated_at":"2018-12-19T14:02:56.000Z","dependencies_parsed_at":"2022-09-03T14:12:36.647Z","dependency_job_id":null,"html_url":"https://github.com/GSLabDev/terraform-provider-httpfileupload","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-httpfileupload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-httpfileupload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-httpfileupload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSLabDev%2Fterraform-provider-httpfileupload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GSLabDev","download_url":"https://codeload.github.com/GSLabDev/terraform-provider-httpfileupload/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246154699,"owners_count":20732240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file-upload","terraform","terraform-provider"],"created_at":"2024-12-09T09:30:20.746Z","updated_at":"2026-05-02T14:33:03.634Z","avatar_url":"https://github.com/GSLabDev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform HTTP File Upload Provider\n\nThis is the repository for the Terraform HTTP File Upload Provider, which one can use\nwith Terraform to work upload any file on WebServer over HTTP.\n\nFor general information about Terraform, visit the [official website][3] and the\n[GitHub project page][4].\n\n[3]: https://terraform.io/\n[4]: https://github.com/hashicorp/terraform\n\n# Using the Provider\n\nThe current version of this provider requires Terraform v0.10.2 or higher to\nrun.\n\nNote that you need to run `terraform init` to fetch the provider before\ndeploying. Read about the provider split and other changes to TF v0.10.0 in the\nofficial release announcement found [here][4].\n\n[4]: https://www.hashicorp.com/blog/hashicorp-terraform-0-10/\n\n## Full Provider Documentation\n\nThe provider is usefull for uploading any file to webserver over HTTP using Terraform.\n\n### Example\n\n```hcl\n# Upload a file\nresource \"httpfileupload_file\" \"my_file\"{\n  host_url = \"localhost:8080/upload\"\n  file_path = \"/home/user/Documents/hello.txt\"\n}\n```\n\n# Building The Provider\n\n**NOTE:** Unless you are [developing][7] or require a pre-release bugfix or feature,\nyou will want to use the officially released version of the provider (see [the\nsection above][8]).\n\n[7]: #developing-the-provider\n[8]: #using-the-provider\n\n\n## Cloning the Project\n\nFirst, you will want to clone the repository to\n`$GOPATH/src/github.com/terraform-providers/terraform-provider-httpfileupload`:\n\n```sh\nmkdir -p $GOPATH/src/github.com/terraform-providers\ncd $GOPATH/src/github.com/terraform-providers\ngit clone git@github.com:terraform-providers/terraform-provider-httpfileupload\n```\n\n## Running the Build\n\nAfter the clone has been completed, you can enter the provider directory and\nbuild the provider.\n\n```sh\ncd $GOPATH/src/github.com/terraform-providers/terraform-provider-httpfileupload\nmake build\n```\n\n## Installing the Local Plugin\n\nAfter the build is complete, copy the `terraform-provider-httpfileupload` binary into\nthe same path as your `terraform` binary, and re-run `terraform init`.\n\nAfter this, your project-local `.terraform/plugins/ARCH/lock.json` (where `ARCH`\nmatches the architecture of your machine) file should contain a SHA256 sum that\nmatches the local plugin. Run `shasum -a 256` on the binary to verify the values\nmatch.\n\n# Developing the Provider\n\nIf you wish to work on the provider, you'll first need [Go][9] installed on your\nmachine (version 1.9+ is **required**). You'll also need to correctly setup a\n[GOPATH][10], as well as adding `$GOPATH/bin` to your `$PATH`.\n\n[9]: https://golang.org/\n[10]: http://golang.org/doc/code.html#GOPATH\n\nSee [Building the Provider][11] for details on building the provider.\n\n[11]: #building-the-provider\n\n# Testing the Provider\n\n**PreRequisite:** WebServer should be running with specific port allowed to accept file upload.\n\n## Configuring Environment Variables\n\nMost of the tests in this provider require a comprehensive list of environment\nvariables to run. See the individual `*_test.go` files in the\n[`httpfileupload/`](httpfileupload/) directory for more details. The next section also\ndescribes how you can manage a configuration file of the test environment\nvariables.\n\n### Using the `.tf-httpfileupload-devrc.mk` file\n\nThe [`tf-httpfileupload-devrc.mk.example`](tf-httpfileupload-devrc.mk.example) file contains\nan up-to-date list of environment variables required to run the acceptance\ntests. Copy this to `$HOME/.tf-httpfileupload-devrc.mk` and change the permissions to\nsomething more secure (ie: `chmod 600 $HOME/.tf-httpfileupload-devrc.mk`), and\nconfigure the variables accordingly.\n\n## Running the Acceptance Tests\n\nAfter this is done, you can run the acceptance tests by running:\n\n```sh\n$ make testacc\n```\n\nIf you want to run against a specific set of tests, run `make testacc` with the\n`TESTARGS` parameter containing the run mask as per below:\n\n```sh\nmake testacc TESTARGS=\"-run=TestAccHttpFileUpload\"\n```\n\nThis following example would run all of the acceptance tests matching\n`TestAccHttpFileUpload`. Change this for the specific tests you want to\nrun.\n\n## Example Usage\n\n```hcl\n# Upload a file\nresource \"httpfileupload_file\" \"my_file\"{\n  host_url = \"localhost:8080/upload\"\n  file_path = \"/home/user/Documents/hello.txt\"\n}\n```\n\n## Argument Reference\n\nThe following arguments are supported:\n\n* `host_url` - (Required) The Url for http file upload\n* `file_path` - (Required) The file path of the File to be uploaded\n\nThe main.tf file contains the microservices of how to call the providers and resources. We need to specify required details for resource creation in this file.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgslabdev%2Fterraform-provider-httpfileupload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgslabdev%2Fterraform-provider-httpfileupload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgslabdev%2Fterraform-provider-httpfileupload/lists"}