Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gslabdev/terraform-provider-veeam
Automates the Add VM to Veeam Job resource during Infrastructure build using Terraform Provider.
https://github.com/gslabdev/terraform-provider-veeam
terraform terraform-provider veeam
Last synced: about 2 months ago
JSON representation
Automates the Add VM to Veeam Job resource during Infrastructure build using Terraform Provider.
- Host: GitHub
- URL: https://github.com/gslabdev/terraform-provider-veeam
- Owner: GSLabDev
- Created: 2019-12-09T09:44:37.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-06T04:43:51.000Z (over 4 years ago)
- Last Synced: 2024-06-20T14:16:37.460Z (7 months ago)
- Topics: terraform, terraform-provider, veeam
- Language: Go
- Homepage:
- Size: 74.2 KB
- Stars: 3
- Watchers: 5
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Terraform Veeam Provider
This is the repository for the Terraform Veeam Provider, which one can use
with Terraform to work with Veeam server.For general information about Terraform, visit the [official website][3] and the
[GitHub project page][4].[3]: https://terraform.io/
[4]: https://github.com/hashicorp/terraform# Using the Provider
The current version of this provider requires Terraform v0.12.9 or higher to
run.Note that you need to run `terraform init` to fetch the provider before
deploying. Read about the provider split and other changes to TF v0.10.0 in the
official release announcement found [here][4].[4]: https://www.hashicorp.com/blog/hashicorp-terraform-0-10/
## Full Provider Documentation
The provider is useful to add vm to the backup job
### Example
```hcl
# Configure the Veeam Provider
provider "veeam" {
server_ip = "${var.VEEAM_SERVER_IP}"
port = ${var.VEEAM_SERVER_PORT}
username = "${var.VEEAM_SERVER_USERNAME}"
password = "${var.VEEAM_SERVER_PASSWORD}"
}# Resource veeam_job_vm to add vm to the backup job in veeam server
resource "veeam_job_vm" "addvm"{
job_name = "${var.VEEAM_JOB_NAME}"
vm_name = "${var.VEEAM_VM_NAME}"
}```
# Building The Provider
**NOTE:** Unless you are [developing][7] or require a pre-release bugfix or feature,
you will want to use the officially released version of the provider (see [the
section above][8]).
[7]: #developing-the-provider
[8]: #using-the-provider# Cloning the Project
First, you will want to clone the repository to `$GOPATH/src/github.com/terraform-providers/terraform-provider-veeam`:```
mkdir -p $GOPATH/src/github.com/terraform-providers
cd $GOPATH/src/github.com/terraform-providers
git clone [email protected]:terraform-providers/terraform-provider-veeam```
# Running the Build
After the clone has been completed, you can enter the provider directory and build the provider.```
cd $GOPATH/src/github.com/terraform-providers/terraform-provider-veeam
make build```
# Installing the Local Plugin
After the build is complete, copy the `terraform-provider-veeam` binary into the same path as your `terraform` binary, and re-run `terraform init`.After this, your project-local `.terraform/plugins/ARCH/lock.json` (where `ARCH` matches the architecture of your machine) file should contain a SHA256 sum that matches the local plugin. Run `shasum -a 256` on the binary to verify the values match.
# Developing the Provider
If you wish to work on the provider, you'll first need [Go][9] installed on your machine (version 1.9+ is required). You'll also need to correctly setup a [GOPATH][10], as well as adding `$GOPATH/bin` to your `$PATH`.[9]:https://golang.org/
[10]:https://golang.org/doc/code.html#GOPATH
See [Building the Provider][11] for details on building the provider.
[11]: #building-the-provider# Testing the Provider
NOTE: Testing the VEEAM provider is currently a complex operation as it requires having a VEEAM backup Server to test against.# Configuring Environment Variables
Most of the tests in this provider require a comprehensive list of environment variables to run. See the individual `*_test.go` files in the [`veeam/`][12] directory for more details. The next section also describes how you can manage a configuration file of the test environment variables.[12]: https://github.com/GSLabDev/terraform-provider-veeam/tree/master/veeam
# Running the Acceptance Tests
After this is done, you can run the acceptance tests by running:
```
$ make testacc```
If you want to run against a specific set of tests, run `make testacc` with the `TESTARGS` parameter containing the run mask as per below:
```
make testacc TESTARGS="-run=TestAccAddVMToJob_Basic"```
This following example would run all of the acceptance tests matching `TestAccAddVMToJob_Basic`