mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-10 15:55:01 +00:00
Merge remote-tracking branch 'patsissons/add-citype-support' into release-0.4.0
This commit is contained in:
commit
4911843287
@ -60,6 +60,7 @@ const (
|
|||||||
dvResourceVirtualEnvironmentVMInitializationIPConfigIPv6Gateway = ""
|
dvResourceVirtualEnvironmentVMInitializationIPConfigIPv6Gateway = ""
|
||||||
dvResourceVirtualEnvironmentVMInitializationUserAccountPassword = ""
|
dvResourceVirtualEnvironmentVMInitializationUserAccountPassword = ""
|
||||||
dvResourceVirtualEnvironmentVMInitializationUserDataFileID = ""
|
dvResourceVirtualEnvironmentVMInitializationUserDataFileID = ""
|
||||||
|
dvResourceVirtualEnvironmentVMInitializationType = ""
|
||||||
dvResourceVirtualEnvironmentVMKeyboardLayout = "en-us"
|
dvResourceVirtualEnvironmentVMKeyboardLayout = "en-us"
|
||||||
dvResourceVirtualEnvironmentVMMemoryDedicated = 512
|
dvResourceVirtualEnvironmentVMMemoryDedicated = 512
|
||||||
dvResourceVirtualEnvironmentVMMemoryFloating = 0
|
dvResourceVirtualEnvironmentVMMemoryFloating = 0
|
||||||
@ -140,6 +141,7 @@ const (
|
|||||||
mkResourceVirtualEnvironmentVMInitializationIPConfigIPv6 = "ipv6"
|
mkResourceVirtualEnvironmentVMInitializationIPConfigIPv6 = "ipv6"
|
||||||
mkResourceVirtualEnvironmentVMInitializationIPConfigIPv6Address = "address"
|
mkResourceVirtualEnvironmentVMInitializationIPConfigIPv6Address = "address"
|
||||||
mkResourceVirtualEnvironmentVMInitializationIPConfigIPv6Gateway = "gateway"
|
mkResourceVirtualEnvironmentVMInitializationIPConfigIPv6Gateway = "gateway"
|
||||||
|
mkResourceVirtualEnvironmentVMInitializationType = "type"
|
||||||
mkResourceVirtualEnvironmentVMInitializationUserAccount = "user_account"
|
mkResourceVirtualEnvironmentVMInitializationUserAccount = "user_account"
|
||||||
mkResourceVirtualEnvironmentVMInitializationUserAccountKeys = "keys"
|
mkResourceVirtualEnvironmentVMInitializationUserAccountKeys = "keys"
|
||||||
mkResourceVirtualEnvironmentVMInitializationUserAccountPassword = "password"
|
mkResourceVirtualEnvironmentVMInitializationUserAccountPassword = "password"
|
||||||
@ -706,6 +708,14 @@ func resourceVirtualEnvironmentVM() *schema.Resource {
|
|||||||
Default: dvResourceVirtualEnvironmentVMInitializationUserDataFileID,
|
Default: dvResourceVirtualEnvironmentVMInitializationUserDataFileID,
|
||||||
ValidateFunc: getFileIDValidator(),
|
ValidateFunc: getFileIDValidator(),
|
||||||
},
|
},
|
||||||
|
mkResourceVirtualEnvironmentVMInitializationType: {
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Description: "The cloud-init configuration format",
|
||||||
|
Optional: true,
|
||||||
|
ForceNew: true,
|
||||||
|
Default: dvResourceVirtualEnvironmentVMInitializationType,
|
||||||
|
ValidateFunc: getCloudInitTypeValidator(),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
MaxItems: 1,
|
MaxItems: 1,
|
||||||
@ -2010,6 +2020,12 @@ func resourceVirtualEnvironmentVMGetCloudInitConfig(d *schema.ResourceData, m in
|
|||||||
UserVolume: &initializationUserDataFileID,
|
UserVolume: &initializationUserDataFileID,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initializationType := initializationBlock[mkResourceVirtualEnvironmentVMInitializationType].(string)
|
||||||
|
|
||||||
|
if initializationType != "" {
|
||||||
|
initializationConfig.Type = &initializationType
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return initializationConfig, nil
|
return initializationConfig, nil
|
||||||
@ -2706,6 +2722,12 @@ func resourceVirtualEnvironmentVMReadCustom(d *schema.ResourceData, m interface{
|
|||||||
initialization[mkResourceVirtualEnvironmentVMInitializationUserDataFileID] = ""
|
initialization[mkResourceVirtualEnvironmentVMInitializationUserDataFileID] = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if vmConfig.CloudInitType != nil {
|
||||||
|
initialization[mkResourceVirtualEnvironmentVMInitializationType] = *vmConfig.CloudInitType
|
||||||
|
} else if len(initialization) > 0 {
|
||||||
|
initialization[mkResourceVirtualEnvironmentVMInitializationType] = ""
|
||||||
|
}
|
||||||
|
|
||||||
currentInitialization := d.Get(mkResourceVirtualEnvironmentVMInitialization).([]interface{})
|
currentInitialization := d.Get(mkResourceVirtualEnvironmentVMInitialization).([]interface{})
|
||||||
|
|
||||||
if len(clone) > 0 {
|
if len(clone) > 0 {
|
||||||
|
@ -472,6 +472,13 @@ func parseDiskSize(size *string) (int, error) {
|
|||||||
return diskSize, err
|
return diskSize, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getCloudInitTypeValidator() schema.SchemaValidateFunc {
|
||||||
|
return validation.StringInSlice([]string{
|
||||||
|
"configdrive2",
|
||||||
|
"nocloud",
|
||||||
|
}, false)
|
||||||
|
}
|
||||||
|
|
||||||
func testComputedAttributes(t *testing.T, s *schema.Resource, keys []string) {
|
func testComputedAttributes(t *testing.T, s *schema.Resource, keys []string) {
|
||||||
for _, v := range keys {
|
for _, v := range keys {
|
||||||
if s.Schema[v] == nil {
|
if s.Schema[v] == nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user