0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 02:31:10 +00:00

Latest work

This commit is contained in:
Dan Petersen 2019-12-07 23:20:59 +01:00
parent bc3889b8eb
commit 067a6af127
5 changed files with 41 additions and 31 deletions

View File

@ -5,8 +5,6 @@
package main
import (
"errors"
"github.com/hashicorp/terraform/helper/schema"
)
@ -42,13 +40,14 @@ func dataSourceVirtualEnvironmentAccessGroup() *schema.Resource {
func dataSourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
groupID := d.Get(mkDataSourceVirtualEnvironmentAccessGroupID).(string)
accessGroup, err := config.veClient.GetAccessGroup(groupID)
accessGroup, err := veClient.GetAccessGroup(groupID)
if err != nil {
return err

View File

@ -5,8 +5,6 @@
package main
import (
"errors"
"github.com/hashicorp/terraform/helper/schema"
)
@ -37,12 +35,13 @@ func dataSourceVirtualEnvironmentAccessGroups() *schema.Resource {
func dataSourceVirtualEnvironmentAccessGroupsRead(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
list, err := config.veClient.ListAccessGroups()
list, err := veClient.ListAccessGroups()
if err != nil {
return err

View File

@ -5,8 +5,6 @@
package main
import (
"errors"
"github.com/hashicorp/terraform/helper/schema"
)
@ -51,12 +49,13 @@ func dataSourceVirtualEnvironmentVersion() *schema.Resource {
func dataSourceVirtualEnvironmentVersionRead(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
version, err := config.veClient.Version()
version, err := veClient.Version()
if err != nil {
return err

View File

@ -5,6 +5,8 @@
package main
import (
"errors"
"github.com/danitso/terraform-provider-proxmox/proxmox"
"github.com/hashicorp/terraform/helper/schema"
)
@ -96,3 +98,11 @@ func providerConfigure(d *schema.ResourceData) (interface{}, error) {
return config, nil
}
func (c *providerConfiguration) GetVEClient() (*proxmox.VirtualEnvironmentClient, error) {
if c.veClient == nil {
return nil, errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
}
return c.veClient, nil
}

View File

@ -5,7 +5,6 @@
package main
import (
"errors"
"strings"
"github.com/danitso/terraform-provider-proxmox/proxmox"
@ -48,9 +47,10 @@ func resourceVirtualEnvironmentAccessGroup() *schema.Resource {
func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
@ -59,7 +59,7 @@ func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m inter
ID: groupID,
}
err := config.veClient.CreateAccessGroup(body)
err = veClient.CreateAccessGroup(body)
if err != nil {
return err
@ -72,13 +72,14 @@ func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m inter
func resourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
accessGroup, err := config.veClient.GetAccessGroup(groupID)
groupID := d.Id()
accessGroup, err := veClient.GetAccessGroup(groupID)
if err != nil {
if strings.Contains(err.Error(), "HTTP 404") {
@ -100,17 +101,18 @@ func resourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interfa
func resourceVirtualEnvironmentAccessGroupUpdate(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
body := &proxmox.VirtualEnvironmentAccessGroupUpdateRequestBody{
Comment: d.Get(mkResourceVirtualEnvironmentAccessGroupComment).(string),
}
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
err := config.veClient.UpdateAccessGroup(groupID, body)
groupID := d.Id()
err = veClient.UpdateAccessGroup(groupID, body)
if err != nil {
return err
@ -121,13 +123,14 @@ func resourceVirtualEnvironmentAccessGroupUpdate(d *schema.ResourceData, m inter
func resourceVirtualEnvironmentAccessGroupDelete(d *schema.ResourceData, m interface{}) error {
config := m.(providerConfiguration)
veClient, err := config.GetVEClient()
if config.veClient == nil {
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
if err != nil {
return err
}
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
err := config.veClient.DeleteAccessGroup(groupID)
groupID := d.Id()
err = veClient.DeleteAccessGroup(groupID)
if err != nil {
if strings.Contains(err.Error(), "HTTP 404") {