example | ||
proxmox | ||
.gitignore | ||
CHANGELOG.md | ||
data_source_virtual_environment_group_test.go | ||
data_source_virtual_environment_group.go | ||
data_source_virtual_environment_groups_test.go | ||
data_source_virtual_environment_groups.go | ||
data_source_virtual_environment_role_test.go | ||
data_source_virtual_environment_role.go | ||
data_source_virtual_environment_roles_test.go | ||
data_source_virtual_environment_roles.go | ||
data_source_virtual_environment_user_test.go | ||
data_source_virtual_environment_user.go | ||
data_source_virtual_environment_users_test.go | ||
data_source_virtual_environment_users.go | ||
data_source_virtual_environment_version_test.go | ||
data_source_virtual_environment_version.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
Makefile | ||
provider_test.go | ||
provider.go | ||
README.md | ||
resource_virtual_environment_group_test.go | ||
resource_virtual_environment_group.go | ||
resource_virtual_environment_role_test.go | ||
resource_virtual_environment_role.go | ||
version.go |
Terraform Provider for Proxmox
A Terraform Provider which adds support for Proxmox solutions.
Requirements
Building the Provider
Clone repository to: $GOPATH/src/github.com/danitso/terraform-provider-proxmox
$ mkdir -p $GOPATH/src/github.com/danitso; cd $GOPATH/src/github.com/danitso
$ git clone git@github.com:danitso/terraform-provider-proxmox
Enter the provider directory, initialize and build the provider
$ cd $GOPATH/src/github.com/danitso/terraform-provider-proxmox
$ make init
$ make build
Using the Provider
If you're building the provider, follow the instructions to install it as a plugin. After placing it into your plugins directory, run terraform init
to initialize it.
Configuration
Arguments
virtual_environment
- (Optional) This is the configuration block for the Proxmox Virtual Environment.endpoint
- (Required) The endpoint for the Proxmox Virtual Environment API.insecure
- (Optional) Whether to skip the TLS verification step. Defaults tofalse
.password
- (Required) The password for the Proxmox Virtual Environment API.username
- (Required) The username for the Proxmox Virtual Environment API.
Data Sources
Virtual Environment
Group (proxmox_virtual_environment_group)
Arguments
group_id
- (Required) The group id.
Attributes
comment
- The group comment.members
- The group members as a list withusername@realm
entries.
Groups (proxmox_virtual_environment_groups)
Arguments
This data source doesn't accept arguments.
Attributes
comments
- The group comments.group_ids
- The group ids.
Role (proxmox_virtual_environment_role)
Arguments
role_id
- (Required) The role id.
Attributes
privileges
- The role privileges.
Roles (proxmox_virtual_environment_roles)
Arguments
This data source doesn't accept arguments.
Attributes
privileges
- The role privileges.role_ids
- The role ids.special
- Whether the role is special (built-in).
User (proxmox_virtual_environment_user)
Arguments
user_id
- (Required) The user id.
Attributes
comment
- The user commentemail
- The user's email addressenabled
- Whether the user account is enabledexpiration_date
- The user account's expiration datefirst_name
- The user's first namegroups
- The user's groupskeys
- The user's keyslast_name
- The user's last name
Users (proxmox_virtual_environment_user)
Arguments
This data source doesn't accept arguments.
Attributes
comments
- The user commentsemails
- The users' email addressesenabled
- Whether a user account is enabledexpiration_dates
- The user accounts' expiration datesfirst_names
- The users' first namesgroups
- The users' groupskeys
- The users' keyslast_names
- The users' last namesuser_ids
- The user ids.
Version (proxmox_virtual_environment_version)
Arguments
This data source doesn't accept arguments.
Attributes
keyboard
- The keyboard layout.release
- The release number.repository_id
- The repository id.version
- The version string.
Resources
Virtual Environment
Group (proxmox_virtual_environment_group)
Arguments
comment
- (Optional) The group comment.group_id
- (Required) The group id.
Attributes
members
- The group members as a list withusername@realm
entries.
Role (proxmox_virtual_environment_role)
Arguments
privileges
- (Required) The role privileges.role_id
- (Required) The role id.
Attributes
This resource doesn't expose any additional attributes.
Developing the Provider
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.12+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
$ make build
...
$ $GOPATH/bin/terraform-provider-proxmox
...
If you wish to contribute to the provider, the following requirements must be met,
- All tests must pass using
make test
- The Go code must be formatted using Gofmt
- Dependencies are installed by
make init
Testing the Provider
In order to test the provider, you can simply run make test
.
$ make test
Tests are limited to regression tests, ensuring backwards compability.