def refresh_ip(self, si, logger, session, vcenter_data_model, resource_model, cancellation_context,
                   app_request_json):
        """
        Refreshes IP address of virtual machine and updates Address property on the resource

        :param vim.ServiceInstance si: py_vmomi service instance
        :param logger:
        :param vCenterShell.driver.SecureCloudShellApiSession session: cloudshell session
        :param GenericDeployedAppResourceModel resource_model: UUID of Virtual Machine
        :param VMwarevCenterResourceModel vcenter_data_model: the vcenter data model attributes
        :param cancellation_context:
        """
        self._do_not_run_on_static_vm(app_request_json=app_request_json)

        default_network = VMLocation.combine(
            [vcenter_data_model.default_datacenter, vcenter_data_model.holding_network])

        match_function = self.ip_manager.get_ip_match_function(
            self._get_ip_refresh_ip_regex(resource_model.vm_custom_params))

        timeout = self._get_ip_refresh_timeout(resource_model.vm_custom_params)

        vm = self.pyvmomi_service.find_by_uuid(si, resource_model.vm_uuid)

        ip_res = self.ip_manager.get_ip(vm, default_network, match_function, cancellation_context, timeout, logger)

        if ip_res.reason == IpReason.Timeout:
            raise ValueError('IP address of VM \'{0}\' could not be obtained during {1} seconds'
                             .format(resource_model.fullname, timeout))

        if ip_res.reason == IpReason.Success:
            self._update_resource_address_with_retry(session=session,
                                                     resource_name=resource_model.fullname,
                                                     ip_address=ip_res.ip_address)

            return ip_res.ip_address
def refresh_ip ( self , si , logger , session , vcenter_data_model , resource_model , cancellation_context , app_request_json ) : self . _do_not_run_on_static_vm ( app_request_json = app_request_json ) default_network = VMLocation . combine ( [ vcenter_data_model . default_datacenter , vcenter_data_model . holding_network ] ) match_function = self . ip_manager . get_ip_match_function ( self . _get_ip_refresh_ip_regex ( resource_model . vm_custom_params ) ) timeout = self . _get_ip_refresh_timeout ( resource_model . vm_custom_params ) vm = self . pyvmomi_service . find_by_uuid ( si , resource_model . vm_uuid ) ip_res = self . ip_manager . get_ip ( vm , default_network , match_function , cancellation_context , timeout , logger ) if ip_res . reason == IpReason . Timeout : raise ValueError ( 'IP address of VM \'{0}\' could not be obtained during {1} seconds' . format ( resource_model . fullname , timeout ) ) if ip_res . reason == IpReason . Success : self . _update_resource_address_with_retry ( session = session , resource_name = resource_model . fullname , ip_address = ip_res . ip_address ) return ip_res . ip_address
Refreshes IP address of virtual machine and updates Address property on the resource

        :param vim.ServiceInstance si: py_vmomi service instance
        :param logger:
        :param vCenterShell.driver.SecureCloudShellApiSession session: cloudshell session
        :param GenericDeployedAppResourceModel resource_model: UUID of Virtual Machine
        :param VMwarevCenterResourceModel vcenter_data_model: the vcenter data model attributes
        :param cancellation_context: