mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-08-22 19:38:35 +00:00
Minor refactoring
This commit is contained in:
parent
107267f93f
commit
3ba91855cc
14
README.md
14
README.md
@ -101,11 +101,11 @@ This data source doesn't accept arguments.
|
|||||||
###### Attributes
|
###### Attributes
|
||||||
* `comment` - The pool comment
|
* `comment` - The pool comment
|
||||||
* `members` - The pool members
|
* `members` - The pool members
|
||||||
|
* `datastore_id` - The datastore id
|
||||||
* `id` - The member id
|
* `id` - The member id
|
||||||
* `node` - The node id
|
* `node_name` - The node name
|
||||||
* `storage` - The storage id
|
|
||||||
* `type` - The member type
|
* `type` - The member type
|
||||||
* `virtual_machine_id` - The virtual machine id
|
* `vm_id` - The virtual machine id
|
||||||
|
|
||||||
##### Pools (proxmox_virtual_environment_pools)
|
##### Pools (proxmox_virtual_environment_pools)
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ This data source doesn't accept arguments.
|
|||||||
This data source doesn't accept arguments.
|
This data source doesn't accept arguments.
|
||||||
|
|
||||||
###### Attributes
|
###### Attributes
|
||||||
* `keyboard` - The keyboard layout
|
* `keyboard_layout` - The keyboard layout
|
||||||
* `release` - The release number
|
* `release` - The release number
|
||||||
* `repository_id` - The repository id
|
* `repository_id` - The repository id
|
||||||
* `version` - The version string
|
* `version` - The version string
|
||||||
@ -216,11 +216,11 @@ This data source doesn't accept arguments.
|
|||||||
|
|
||||||
###### Attributes
|
###### Attributes
|
||||||
* `members` - The pool members
|
* `members` - The pool members
|
||||||
|
* `datastore_id` - The datastore id
|
||||||
* `id` - The member id
|
* `id` - The member id
|
||||||
* `node` - The node id
|
* `node_name` - The node name
|
||||||
* `storage` - The storage id
|
|
||||||
* `type` - The member type
|
* `type` - The member type
|
||||||
* `virtual_machine_id` - The virtual machine id
|
* `vm_id` - The virtual machine id
|
||||||
|
|
||||||
##### Role (proxmox_virtual_environment_role)
|
##### Role (proxmox_virtual_environment_role)
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -21,7 +22,11 @@ func TestDataSourceVirtualEnvironmentDatastoresInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentDatastoresSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentDatastoresSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentDatastores()
|
s := dataSourceVirtualEnvironmentDatastores()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentDatastoresNodeName,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentDatastoresActive,
|
mkDataSourceVirtualEnvironmentDatastoresActive,
|
||||||
mkDataSourceVirtualEnvironmentDatastoresContentTypes,
|
mkDataSourceVirtualEnvironmentDatastoresContentTypes,
|
||||||
mkDataSourceVirtualEnvironmentDatastoresDatastoreIDs,
|
mkDataSourceVirtualEnvironmentDatastoresDatastoreIDs,
|
||||||
@ -31,15 +36,29 @@ func TestDataSourceVirtualEnvironmentDatastoresSchema(t *testing.T) {
|
|||||||
mkDataSourceVirtualEnvironmentDatastoresSpaceTotal,
|
mkDataSourceVirtualEnvironmentDatastoresSpaceTotal,
|
||||||
mkDataSourceVirtualEnvironmentDatastoresSpaceUsed,
|
mkDataSourceVirtualEnvironmentDatastoresSpaceUsed,
|
||||||
mkDataSourceVirtualEnvironmentDatastoresTypes,
|
mkDataSourceVirtualEnvironmentDatastoresTypes,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentDatastoresActive,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentDatastores.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentDatastoresContentTypes,
|
||||||
}
|
mkDataSourceVirtualEnvironmentDatastoresDatastoreIDs,
|
||||||
|
mkDataSourceVirtualEnvironmentDatastoresEnabled,
|
||||||
if s.Schema[v].Computed != true {
|
mkDataSourceVirtualEnvironmentDatastoresNodeName,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentDatastores.Schema: Attribute \"%s\" is not computed", v)
|
mkDataSourceVirtualEnvironmentDatastoresShared,
|
||||||
}
|
mkDataSourceVirtualEnvironmentDatastoresSpaceAvailable,
|
||||||
}
|
mkDataSourceVirtualEnvironmentDatastoresSpaceTotal,
|
||||||
|
mkDataSourceVirtualEnvironmentDatastoresSpaceUsed,
|
||||||
|
mkDataSourceVirtualEnvironmentDatastoresTypes,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -24,26 +24,22 @@ func dataSourceVirtualEnvironmentGroup() *schema.Resource {
|
|||||||
mkDataSourceVirtualEnvironmentGroupACL: &schema.Schema{
|
mkDataSourceVirtualEnvironmentGroupACL: &schema.Schema{
|
||||||
Type: schema.TypeSet,
|
Type: schema.TypeSet,
|
||||||
Description: "The access control list",
|
Description: "The access control list",
|
||||||
Optional: true,
|
Computed: true,
|
||||||
DefaultFunc: func() (interface{}, error) {
|
|
||||||
return make([]interface{}, 0), nil
|
|
||||||
},
|
|
||||||
Elem: &schema.Resource{
|
Elem: &schema.Resource{
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
mkDataSourceVirtualEnvironmentGroupACLPath: {
|
mkDataSourceVirtualEnvironmentGroupACLPath: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The path",
|
Description: "The path",
|
||||||
},
|
},
|
||||||
mkDataSourceVirtualEnvironmentGroupACLPropagate: {
|
mkDataSourceVirtualEnvironmentGroupACLPropagate: {
|
||||||
Type: schema.TypeBool,
|
Type: schema.TypeBool,
|
||||||
Optional: true,
|
Computed: true,
|
||||||
Description: "Whether to propagate to child paths",
|
Description: "Whether to propagate to child paths",
|
||||||
Default: false,
|
|
||||||
},
|
},
|
||||||
mkDataSourceVirtualEnvironmentGroupACLRoleID: {
|
mkDataSourceVirtualEnvironmentGroupACLRoleID: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The role id",
|
Description: "The role id",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentGroupInstantiation tests whether the DataSourceVirtualEnvironmentGroup instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentGroupInstantiation tests whether the DataSourceVirtualEnvironmentGroup instance can be instantiated.
|
||||||
@ -21,18 +23,43 @@ func TestDataSourceVirtualEnvironmentGroupInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentGroupSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentGroupSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentGroup()
|
s := dataSourceVirtualEnvironmentGroup()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentGroupID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentGroupACL,
|
||||||
mkDataSourceVirtualEnvironmentGroupComment,
|
mkDataSourceVirtualEnvironmentGroupComment,
|
||||||
mkDataSourceVirtualEnvironmentGroupMembers,
|
mkDataSourceVirtualEnvironmentGroupMembers,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentGroupACL,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentGroup.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentGroupID,
|
||||||
}
|
mkDataSourceVirtualEnvironmentGroupComment,
|
||||||
|
mkDataSourceVirtualEnvironmentGroupMembers,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeSet,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeSet,
|
||||||
|
})
|
||||||
|
|
||||||
if s.Schema[v].Computed != true {
|
aclSchema := testNestedSchemaExistence(t, s, mkDataSourceVirtualEnvironmentGroupACL)
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentGroup.Schema: Attribute \"%s\" is not computed", v)
|
|
||||||
}
|
testComputedAttributes(t, aclSchema, []string{
|
||||||
}
|
mkDataSourceVirtualEnvironmentGroupACLPath,
|
||||||
|
mkDataSourceVirtualEnvironmentGroupACLPropagate,
|
||||||
|
mkDataSourceVirtualEnvironmentGroupACLRoleID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testSchemaValueTypes(t, aclSchema, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentGroupACLPath,
|
||||||
|
mkDataSourceVirtualEnvironmentGroupACLPropagate,
|
||||||
|
mkDataSourceVirtualEnvironmentGroupACLRoleID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -21,18 +22,16 @@ func TestDataSourceVirtualEnvironmentGroupsInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentGroupsSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentGroupsSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentGroups()
|
s := dataSourceVirtualEnvironmentGroups()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentGroupsComments,
|
mkDataSourceVirtualEnvironmentGroupsComments,
|
||||||
mkDataSourceVirtualEnvironmentGroupsGroupIDs,
|
mkDataSourceVirtualEnvironmentGroupsGroupIDs,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentGroupsComments,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentGroups.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentGroupsGroupIDs,
|
||||||
}
|
}, []schema.ValueType{
|
||||||
|
schema.TypeList,
|
||||||
if s.Schema[v].Computed != true {
|
schema.TypeList,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentGroups.Schema: Attribute \"%s\" is not computed", v)
|
})
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentNodesInstantiation tests whether the DataSourceVirtualEnvironmentNodes instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentNodesInstantiation tests whether the DataSourceVirtualEnvironmentNodes instance can be instantiated.
|
||||||
@ -21,7 +23,7 @@ func TestDataSourceVirtualEnvironmentNodesInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentNodesSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentNodesSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentNodes()
|
s := dataSourceVirtualEnvironmentNodes()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentNodesCPUCount,
|
mkDataSourceVirtualEnvironmentNodesCPUCount,
|
||||||
mkDataSourceVirtualEnvironmentNodesCPUUtilization,
|
mkDataSourceVirtualEnvironmentNodesCPUUtilization,
|
||||||
mkDataSourceVirtualEnvironmentNodesMemoryAvailable,
|
mkDataSourceVirtualEnvironmentNodesMemoryAvailable,
|
||||||
@ -31,15 +33,27 @@ func TestDataSourceVirtualEnvironmentNodesSchema(t *testing.T) {
|
|||||||
mkDataSourceVirtualEnvironmentNodesSSLFingerprints,
|
mkDataSourceVirtualEnvironmentNodesSSLFingerprints,
|
||||||
mkDataSourceVirtualEnvironmentNodesSupportLevels,
|
mkDataSourceVirtualEnvironmentNodesSupportLevels,
|
||||||
mkDataSourceVirtualEnvironmentNodesUptime,
|
mkDataSourceVirtualEnvironmentNodesUptime,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentNodesCPUCount,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentNodes.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentNodesCPUUtilization,
|
||||||
}
|
mkDataSourceVirtualEnvironmentNodesMemoryAvailable,
|
||||||
|
mkDataSourceVirtualEnvironmentNodesMemoryUsed,
|
||||||
if s.Schema[v].Computed != true {
|
mkDataSourceVirtualEnvironmentNodesNames,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentNodes.Schema: Attribute \"%s\" is not computed", v)
|
mkDataSourceVirtualEnvironmentNodesOnline,
|
||||||
}
|
mkDataSourceVirtualEnvironmentNodesSSLFingerprints,
|
||||||
}
|
mkDataSourceVirtualEnvironmentNodesSupportLevels,
|
||||||
|
mkDataSourceVirtualEnvironmentNodesUptime,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -9,9 +9,14 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
mkDataSourceVirtualEnvironmentPoolComment = "comment"
|
mkDataSourceVirtualEnvironmentPoolComment = "comment"
|
||||||
mkDataSourceVirtualEnvironmentPoolMembers = "members"
|
mkDataSourceVirtualEnvironmentPoolMembers = "members"
|
||||||
mkDataSourceVirtualEnvironmentPoolPoolID = "pool_id"
|
mkDataSourceVirtualEnvironmentPoolMembersDatastoreID = "datastore_id"
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersID = "id"
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersNodeName = "node_name"
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersType = "type"
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersVMID = "vm_id"
|
||||||
|
mkDataSourceVirtualEnvironmentPoolPoolID = "pool_id"
|
||||||
)
|
)
|
||||||
|
|
||||||
func dataSourceVirtualEnvironmentPool() *schema.Resource {
|
func dataSourceVirtualEnvironmentPool() *schema.Resource {
|
||||||
@ -28,32 +33,30 @@ func dataSourceVirtualEnvironmentPool() *schema.Resource {
|
|||||||
Computed: true,
|
Computed: true,
|
||||||
Elem: &schema.Resource{
|
Elem: &schema.Resource{
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
mkResourceVirtualEnvironmentPoolMembersID: {
|
mkDataSourceVirtualEnvironmentPoolMembersDatastoreID: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
|
Description: "The datastore id",
|
||||||
|
},
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersID: {
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Computed: true,
|
||||||
Description: "The member id",
|
Description: "The member id",
|
||||||
},
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersNode: {
|
mkDataSourceVirtualEnvironmentPoolMembersNodeName: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The node id",
|
Description: "The node name",
|
||||||
},
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersStorage: {
|
mkDataSourceVirtualEnvironmentPoolMembersType: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Optional: true,
|
Computed: true,
|
||||||
Description: "The storage id",
|
|
||||||
Default: "",
|
|
||||||
},
|
|
||||||
mkResourceVirtualEnvironmentPoolMembersType: {
|
|
||||||
Type: schema.TypeString,
|
|
||||||
Required: true,
|
|
||||||
Description: "The member type",
|
Description: "The member type",
|
||||||
},
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersVirtualMachineID: {
|
mkDataSourceVirtualEnvironmentPoolMembersVMID: {
|
||||||
Type: schema.TypeInt,
|
Type: schema.TypeInt,
|
||||||
Optional: true,
|
Computed: true,
|
||||||
Description: "The virtual machine id",
|
Description: "The virtual machine id",
|
||||||
Default: 0,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -96,27 +99,27 @@ func dataSourceVirtualEnvironmentPoolRead(d *schema.ResourceData, m interface{})
|
|||||||
for i, v := range pool.Members {
|
for i, v := range pool.Members {
|
||||||
values := make(map[string]interface{})
|
values := make(map[string]interface{})
|
||||||
|
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersID] = v.ID
|
values[mkDataSourceVirtualEnvironmentPoolMembersID] = v.ID
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersNode] = v.Node
|
values[mkDataSourceVirtualEnvironmentPoolMembersNodeName] = v.Node
|
||||||
|
|
||||||
if v.Storage != nil {
|
if v.DatastoreID != nil {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersStorage] = v.Storage
|
values[mkDataSourceVirtualEnvironmentPoolMembersDatastoreID] = v.DatastoreID
|
||||||
} else {
|
} else {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersStorage] = ""
|
values[mkDataSourceVirtualEnvironmentPoolMembersDatastoreID] = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersType] = v.Type
|
values[mkDataSourceVirtualEnvironmentPoolMembersType] = v.Type
|
||||||
|
|
||||||
if v.VirtualMachineID != nil {
|
if v.VMID != nil {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersVirtualMachineID] = v.VirtualMachineID
|
values[mkDataSourceVirtualEnvironmentPoolMembersVMID] = v.VMID
|
||||||
} else {
|
} else {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersVirtualMachineID] = 0
|
values[mkDataSourceVirtualEnvironmentPoolMembersVMID] = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
members[i] = values
|
members[i] = values
|
||||||
}
|
}
|
||||||
|
|
||||||
d.Set(mkResourceVirtualEnvironmentPoolMembers, members)
|
d.Set(mkDataSourceVirtualEnvironmentPoolMembers, members)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentPoolInstantiation tests whether the DataSourceVirtualEnvironmentPool instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentPoolInstantiation tests whether the DataSourceVirtualEnvironmentPool instance can be instantiated.
|
||||||
@ -21,18 +23,46 @@ func TestDataSourceVirtualEnvironmentPoolInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentPoolSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentPoolSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentPool()
|
s := dataSourceVirtualEnvironmentPool()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentPoolPoolID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentPoolComment,
|
mkDataSourceVirtualEnvironmentPoolComment,
|
||||||
mkDataSourceVirtualEnvironmentPoolMembers,
|
mkDataSourceVirtualEnvironmentPoolMembers,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentPoolComment,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentPool.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentPoolMembers,
|
||||||
}
|
mkDataSourceVirtualEnvironmentPoolPoolID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
|
|
||||||
if s.Schema[v].Computed != true {
|
membersSchema := testNestedSchemaExistence(t, s, mkDataSourceVirtualEnvironmentPoolMembers)
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentPool.Schema: Attribute \"%s\" is not computed", v)
|
|
||||||
}
|
testComputedAttributes(t, membersSchema, []string{
|
||||||
}
|
mkDataSourceVirtualEnvironmentPoolMembersDatastoreID,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersID,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersNodeName,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersType,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersVMID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testSchemaValueTypes(t, membersSchema, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersDatastoreID,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersID,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersNodeName,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersType,
|
||||||
|
mkDataSourceVirtualEnvironmentPoolMembersVMID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeInt,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentPoolsInstantiation tests whether the DataSourceVirtualEnvironmentPools instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentPoolsInstantiation tests whether the DataSourceVirtualEnvironmentPools instance can be instantiated.
|
||||||
@ -21,17 +23,13 @@ func TestDataSourceVirtualEnvironmentPoolsInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentPoolsSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentPoolsSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentPools()
|
s := dataSourceVirtualEnvironmentPools()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentPoolsPoolIDs,
|
mkDataSourceVirtualEnvironmentPoolsPoolIDs,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentPoolsPoolIDs,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentPools.Schema: Missing attribute \"%s\"", v)
|
}, []schema.ValueType{
|
||||||
}
|
schema.TypeList,
|
||||||
|
})
|
||||||
if s.Schema[v].Computed != true {
|
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentPools.Schema: Attribute \"%s\" is not computed", v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentRoleInstantiation tests whether the DataSourceVirtualEnvironmentRole instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentRoleInstantiation tests whether the DataSourceVirtualEnvironmentRole instance can be instantiated.
|
||||||
@ -21,17 +23,19 @@ func TestDataSourceVirtualEnvironmentRoleInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentRoleSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentRoleSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentRole()
|
s := dataSourceVirtualEnvironmentRole()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentRoleID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentRolePrivileges,
|
mkDataSourceVirtualEnvironmentRolePrivileges,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentRoleID,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentRole.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentRolePrivileges,
|
||||||
}
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
if s.Schema[v].Computed != true {
|
schema.TypeSet,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentRole.Schema: Attribute \"%s\" is not computed", v)
|
})
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -21,19 +22,19 @@ func TestDataSourceVirtualEnvironmentRolesInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentRolesSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentRolesSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentRoles()
|
s := dataSourceVirtualEnvironmentRoles()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentRolesPrivileges,
|
mkDataSourceVirtualEnvironmentRolesPrivileges,
|
||||||
mkDataSourceVirtualEnvironmentRolesRoleIDs,
|
mkDataSourceVirtualEnvironmentRolesRoleIDs,
|
||||||
mkDataSourceVirtualEnvironmentRolesSpecial,
|
mkDataSourceVirtualEnvironmentRolesSpecial,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentRolesPrivileges,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentRoles.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentRolesRoleIDs,
|
||||||
}
|
mkDataSourceVirtualEnvironmentRolesSpecial,
|
||||||
|
}, []schema.ValueType{
|
||||||
if s.Schema[v].Computed != true {
|
schema.TypeList,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentRoles.Schema: Attribute \"%s\" is not computed", v)
|
schema.TypeList,
|
||||||
}
|
schema.TypeList,
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
@ -32,26 +32,22 @@ func dataSourceVirtualEnvironmentUser() *schema.Resource {
|
|||||||
mkDataSourceVirtualEnvironmentUserACL: &schema.Schema{
|
mkDataSourceVirtualEnvironmentUserACL: &schema.Schema{
|
||||||
Type: schema.TypeSet,
|
Type: schema.TypeSet,
|
||||||
Description: "The access control list",
|
Description: "The access control list",
|
||||||
Optional: true,
|
Computed: true,
|
||||||
DefaultFunc: func() (interface{}, error) {
|
|
||||||
return make([]interface{}, 0), nil
|
|
||||||
},
|
|
||||||
Elem: &schema.Resource{
|
Elem: &schema.Resource{
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
mkDataSourceVirtualEnvironmentUserACLPath: {
|
mkDataSourceVirtualEnvironmentUserACLPath: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The path",
|
Description: "The path",
|
||||||
},
|
},
|
||||||
mkDataSourceVirtualEnvironmentUserACLPropagate: {
|
mkDataSourceVirtualEnvironmentUserACLPropagate: {
|
||||||
Type: schema.TypeBool,
|
Type: schema.TypeBool,
|
||||||
Optional: true,
|
Computed: true,
|
||||||
Description: "Whether to propagate to child paths",
|
Description: "Whether to propagate to child paths",
|
||||||
Default: false,
|
|
||||||
},
|
},
|
||||||
mkDataSourceVirtualEnvironmentUserACLRoleID: {
|
mkDataSourceVirtualEnvironmentUserACLRoleID: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The role id",
|
Description: "The role id",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentUserInstantiation tests whether the DataSourceVirtualEnvironmentUser instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentUserInstantiation tests whether the DataSourceVirtualEnvironmentUser instance can be instantiated.
|
||||||
@ -21,7 +23,12 @@ func TestDataSourceVirtualEnvironmentUserInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentUserSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentUserSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentUser()
|
s := dataSourceVirtualEnvironmentUser()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentUserUserID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentUserACL,
|
||||||
mkDataSourceVirtualEnvironmentUserComment,
|
mkDataSourceVirtualEnvironmentUserComment,
|
||||||
mkDataSourceVirtualEnvironmentUserEmail,
|
mkDataSourceVirtualEnvironmentUserEmail,
|
||||||
mkDataSourceVirtualEnvironmentUserEnabled,
|
mkDataSourceVirtualEnvironmentUserEnabled,
|
||||||
@ -30,15 +37,45 @@ func TestDataSourceVirtualEnvironmentUserSchema(t *testing.T) {
|
|||||||
mkDataSourceVirtualEnvironmentUserGroups,
|
mkDataSourceVirtualEnvironmentUserGroups,
|
||||||
mkDataSourceVirtualEnvironmentUserKeys,
|
mkDataSourceVirtualEnvironmentUserKeys,
|
||||||
mkDataSourceVirtualEnvironmentUserLastName,
|
mkDataSourceVirtualEnvironmentUserLastName,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentUserACL,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentUser.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentUserComment,
|
||||||
}
|
mkDataSourceVirtualEnvironmentUserEmail,
|
||||||
|
mkDataSourceVirtualEnvironmentUserEnabled,
|
||||||
|
mkDataSourceVirtualEnvironmentUserExpirationDate,
|
||||||
|
mkDataSourceVirtualEnvironmentUserFirstName,
|
||||||
|
mkDataSourceVirtualEnvironmentUserGroups,
|
||||||
|
mkDataSourceVirtualEnvironmentUserKeys,
|
||||||
|
mkDataSourceVirtualEnvironmentUserLastName,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeSet,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
|
|
||||||
if s.Schema[v].Computed != true {
|
aclSchema := testNestedSchemaExistence(t, s, mkDataSourceVirtualEnvironmentGroupACL)
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentUser.Schema: Attribute \"%s\" is not computed", v)
|
|
||||||
}
|
testComputedAttributes(t, aclSchema, []string{
|
||||||
}
|
mkDataSourceVirtualEnvironmentUserACLPath,
|
||||||
|
mkDataSourceVirtualEnvironmentUserACLPropagate,
|
||||||
|
mkDataSourceVirtualEnvironmentUserACLRoleID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testSchemaValueTypes(t, aclSchema, []string{
|
||||||
|
mkDataSourceVirtualEnvironmentUserACLPath,
|
||||||
|
mkDataSourceVirtualEnvironmentUserACLPropagate,
|
||||||
|
mkDataSourceVirtualEnvironmentUserACLRoleID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentUsersInstantiation tests whether the DataSourceVirtualEnvironmentUsers instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentUsersInstantiation tests whether the DataSourceVirtualEnvironmentUsers instance can be instantiated.
|
||||||
@ -21,7 +23,7 @@ func TestDataSourceVirtualEnvironmentUsersInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentUsersSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentUsersSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentUsers()
|
s := dataSourceVirtualEnvironmentUsers()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentUsersComments,
|
mkDataSourceVirtualEnvironmentUsersComments,
|
||||||
mkDataSourceVirtualEnvironmentUsersEmails,
|
mkDataSourceVirtualEnvironmentUsersEmails,
|
||||||
mkDataSourceVirtualEnvironmentUsersEnabled,
|
mkDataSourceVirtualEnvironmentUsersEnabled,
|
||||||
@ -31,15 +33,27 @@ func TestDataSourceVirtualEnvironmentUsersSchema(t *testing.T) {
|
|||||||
mkDataSourceVirtualEnvironmentUsersKeys,
|
mkDataSourceVirtualEnvironmentUsersKeys,
|
||||||
mkDataSourceVirtualEnvironmentUsersLastNames,
|
mkDataSourceVirtualEnvironmentUsersLastNames,
|
||||||
mkDataSourceVirtualEnvironmentUsersUserIDs,
|
mkDataSourceVirtualEnvironmentUsersUserIDs,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentUsersComments,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentUsers.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentUsersEmails,
|
||||||
}
|
mkDataSourceVirtualEnvironmentUsersEnabled,
|
||||||
|
mkDataSourceVirtualEnvironmentUsersExpirationDates,
|
||||||
if s.Schema[v].Computed != true {
|
mkDataSourceVirtualEnvironmentUsersFirstNames,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentUsers.Schema: Attribute \"%s\" is not computed", v)
|
mkDataSourceVirtualEnvironmentUsersGroups,
|
||||||
}
|
mkDataSourceVirtualEnvironmentUsersKeys,
|
||||||
}
|
mkDataSourceVirtualEnvironmentUsersLastNames,
|
||||||
|
mkDataSourceVirtualEnvironmentUsersUserIDs,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
schema.TypeList,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -9,16 +9,16 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
mkDataSourceVirtualEnvironmentVersionKeyboard = "keyboard"
|
mkDataSourceVirtualEnvironmentVersionKeyboardLayout = "keyboard_layout"
|
||||||
mkDataSourceVirtualEnvironmentVersionRelease = "release"
|
mkDataSourceVirtualEnvironmentVersionRelease = "release"
|
||||||
mkDataSourceVirtualEnvironmentVersionRepositoryID = "repository_id"
|
mkDataSourceVirtualEnvironmentVersionRepositoryID = "repository_id"
|
||||||
mkDataSourceVirtualEnvironmentVersionVersion = "version"
|
mkDataSourceVirtualEnvironmentVersionVersion = "version"
|
||||||
)
|
)
|
||||||
|
|
||||||
func dataSourceVirtualEnvironmentVersion() *schema.Resource {
|
func dataSourceVirtualEnvironmentVersion() *schema.Resource {
|
||||||
return &schema.Resource{
|
return &schema.Resource{
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
mkDataSourceVirtualEnvironmentVersionKeyboard: &schema.Schema{
|
mkDataSourceVirtualEnvironmentVersionKeyboardLayout: &schema.Schema{
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Description: "The keyboard layout",
|
Description: "The keyboard layout",
|
||||||
Computed: true,
|
Computed: true,
|
||||||
@ -63,7 +63,7 @@ func dataSourceVirtualEnvironmentVersionRead(d *schema.ResourceData, m interface
|
|||||||
|
|
||||||
d.SetId("version")
|
d.SetId("version")
|
||||||
|
|
||||||
d.Set(mkDataSourceVirtualEnvironmentVersionKeyboard, version.Keyboard)
|
d.Set(mkDataSourceVirtualEnvironmentVersionKeyboardLayout, version.Keyboard)
|
||||||
d.Set(mkDataSourceVirtualEnvironmentVersionRelease, version.Release)
|
d.Set(mkDataSourceVirtualEnvironmentVersionRelease, version.Release)
|
||||||
d.Set(mkDataSourceVirtualEnvironmentVersionRepositoryID, version.RepositoryID)
|
d.Set(mkDataSourceVirtualEnvironmentVersionRepositoryID, version.RepositoryID)
|
||||||
d.Set(mkDataSourceVirtualEnvironmentVersionVersion, version.Version)
|
d.Set(mkDataSourceVirtualEnvironmentVersionVersion, version.Version)
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestDataSourceVirtualEnvironmentVersionInstantiation tests whether the DataSourceVirtualEnvironmentVersion instance can be instantiated.
|
// TestDataSourceVirtualEnvironmentVersionInstantiation tests whether the DataSourceVirtualEnvironmentVersion instance can be instantiated.
|
||||||
@ -21,20 +23,22 @@ func TestDataSourceVirtualEnvironmentVersionInstantiation(t *testing.T) {
|
|||||||
func TestDataSourceVirtualEnvironmentVersionSchema(t *testing.T) {
|
func TestDataSourceVirtualEnvironmentVersionSchema(t *testing.T) {
|
||||||
s := dataSourceVirtualEnvironmentVersion()
|
s := dataSourceVirtualEnvironmentVersion()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testComputedAttributes(t, s, []string{
|
||||||
mkDataSourceVirtualEnvironmentVersionKeyboard,
|
mkDataSourceVirtualEnvironmentVersionKeyboardLayout,
|
||||||
mkDataSourceVirtualEnvironmentVersionRelease,
|
mkDataSourceVirtualEnvironmentVersionRelease,
|
||||||
mkDataSourceVirtualEnvironmentVersionRepositoryID,
|
mkDataSourceVirtualEnvironmentVersionRepositoryID,
|
||||||
mkDataSourceVirtualEnvironmentVersionVersion,
|
mkDataSourceVirtualEnvironmentVersionVersion,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkDataSourceVirtualEnvironmentVersionKeyboardLayout,
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentVersion.Schema: Missing attribute \"%s\"", v)
|
mkDataSourceVirtualEnvironmentVersionRelease,
|
||||||
}
|
mkDataSourceVirtualEnvironmentVersionRepositoryID,
|
||||||
|
mkDataSourceVirtualEnvironmentVersionVersion,
|
||||||
if s.Schema[v].Computed != true {
|
}, []schema.ValueType{
|
||||||
t.Fatalf("Error in dataSourceVirtualEnvironmentVersion.Schema: Attribute \"%s\" is not computed", v)
|
schema.TypeString,
|
||||||
}
|
schema.TypeString,
|
||||||
}
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ data "proxmox_virtual_environment_version" "example" {}
|
|||||||
|
|
||||||
output "data_proxmox_virtual_environment_version" {
|
output "data_proxmox_virtual_environment_version" {
|
||||||
value = "${map(
|
value = "${map(
|
||||||
"keyboard", data.proxmox_virtual_environment_version.example.keyboard,
|
"keyboard_layout", data.proxmox_virtual_environment_version.example.keyboard_layout,
|
||||||
"release", data.proxmox_virtual_environment_version.example.release,
|
"release", data.proxmox_virtual_environment_version.example.release,
|
||||||
"repository_id", data.proxmox_virtual_environment_version.example.repository_id,
|
"repository_id", data.proxmox_virtual_environment_version.example.repository_id,
|
||||||
"version", data.proxmox_virtual_environment_version.example.version,
|
"version", data.proxmox_virtual_environment_version.example.version,
|
||||||
|
@ -20,11 +20,11 @@ type VirtualEnvironmentAuthenticationResponseBody struct {
|
|||||||
|
|
||||||
// VirtualEnvironmentAuthenticationResponseCapabilities contains the supported capabilities for a session.
|
// VirtualEnvironmentAuthenticationResponseCapabilities contains the supported capabilities for a session.
|
||||||
type VirtualEnvironmentAuthenticationResponseCapabilities struct {
|
type VirtualEnvironmentAuthenticationResponseCapabilities struct {
|
||||||
Access *CustomPrivileges `json:"access,omitempty"`
|
Access *CustomPrivileges `json:"access,omitempty"`
|
||||||
Datacenter *CustomPrivileges `json:"dc,omitempty"`
|
Datacenter *CustomPrivileges `json:"dc,omitempty"`
|
||||||
Nodes *CustomPrivileges `json:"nodes,omitempty"`
|
Nodes *CustomPrivileges `json:"nodes,omitempty"`
|
||||||
Storage *CustomPrivileges `json:"storage,omitempty"`
|
Storage *CustomPrivileges `json:"storage,omitempty"`
|
||||||
VirtualMachines *CustomPrivileges `json:"vms,omitempty"`
|
VMs *CustomPrivileges `json:"vms,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// VirtualEnvironmentAuthenticationResponseData contains the data from an authentication response.
|
// VirtualEnvironmentAuthenticationResponseData contains the data from an authentication response.
|
||||||
|
@ -22,13 +22,13 @@ type VirtualEnvironmentDatastoreFileListResponseBody struct {
|
|||||||
|
|
||||||
// VirtualEnvironmentDatastoreFileListResponseData contains the data from a datastore content list response.
|
// VirtualEnvironmentDatastoreFileListResponseData contains the data from a datastore content list response.
|
||||||
type VirtualEnvironmentDatastoreFileListResponseData struct {
|
type VirtualEnvironmentDatastoreFileListResponseData struct {
|
||||||
ContentType string `json:"content"`
|
ContentType string `json:"content"`
|
||||||
FileFormat string `json:"format"`
|
FileFormat string `json:"format"`
|
||||||
FileSize int `json:"size"`
|
FileSize int `json:"size"`
|
||||||
ParentVolumeID *string `json:"parent,omitempty"`
|
ParentVolumeID *string `json:"parent,omitempty"`
|
||||||
SpaceUsed *int `json:"used,omitempty"`
|
SpaceUsed *int `json:"used,omitempty"`
|
||||||
VirtualMachineID *int `json:"vmid,omitempty"`
|
VMID *int `json:"vmid,omitempty"`
|
||||||
VolumeID string `json:"volid"`
|
VolumeID string `json:"volid"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// VirtualEnvironmentDatastoreListRequestBody contains the body for a datastore list request.
|
// VirtualEnvironmentDatastoreListRequestBody contains the body for a datastore list request.
|
||||||
|
@ -30,11 +30,11 @@ type VirtualEnvironmentPoolGetResponseData struct {
|
|||||||
|
|
||||||
// VirtualEnvironmentPoolGetResponseMembers contains the members data from an pool get response.
|
// VirtualEnvironmentPoolGetResponseMembers contains the members data from an pool get response.
|
||||||
type VirtualEnvironmentPoolGetResponseMembers struct {
|
type VirtualEnvironmentPoolGetResponseMembers struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
Node string `json:"node"`
|
Node string `json:"node"`
|
||||||
Storage *string `json:"storage,omitempty"`
|
DatastoreID *string `json:"storage,omitempty"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
VirtualMachineID *int `json:"vmid"`
|
VMID *int `json:"vmid"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// VirtualEnvironmentPoolListResponseBody contains the body from an pool list response.
|
// VirtualEnvironmentPoolListResponseBody contains the body from an pool list response.
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestResourceVirtualEnvironmentFileInstantiation tests whether the ResourceVirtualEnvironmentFile instance can be instantiated.
|
// TestResourceVirtualEnvironmentFileInstantiation tests whether the ResourceVirtualEnvironmentFile instance can be instantiated.
|
||||||
@ -21,17 +23,34 @@ func TestResourceVirtualEnvironmentFileInstantiation(t *testing.T) {
|
|||||||
func TestResourceVirtualEnvironmentFileSchema(t *testing.T) {
|
func TestResourceVirtualEnvironmentFileSchema(t *testing.T) {
|
||||||
s := resourceVirtualEnvironmentFile()
|
s := resourceVirtualEnvironmentFile()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentFileDatastoreID,
|
||||||
|
mkResourceVirtualEnvironmentFileNodeName,
|
||||||
|
mkResourceVirtualEnvironmentFileSource,
|
||||||
|
mkResourceVirtualEnvironmentFileTemplate,
|
||||||
|
})
|
||||||
|
|
||||||
|
testOptionalArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentFileOverrideFileName,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
mkResourceVirtualEnvironmentFileFileName,
|
mkResourceVirtualEnvironmentFileFileName,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkResourceVirtualEnvironmentFileDatastoreID,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentFile.Schema: Missing attribute \"%s\"", v)
|
mkResourceVirtualEnvironmentFileFileName,
|
||||||
}
|
mkResourceVirtualEnvironmentFileOverrideFileName,
|
||||||
|
mkResourceVirtualEnvironmentFileNodeName,
|
||||||
if s.Schema[v].Computed != true {
|
mkResourceVirtualEnvironmentFileSource,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentFile.Schema: Attribute \"%s\" is not computed", v)
|
mkResourceVirtualEnvironmentFileTemplate,
|
||||||
}
|
}, []schema.ValueType{
|
||||||
}
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestResourceVirtualEnvironmentGroupInstantiation tests whether the ResourceVirtualEnvironmentGroup instance can be instantiated.
|
// TestResourceVirtualEnvironmentGroupInstantiation tests whether the ResourceVirtualEnvironmentGroup instance can be instantiated.
|
||||||
@ -21,17 +23,49 @@ func TestResourceVirtualEnvironmentGroupInstantiation(t *testing.T) {
|
|||||||
func TestResourceVirtualEnvironmentGroupSchema(t *testing.T) {
|
func TestResourceVirtualEnvironmentGroupSchema(t *testing.T) {
|
||||||
s := resourceVirtualEnvironmentGroup()
|
s := resourceVirtualEnvironmentGroup()
|
||||||
|
|
||||||
attributeKeys := []string{
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentGroupID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testOptionalArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentGroupACL,
|
||||||
|
mkResourceVirtualEnvironmentGroupComment,
|
||||||
|
})
|
||||||
|
|
||||||
|
testComputedAttributes(t, s, []string{
|
||||||
mkResourceVirtualEnvironmentGroupMembers,
|
mkResourceVirtualEnvironmentGroupMembers,
|
||||||
}
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkResourceVirtualEnvironmentGroupACL,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentGroup.Schema: Missing attribute \"%s\"", v)
|
mkResourceVirtualEnvironmentGroupComment,
|
||||||
}
|
mkResourceVirtualEnvironmentGroupID,
|
||||||
|
mkResourceVirtualEnvironmentGroupMembers,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeSet,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeSet,
|
||||||
|
})
|
||||||
|
|
||||||
if s.Schema[v].Computed != true {
|
aclSchema := testNestedSchemaExistence(t, s, mkResourceVirtualEnvironmentGroupACL)
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentGroup.Schema: Attribute \"%s\" is not computed", v)
|
|
||||||
}
|
testRequiredArguments(t, aclSchema, []string{
|
||||||
}
|
mkResourceVirtualEnvironmentGroupACLPath,
|
||||||
|
mkResourceVirtualEnvironmentGroupACLRoleID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testOptionalArguments(t, aclSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentGroupACLPropagate,
|
||||||
|
})
|
||||||
|
|
||||||
|
testSchemaValueTypes(t, aclSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentGroupACLPath,
|
||||||
|
mkResourceVirtualEnvironmentGroupACLPropagate,
|
||||||
|
mkResourceVirtualEnvironmentGroupACLRoleID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -12,14 +12,14 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
mkResourceVirtualEnvironmentPoolComment = "comment"
|
mkResourceVirtualEnvironmentPoolComment = "comment"
|
||||||
mkResourceVirtualEnvironmentPoolMembers = "members"
|
mkResourceVirtualEnvironmentPoolMembers = "members"
|
||||||
mkResourceVirtualEnvironmentPoolMembersID = "id"
|
mkResourceVirtualEnvironmentPoolMembersDatastoreID = "datastore_id"
|
||||||
mkResourceVirtualEnvironmentPoolMembersNode = "node"
|
mkResourceVirtualEnvironmentPoolMembersID = "id"
|
||||||
mkResourceVirtualEnvironmentPoolMembersStorage = "storage"
|
mkResourceVirtualEnvironmentPoolMembersNodeName = "node_name"
|
||||||
mkResourceVirtualEnvironmentPoolMembersType = "type"
|
mkResourceVirtualEnvironmentPoolMembersType = "type"
|
||||||
mkResourceVirtualEnvironmentPoolMembersVirtualMachineID = "virtual_machine_id"
|
mkResourceVirtualEnvironmentPoolMembersVMID = "vm_id"
|
||||||
mkResourceVirtualEnvironmentPoolPoolID = "pool_id"
|
mkResourceVirtualEnvironmentPoolPoolID = "pool_id"
|
||||||
)
|
)
|
||||||
|
|
||||||
func resourceVirtualEnvironmentPool() *schema.Resource {
|
func resourceVirtualEnvironmentPool() *schema.Resource {
|
||||||
@ -37,32 +37,30 @@ func resourceVirtualEnvironmentPool() *schema.Resource {
|
|||||||
Computed: true,
|
Computed: true,
|
||||||
Elem: &schema.Resource{
|
Elem: &schema.Resource{
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersDatastoreID: {
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Computed: true,
|
||||||
|
Description: "The datastore id",
|
||||||
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersID: {
|
mkResourceVirtualEnvironmentPoolMembersID: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The member id",
|
Description: "The member id",
|
||||||
},
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersNode: {
|
mkResourceVirtualEnvironmentPoolMembersNodeName: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The node id",
|
Description: "The node name",
|
||||||
},
|
|
||||||
mkResourceVirtualEnvironmentPoolMembersStorage: {
|
|
||||||
Type: schema.TypeString,
|
|
||||||
Optional: true,
|
|
||||||
Description: "The storage id",
|
|
||||||
Default: "",
|
|
||||||
},
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersType: {
|
mkResourceVirtualEnvironmentPoolMembersType: {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Required: true,
|
Computed: true,
|
||||||
Description: "The member type",
|
Description: "The member type",
|
||||||
},
|
},
|
||||||
mkResourceVirtualEnvironmentPoolMembersVirtualMachineID: {
|
mkResourceVirtualEnvironmentPoolMembersVMID: {
|
||||||
Type: schema.TypeInt,
|
Type: schema.TypeInt,
|
||||||
Optional: true,
|
Computed: true,
|
||||||
Description: "The virtual machine id",
|
Description: "The virtual machine id",
|
||||||
Default: 0,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -143,20 +141,20 @@ func resourceVirtualEnvironmentPoolRead(d *schema.ResourceData, m interface{}) e
|
|||||||
values := make(map[string]interface{})
|
values := make(map[string]interface{})
|
||||||
|
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersID] = v.ID
|
values[mkResourceVirtualEnvironmentPoolMembersID] = v.ID
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersNode] = v.Node
|
values[mkResourceVirtualEnvironmentPoolMembersNodeName] = v.Node
|
||||||
|
|
||||||
if v.Storage != nil {
|
if v.DatastoreID != nil {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersStorage] = v.Storage
|
values[mkResourceVirtualEnvironmentPoolMembersDatastoreID] = v.DatastoreID
|
||||||
} else {
|
} else {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersStorage] = ""
|
values[mkResourceVirtualEnvironmentPoolMembersDatastoreID] = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersType] = v.Type
|
values[mkResourceVirtualEnvironmentPoolMembersType] = v.Type
|
||||||
|
|
||||||
if v.VirtualMachineID != nil {
|
if v.VMID != nil {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersVirtualMachineID] = v.VirtualMachineID
|
values[mkResourceVirtualEnvironmentPoolMembersVMID] = v.VMID
|
||||||
} else {
|
} else {
|
||||||
values[mkResourceVirtualEnvironmentPoolMembersVirtualMachineID] = 0
|
values[mkResourceVirtualEnvironmentPoolMembersVMID] = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
members[i] = values
|
members[i] = values
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestResourceVirtualEnvironmentPoolInstantiation tests whether the ResourceVirtualEnvironmentPool instance can be instantiated.
|
// TestResourceVirtualEnvironmentPoolInstantiation tests whether the ResourceVirtualEnvironmentPool instance can be instantiated.
|
||||||
@ -21,15 +23,39 @@ func TestResourceVirtualEnvironmentPoolInstantiation(t *testing.T) {
|
|||||||
func TestResourceVirtualEnvironmentPoolSchema(t *testing.T) {
|
func TestResourceVirtualEnvironmentPoolSchema(t *testing.T) {
|
||||||
s := resourceVirtualEnvironmentPool()
|
s := resourceVirtualEnvironmentPool()
|
||||||
|
|
||||||
attributeKeys := []string{}
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentPoolPoolID,
|
||||||
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testOptionalArguments(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkResourceVirtualEnvironmentPoolComment,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentPool.Schema: Missing attribute \"%s\"", v)
|
})
|
||||||
}
|
|
||||||
|
|
||||||
if s.Schema[v].Computed != true {
|
testComputedAttributes(t, s, []string{
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentPool.Schema: Attribute \"%s\" is not computed", v)
|
mkResourceVirtualEnvironmentPoolMembers,
|
||||||
}
|
})
|
||||||
}
|
|
||||||
|
membersSchema := testNestedSchemaExistence(t, s, mkResourceVirtualEnvironmentPoolMembers)
|
||||||
|
|
||||||
|
testComputedAttributes(t, membersSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersDatastoreID,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersID,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersNodeName,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersType,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersVMID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testSchemaValueTypes(t, membersSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersDatastoreID,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersID,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersNodeName,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersType,
|
||||||
|
mkResourceVirtualEnvironmentPoolMembersVMID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeInt,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestResourceVirtualEnvironmentRoleInstantiation tests whether the ResourceVirtualEnvironmentRole instance can be instantiated.
|
// TestResourceVirtualEnvironmentRoleInstantiation tests whether the ResourceVirtualEnvironmentRole instance can be instantiated.
|
||||||
@ -21,15 +23,16 @@ func TestResourceVirtualEnvironmentRoleInstantiation(t *testing.T) {
|
|||||||
func TestResourceVirtualEnvironmentRoleSchema(t *testing.T) {
|
func TestResourceVirtualEnvironmentRoleSchema(t *testing.T) {
|
||||||
s := resourceVirtualEnvironmentRole()
|
s := resourceVirtualEnvironmentRole()
|
||||||
|
|
||||||
attributeKeys := []string{}
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentRolePrivileges,
|
||||||
|
mkResourceVirtualEnvironmentRoleRoleID,
|
||||||
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testSchemaValueTypes(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkResourceVirtualEnvironmentRolePrivileges,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentRole.Schema: Missing attribute \"%s\"", v)
|
mkResourceVirtualEnvironmentRoleRoleID,
|
||||||
}
|
}, []schema.ValueType{
|
||||||
|
schema.TypeSet,
|
||||||
if s.Schema[v].Computed != true {
|
schema.TypeString,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentRole.Schema: Attribute \"%s\" is not computed", v)
|
})
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,8 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestResourceVirtualEnvironmentUserInstantiation tests whether the ResourceVirtualEnvironmentUser instance can be instantiated.
|
// TestResourceVirtualEnvironmentUserInstantiation tests whether the ResourceVirtualEnvironmentUser instance can be instantiated.
|
||||||
@ -21,15 +23,67 @@ func TestResourceVirtualEnvironmentUserInstantiation(t *testing.T) {
|
|||||||
func TestResourceVirtualEnvironmentUserSchema(t *testing.T) {
|
func TestResourceVirtualEnvironmentUserSchema(t *testing.T) {
|
||||||
s := resourceVirtualEnvironmentUser()
|
s := resourceVirtualEnvironmentUser()
|
||||||
|
|
||||||
attributeKeys := []string{}
|
testRequiredArguments(t, s, []string{
|
||||||
|
mkResourceVirtualEnvironmentUserPassword,
|
||||||
|
mkResourceVirtualEnvironmentUserUserID,
|
||||||
|
})
|
||||||
|
|
||||||
for _, v := range attributeKeys {
|
testOptionalArguments(t, s, []string{
|
||||||
if s.Schema[v] == nil {
|
mkResourceVirtualEnvironmentUserACL,
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentUser.Schema: Missing attribute \"%s\"", v)
|
mkResourceVirtualEnvironmentUserComment,
|
||||||
}
|
mkResourceVirtualEnvironmentUserEmail,
|
||||||
|
mkResourceVirtualEnvironmentUserEnabled,
|
||||||
|
mkResourceVirtualEnvironmentUserExpirationDate,
|
||||||
|
mkResourceVirtualEnvironmentUserFirstName,
|
||||||
|
mkResourceVirtualEnvironmentUserGroups,
|
||||||
|
mkResourceVirtualEnvironmentUserKeys,
|
||||||
|
mkResourceVirtualEnvironmentUserLastName,
|
||||||
|
})
|
||||||
|
|
||||||
if s.Schema[v].Computed != true {
|
testSchemaValueTypes(t, s, []string{
|
||||||
t.Fatalf("Error in resourceVirtualEnvironmentUser.Schema: Attribute \"%s\" is not computed", v)
|
mkResourceVirtualEnvironmentUserACL,
|
||||||
}
|
mkResourceVirtualEnvironmentUserComment,
|
||||||
}
|
mkResourceVirtualEnvironmentUserEmail,
|
||||||
|
mkResourceVirtualEnvironmentUserEnabled,
|
||||||
|
mkResourceVirtualEnvironmentUserExpirationDate,
|
||||||
|
mkResourceVirtualEnvironmentUserFirstName,
|
||||||
|
mkResourceVirtualEnvironmentUserGroups,
|
||||||
|
mkResourceVirtualEnvironmentUserKeys,
|
||||||
|
mkResourceVirtualEnvironmentUserLastName,
|
||||||
|
mkResourceVirtualEnvironmentUserPassword,
|
||||||
|
mkResourceVirtualEnvironmentUserUserID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeSet,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeSet,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
|
|
||||||
|
aclSchema := testNestedSchemaExistence(t, s, mkResourceVirtualEnvironmentUserACL)
|
||||||
|
|
||||||
|
testRequiredArguments(t, aclSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentUserACLPath,
|
||||||
|
mkResourceVirtualEnvironmentUserACLRoleID,
|
||||||
|
})
|
||||||
|
|
||||||
|
testOptionalArguments(t, aclSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentUserACLPropagate,
|
||||||
|
})
|
||||||
|
|
||||||
|
testSchemaValueTypes(t, aclSchema, []string{
|
||||||
|
mkResourceVirtualEnvironmentUserACLPath,
|
||||||
|
mkResourceVirtualEnvironmentUserACLPropagate,
|
||||||
|
mkResourceVirtualEnvironmentUserACLRoleID,
|
||||||
|
}, []schema.ValueType{
|
||||||
|
schema.TypeString,
|
||||||
|
schema.TypeBool,
|
||||||
|
schema.TypeString,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
71
utils.go
Normal file
71
utils.go
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
func testComputedAttributes(t *testing.T, s *schema.Resource, keys []string) {
|
||||||
|
for _, v := range keys {
|
||||||
|
if s.Schema[v] == nil {
|
||||||
|
t.Fatalf("Error in Schema: Missing definition for \"%s\"", v)
|
||||||
|
}
|
||||||
|
|
||||||
|
if s.Schema[v].Computed != true {
|
||||||
|
t.Fatalf("Error in Schema: Attribute \"%s\" is not computed", v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func testNestedSchemaExistence(t *testing.T, s *schema.Resource, key string) *schema.Resource {
|
||||||
|
schema, ok := s.Schema[key].Elem.(*schema.Resource)
|
||||||
|
|
||||||
|
if !ok {
|
||||||
|
t.Fatalf("Error in Schema: Missing nested schema for \"%s\"", key)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return schema
|
||||||
|
}
|
||||||
|
|
||||||
|
func testOptionalArguments(t *testing.T, s *schema.Resource, keys []string) {
|
||||||
|
for _, v := range keys {
|
||||||
|
if s.Schema[v] == nil {
|
||||||
|
t.Fatalf("Error in Schema: Missing definition for \"%s\"", v)
|
||||||
|
}
|
||||||
|
|
||||||
|
if s.Schema[v].Optional != true {
|
||||||
|
t.Fatalf("Error in Schema: Argument \"%s\" is not optional", v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func testRequiredArguments(t *testing.T, s *schema.Resource, keys []string) {
|
||||||
|
for _, v := range keys {
|
||||||
|
if s.Schema[v] == nil {
|
||||||
|
t.Fatalf("Error in Schema: Missing definition for \"%s\"", v)
|
||||||
|
}
|
||||||
|
|
||||||
|
if s.Schema[v].Required != true {
|
||||||
|
t.Fatalf("Error in Schema: Argument \"%s\" is not required", v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func testSchemaValueTypes(t *testing.T, s *schema.Resource, keys []string, types []schema.ValueType) {
|
||||||
|
for i, v := range keys {
|
||||||
|
if s.Schema[v] == nil {
|
||||||
|
t.Fatalf("Error in Schema: Missing definition for \"%s\"", v)
|
||||||
|
}
|
||||||
|
|
||||||
|
if s.Schema[v].Type != types[i] {
|
||||||
|
t.Fatalf("Error in Schema: Argument \"%s\" is not of type \"%v\"", v, types[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user