2.6.3. 추가 방법 사용


이러한 서비스 메서드는 컬렉션에 새 요소를 추가합니다. 추가할 오브젝트를 설명하는 관련 유형의 인스턴스를 수신하고, 추가할 요청을 보내고, 추가된 오브젝트를 설명하는 유형의 인스턴스를 반환합니다.

이 예제에서는 vm1 이라는 새 가상 머신을 추가합니다.

from ovirtsdk4 import types

# Add the virtual machine:
vm = vms_service.add(
    vm=types.Vm(
        name='vm1',
        cluster=types.Cluster(
            name='Default'
        ),
        template=types.Template(
            name='mytemplate'
        )
    )
)

어떤 이유로든 오브젝트를 생성할 수 없는 경우 SDK는 실패 세부 정보가 포함된 ovirtsdk4.Error 예외를 발생시킵니다. 아무 것도 반환하지 않습니다.

중요

add 메서드에서 반환된 Python 오브젝트는 관련 유형의 인스턴스입니다. 이는 서비스가 아니라 데이터 컨테이너입니다. 이 특정 예제에서 반환된 오브젝트는 ovirtsdk4.types.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()

개체는 비동기적으로 생성됩니다.Objects are created asynchronously. 새 가상 머신을 생성할 때 추가 방법은 가상 머신을 완전히 생성하고 사용할 준비가 되기 전에 응답을 반환합니다. 오브젝트 상태를 폴링하여 완전히 생성되었는지 확인하는 것이 좋습니다. 가상 머신의 경우 해당 상태가 DOWN 이 될 때까지 확인해야 합니다.

# 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 it is
# completely created:
while True:
    time.sleep(5)
    vm = vm_service.get()
    if vm.status == types.VmStatus.DOWN:
        break

반복문을 사용하여 get 메서드와 함께 오브젝트 상태를 검색하여 status 속성이 업데이트되었는지 확인합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.