2.3.2.4. update
메서드를 업데이트하여
기존 오브젝트를 업데이트합니다. 수행할 업데이트를 설명하고, 업데이트를 위해 요청을 보내고, 업데이트된 오브젝트를 설명하는 유형의 인스턴스를 반환합니다.
이 업데이트 방법에서 반환된 Ruby 오브젝트는 관련 유형의 인스턴스입니다. 이는 서비스가 아니며 데이터의 컨테이너일 뿐입니다. 이 특정 예에서 반환된 오브젝트는 Vm 클래스의 인스턴스입니다.
다음 예에서 서비스 로케이터
메서드는 가상 머신을 관리하는 서비스를 찾고 업데이트
방법은 해당 이름을 업데이트합니다.
가상 머신 이름 업데이트
# Find the virtual machine and the service that # manages it: vm = vms_service.list(search: 'name=myvm').first vm_service = vms_service.vm_service(vm.id) # Update the name: updated_vm = vms_service.update( OvirtSDK4::Vm.new( name: 'newvm' ) )
오브젝트를 업데이트할 때 업데이트하려는 속성만 업데이트합니다.
가상 머신의 선택한 속성 업데이트(권장)
vm = vm_service.get vm.name = 'newvm'
전체 오브젝트를 업데이트하지 마십시오.
가상 머신의 모든 속성 업데이트(권장 없음)
# Retrieve the current representation: vms_service.update(vm)
가상 머신의 모든 속성을 업데이트하면 리소스가 낭비되며 서버 측에서 예기치 않은 버그가 발생할 수 있습니다.
일부 서비스의 업데이트 방법은 업데이트
방법이나 업데이트를 제어하는 데 사용할 수 있는 추가 매개 변수를 지원합니다. 예를 들어 현재 상태가 아닌 가상 머신의 메모리를 업데이트할 수 있지만 다음에 시작할 수 있습니다. 가상 머신을 관리하는 서비스의 업데이트
방법은 next_run 부울 매개 변수를 지원합니다.
다음 실행 시 가상 머신의 메모리 업데이트
vm = vm_service.update( OvirtSDK4::Vm.new( memory: 1073741824 ), next_run: true )
업데이트를 수행할 수 없는 경우 SDK는 오류 세부 정보가 포함된 Error 예외를 발생시킵니다. nil
을 반환하지 않습니다.