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:
parent
bc3889b8eb
commit
067a6af127
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
10
provider.go
10
provider.go
@ -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
|
||||
}
|
||||
|
@ -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") {
|
||||
|
Loading…
Reference in New Issue
Block a user