mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-06 14:03:58 +00:00
Latest work
This commit is contained in:
parent
bc3889b8eb
commit
067a6af127
@ -5,8 +5,6 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -42,13 +40,14 @@ func dataSourceVirtualEnvironmentAccessGroup() *schema.Resource {
|
|||||||
|
|
||||||
func dataSourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interface{}) error {
|
func dataSourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
groupID := d.Get(mkDataSourceVirtualEnvironmentAccessGroupID).(string)
|
groupID := d.Get(mkDataSourceVirtualEnvironmentAccessGroupID).(string)
|
||||||
accessGroup, err := config.veClient.GetAccessGroup(groupID)
|
accessGroup, err := veClient.GetAccessGroup(groupID)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -37,12 +35,13 @@ func dataSourceVirtualEnvironmentAccessGroups() *schema.Resource {
|
|||||||
|
|
||||||
func dataSourceVirtualEnvironmentAccessGroupsRead(d *schema.ResourceData, m interface{}) error {
|
func dataSourceVirtualEnvironmentAccessGroupsRead(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
list, err := config.veClient.ListAccessGroups()
|
list, err := veClient.ListAccessGroups()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -51,12 +49,13 @@ func dataSourceVirtualEnvironmentVersion() *schema.Resource {
|
|||||||
|
|
||||||
func dataSourceVirtualEnvironmentVersionRead(d *schema.ResourceData, m interface{}) error {
|
func dataSourceVirtualEnvironmentVersionRead(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
version, err := config.veClient.Version()
|
version, err := veClient.Version()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
10
provider.go
10
provider.go
@ -5,6 +5,8 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
"github.com/danitso/terraform-provider-proxmox/proxmox"
|
"github.com/danitso/terraform-provider-proxmox/proxmox"
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
@ -96,3 +98,11 @@ func providerConfigure(d *schema.ResourceData) (interface{}, error) {
|
|||||||
|
|
||||||
return config, nil
|
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
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/danitso/terraform-provider-proxmox/proxmox"
|
"github.com/danitso/terraform-provider-proxmox/proxmox"
|
||||||
@ -48,9 +47,10 @@ func resourceVirtualEnvironmentAccessGroup() *schema.Resource {
|
|||||||
|
|
||||||
func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m interface{}) error {
|
func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
|
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
|
||||||
@ -59,7 +59,7 @@ func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m inter
|
|||||||
ID: groupID,
|
ID: groupID,
|
||||||
}
|
}
|
||||||
|
|
||||||
err := config.veClient.CreateAccessGroup(body)
|
err = veClient.CreateAccessGroup(body)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -72,13 +72,14 @@ func resourceVirtualEnvironmentAccessGroupCreate(d *schema.ResourceData, m inter
|
|||||||
|
|
||||||
func resourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interface{}) error {
|
func resourceVirtualEnvironmentAccessGroupRead(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
|
groupID := d.Id()
|
||||||
accessGroup, err := config.veClient.GetAccessGroup(groupID)
|
accessGroup, err := veClient.GetAccessGroup(groupID)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if strings.Contains(err.Error(), "HTTP 404") {
|
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 {
|
func resourceVirtualEnvironmentAccessGroupUpdate(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
body := &proxmox.VirtualEnvironmentAccessGroupUpdateRequestBody{
|
body := &proxmox.VirtualEnvironmentAccessGroupUpdateRequestBody{
|
||||||
Comment: d.Get(mkResourceVirtualEnvironmentAccessGroupComment).(string),
|
Comment: d.Get(mkResourceVirtualEnvironmentAccessGroupComment).(string),
|
||||||
}
|
}
|
||||||
|
|
||||||
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
|
groupID := d.Id()
|
||||||
err := config.veClient.UpdateAccessGroup(groupID, body)
|
err = veClient.UpdateAccessGroup(groupID, body)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -121,13 +123,14 @@ func resourceVirtualEnvironmentAccessGroupUpdate(d *schema.ResourceData, m inter
|
|||||||
|
|
||||||
func resourceVirtualEnvironmentAccessGroupDelete(d *schema.ResourceData, m interface{}) error {
|
func resourceVirtualEnvironmentAccessGroupDelete(d *schema.ResourceData, m interface{}) error {
|
||||||
config := m.(providerConfiguration)
|
config := m.(providerConfiguration)
|
||||||
|
veClient, err := config.GetVEClient()
|
||||||
|
|
||||||
if config.veClient == nil {
|
if err != nil {
|
||||||
return errors.New("You must specify the virtual environment details in the provider configuration to use this data source")
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
groupID := d.Get(mkResourceVirtualEnvironmentAccessGroupID).(string)
|
groupID := d.Id()
|
||||||
err := config.veClient.DeleteAccessGroup(groupID)
|
err = veClient.DeleteAccessGroup(groupID)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if strings.Contains(err.Error(), "HTTP 404") {
|
if strings.Contains(err.Error(), "HTTP 404") {
|
||||||
|
Loading…
Reference in New Issue
Block a user