Adding os_disk_size_gb parameter to Virtual Machine (#43316)
* added os disk size gb * fixed mistake * added os_disk_size_gb to test * fixed test * no default for disk size
This commit is contained in:
parent
6ef9c2d7b7
commit
9788951789
2 changed files with 17 additions and 0 deletions
|
@ -153,6 +153,10 @@ options:
|
||||||
default: ReadOnly
|
default: ReadOnly
|
||||||
aliases:
|
aliases:
|
||||||
- disk_caching
|
- disk_caching
|
||||||
|
os_disk_size_gb:
|
||||||
|
description:
|
||||||
|
- Type of OS disk size in GB.
|
||||||
|
version_added: "2.7"
|
||||||
os_type:
|
os_type:
|
||||||
description:
|
description:
|
||||||
- Base type of operating system.
|
- Base type of operating system.
|
||||||
|
@ -659,6 +663,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
|
||||||
storage_blob_name=dict(type='str', aliases=['storage_blob']),
|
storage_blob_name=dict(type='str', aliases=['storage_blob']),
|
||||||
os_disk_caching=dict(type='str', aliases=['disk_caching'], choices=['ReadOnly', 'ReadWrite'],
|
os_disk_caching=dict(type='str', aliases=['disk_caching'], choices=['ReadOnly', 'ReadWrite'],
|
||||||
default='ReadOnly'),
|
default='ReadOnly'),
|
||||||
|
os_disk_size_gb=dict(type='int'),
|
||||||
managed_disk_type=dict(type='str', choices=['Standard_LRS', 'Premium_LRS']),
|
managed_disk_type=dict(type='str', choices=['Standard_LRS', 'Premium_LRS']),
|
||||||
os_type=dict(type='str', choices=['Linux', 'Windows'], default='Linux'),
|
os_type=dict(type='str', choices=['Linux', 'Windows'], default='Linux'),
|
||||||
public_ip_allocation_method=dict(type='str', choices=['Dynamic', 'Static', 'Disabled'], default='Static',
|
public_ip_allocation_method=dict(type='str', choices=['Dynamic', 'Static', 'Disabled'], default='Static',
|
||||||
|
@ -694,6 +699,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
|
||||||
self.storage_blob_name = None
|
self.storage_blob_name = None
|
||||||
self.os_type = None
|
self.os_type = None
|
||||||
self.os_disk_caching = None
|
self.os_disk_caching = None
|
||||||
|
self.os_disk_size_gb = None
|
||||||
self.managed_disk_type = None
|
self.managed_disk_type = None
|
||||||
self.network_interface_names = None
|
self.network_interface_names = None
|
||||||
self.remove_on_absent = set()
|
self.remove_on_absent = set()
|
||||||
|
@ -845,6 +851,13 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
|
||||||
changed = True
|
changed = True
|
||||||
vm_dict['properties']['storageProfile']['osDisk']['caching'] = self.os_disk_caching
|
vm_dict['properties']['storageProfile']['osDisk']['caching'] = self.os_disk_caching
|
||||||
|
|
||||||
|
if self.os_disk_size_gb and \
|
||||||
|
self.os_disk_size_gb != vm_dict['properties']['storageProfile']['osDisk']['diskSizeGB']:
|
||||||
|
self.log('CHANGED: virtual machine {0} - OS disk size '.format(self.name))
|
||||||
|
differences.append('OS Disk size')
|
||||||
|
changed = True
|
||||||
|
vm_dict['properties']['storageProfile']['osDisk']['diskSizeGB'] = self.os_disk_size_gb
|
||||||
|
|
||||||
update_tags, vm_dict['tags'] = self.update_tags(vm_dict.get('tags', dict()))
|
update_tags, vm_dict['tags'] = self.update_tags(vm_dict.get('tags', dict()))
|
||||||
if update_tags:
|
if update_tags:
|
||||||
differences.append('Tags')
|
differences.append('Tags')
|
||||||
|
@ -980,6 +993,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
|
||||||
managed_disk=managed_disk,
|
managed_disk=managed_disk,
|
||||||
create_option=self.compute_models.DiskCreateOptionTypes.from_image,
|
create_option=self.compute_models.DiskCreateOptionTypes.from_image,
|
||||||
caching=self.os_disk_caching,
|
caching=self.os_disk_caching,
|
||||||
|
disk_size_gb=self.os_disk_size_gb
|
||||||
),
|
),
|
||||||
image_reference=image_reference,
|
image_reference=image_reference,
|
||||||
),
|
),
|
||||||
|
@ -1110,6 +1124,7 @@ class AzureRMVirtualMachine(AzureRMModuleBase):
|
||||||
create_option=vm_dict['properties']['storageProfile']['osDisk']['createOption'],
|
create_option=vm_dict['properties']['storageProfile']['osDisk']['createOption'],
|
||||||
os_type=vm_dict['properties']['storageProfile']['osDisk']['osType'],
|
os_type=vm_dict['properties']['storageProfile']['osDisk']['osType'],
|
||||||
caching=vm_dict['properties']['storageProfile']['osDisk']['caching'],
|
caching=vm_dict['properties']['storageProfile']['osDisk']['caching'],
|
||||||
|
disk_size_gb=vm_dict['properties']['storageProfile']['osDisk']['diskSizeGB']
|
||||||
),
|
),
|
||||||
image_reference=self.compute_models.ImageReference(
|
image_reference=self.compute_models.ImageReference(
|
||||||
publisher=vm_dict['properties']['storageProfile']['imageReference']['publisher'],
|
publisher=vm_dict['properties']['storageProfile']['imageReference']['publisher'],
|
||||||
|
|
|
@ -299,6 +299,7 @@
|
||||||
admin_password: Password123!
|
admin_password: Password123!
|
||||||
short_hostname: testvm
|
short_hostname: testvm
|
||||||
os_type: Linux
|
os_type: Linux
|
||||||
|
os_disk_size_gb: 64
|
||||||
network_interfaces: "{{ niclist }}"
|
network_interfaces: "{{ niclist }}"
|
||||||
availability_set: "avbs{{ resource_group | hash('md5') | truncate(7, True, '') }}"
|
availability_set: "avbs{{ resource_group | hash('md5') | truncate(7, True, '') }}"
|
||||||
image:
|
image:
|
||||||
|
@ -341,6 +342,7 @@
|
||||||
admin_password: Password123!
|
admin_password: Password123!
|
||||||
short_hostname: testvm
|
short_hostname: testvm
|
||||||
os_type: Linux
|
os_type: Linux
|
||||||
|
os_disk_size_gb: 64
|
||||||
network_interfaces: "{{ niclist }}"
|
network_interfaces: "{{ niclist }}"
|
||||||
availability_set: "avbs{{ resource_group | hash('md5') | truncate(7, True, '') }}"
|
availability_set: "avbs{{ resource_group | hash('md5') | truncate(7, True, '') }}"
|
||||||
image:
|
image:
|
||||||
|
|
Loading…
Reference in a new issue