2.3.5. add


메서드를 추가하려면 컬렉션에 새 요소를 추가합니다. 추가할 오브젝트를 설명하는 관련 유형의 인스턴스를 수신하며, 추가할 요청을 보낸 다음 추가된 오브젝트를 설명하는 유형의 인스턴스를 반환합니다.

새 가상 머신 추가

# Add the virtual machine:
vm = vms_service.add(
  OvirtSDK4::Vm.new(
    name: 'myvm',
    cluster: {
      name: 'mycluster'
    },
    template: {
      name: 'mytemplate'
    }
  )
)

중요

add 메서드에서 반환한 Ruby 오브젝트는 관련 유형의 인스턴스입니다. 이는 서비스가 아니라 데이터 컨테이너일 뿐입니다. 위의 예에서 반환된 오브젝트는 Vm 클래스의 인스턴스입니다.

방금 추가한 가상 머신에서 작업을 수행해야 하는 경우 이를 관리하는 서비스를 찾아서 서비스 로케이터를 호출해야 합니다.

새 가상 머신 시작

# Add the virtual machine:
vm = vms_service.add(
  ...
)

# Find the service that manages the virtual machine:
vm_service = vms_service.vm_service(vm.id)

# Start the virtual machine:
vm_service.start

대부분의 오브젝트 생성은 비동기 작업입니다. 예를 들어, 새 가상 머신을 생성하는 경우 가상 머신을 완전히 생성하고 사용할 준비가 되기 전에 add 메서드에서 가상 머신을 반환합니다. 완전히 생성될 때까지 오브젝트의 상태를 폴링해야 합니다. 가상 머신의 경우 상태가 DOWN 이 될 때까지 확인합니다.

권장되는 접근 방식은 가상 머신을 생성하고, 새 가상 머신을 관리하는 서비스를 찾고, 모든 디스크가 생성되었음을 나타내는 가상 머신 상태가 DOWN 이 될 때까지 상태를 반복적으로 검색하는 것입니다.

가상 머신 추가, Locating its Service, Retrieving Its Status

# Add the virtual machine:
vm = vms_service.add(
  ...
)

# Find the service that manages the virtual machine:
vm_service = vms_service.vm_service(vm.id)

# Wait until the virtual machine is DOWN, indicating that all the
# disks have been created:
loop do
  sleep(5)
  vm = vm_service.get
  break if vm.status == OvirtSDK4::VmStatus::DOWN
end

개체를 만들 수 없는 경우 SDK는 오류에 대한 세부 정보가 포함된 Error 예외가 발생합니다. nil 을 반환하지 않습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.