def update_role(self, service_name, deployment_name, role_name,<EOL>os_virtual_hard_disk=None, network_config=None,<EOL>availability_set_name=None, data_virtual_hard_disks=None,<EOL>role_size=None, role_type='<STR_LIT>',<EOL>resource_extension_references=None,<EOL>provision_guest_agent=None):
_validate_not_none('<STR_LIT>', service_name)<EOL>_validate_not_none('<STR_LIT>', deployment_name)<EOL>_validate_not_none('<STR_LIT>', role_name)<EOL>return self._perform_put(<EOL>self._get_role_path(service_name, deployment_name, role_name),<EOL>_XmlSerializer.update_role_to_xml(<EOL>role_name,<EOL>os_virtual_hard_disk,<EOL>role_type,<EOL>network_config,<EOL>availability_set_name,<EOL>data_virtual_hard_disks,<EOL>role_size,<EOL>resource_extension_references,<EOL>provision_guest_agent),<EOL>as_async=True)<EOL>
Updates the specified virtual machine.

service_name:
    The name of the service.
deployment_name:
    The name of the deployment.
role_name:
    The name of the role.
os_virtual_hard_disk:
    Contains the parameters Windows Azure uses to create the operating
    system disk for the virtual machine.
network_config:
    Encapsulates the metadata required to create the virtual network
    configuration for a virtual machine. If you do not include a
    network configuration set you will not be able to access the VM
    through VIPs over the internet. If your virtual machine belongs to
    a virtual network you can not specify which subnet address space
    it resides under.
availability_set_name:
    Specifies the name of an availability set to which to add the
    virtual machine. This value controls the virtual machine allocation
    in the Windows Azure environment. Virtual machines specified in the
    same availability set are allocated to different nodes to maximize
    availability.
data_virtual_hard_disks:
    Contains the parameters Windows Azure uses to create a data disk
    for a virtual machine.
role_size:
    The size of the virtual machine to allocate. The default value is
    Small. Possible values are: ExtraSmall, Small, Medium, Large,
    ExtraLarge. The specified value must be compatible with the disk
    selected in the OSVirtualHardDisk values.
role_type:
    The type of the role for the virtual machine. The only supported
    value is PersistentVMRole.
resource_extension_references:
    Optional. Contains a collection of resource extensions that are to
    be installed on the Virtual Machine. This element is used if
    provision_guest_agent is set to True.
provision_guest_agent:
    Optional. Indicates whether the VM Agent is installed on the
    Virtual Machine. To run a resource extension in a Virtual Machine,
    this service must be installed.