2.2. 유형


2.2.1. 유형 인스턴스 생성 및 수정

아래에 설명된 대로 유형의 인스턴스를 생성하거나 수정해도 변경 사항이 서버에 명시적으로 전송되지 않는 한 서버 측에 영향을 미치지 않습니다. 서버 측의 변경 사항은 이미 메모리에 존재하는 인스턴스에 자동으로 반영되지 않습니다.

이러한 클래스의 생성자에는 형식의 각 특성에 하나씩 여러 선택적 인수가 있습니다. 이렇게 하면 여러 생성자에 중첩된 호출을 사용하여 개체 생성이 간소화됩니다.

다음 예에서는 가상 머신 인스턴스가 생성되고 해당 속성(클러스터, 템플릿 및 메모리)이 설정됩니다.

특성을 사용하여 가상 머신 인스턴스 생성

vm = OvirtSDK4::Vm.new(
  name: 'myvm',
  cluster: OvirtSDK4::Cluster.new(
    name: 'mycluster'
  ),
  template: OvirtSDK4::Template.new(
    name: 'mytemplate'
  ),
  memory: 1073741824
)

이러한 생성자에 전달되는 해시(예: cluster: OvirtSDK4::Cluster.new)는 재귀적으로 처리됩니다.

다음 예제에서는 Cluster 및 Template 클래스의 생성자를 명시적으로 호출하는 대신 일반 해시가 사용됩니다. SDK는 내부적으로 해시를 필요한 클래스로 변환합니다.

Plain Hashes로 Express된 특성을 사용하여 가상 머신 인스턴스 생성

vm = OvirtSDK4::Vm.new(
  name: 'myvm',
  cluster: {
    name: 'mycluster'
  },
  template: {
    name: 'mytemplate'
  },
  memory: 1073741824
)

이러한 방식으로 생성자를 사용하는 것이 권장되지만 필수는 아닙니다.

다음 예제에서는 생성자 호출에서 인수 없이 가상 머신 인스턴스를 생성합니다. setECDHE을 사용하거나 setECDHE 및 constructors의 조합을 사용하여 가상 머신 인스턴스의 속성을 하나씩 추가할 수 있습니다.

가상 머신 인스턴스 생성 및 개별적으로 속성 추가

vm = OvirtSDK4::Vm.new
vm.name = 'myvm'
vm.cluster = OvirtSDK4::Cluster.new(name: 'mycluster')
vm.template = OvirtSDK4::Template.new(name: 'mytemplate')
vm.memory = 1073741824

API 사양에서 오브젝트 목록으로 정의된 특성은 Ruby 배열로 구현됩니다. 예를 들어 Vm 유형의 custom_properties 속성은 CustomProperty 유형의 오브젝트 목록으로 정의됩니다.

속성 목록을 배열로 추가

vm = OvirtSDK4::Vm.new(
  name: 'myvm',
  custom_properties: [
    OvirtSDK4::CustomProperty.new(...),
    OvirtSDK4::CustomProperty.new(...),
    ...
  ]
)

API에서 열거된 값으로 정의된 속성은 열거된 형식과 동일한 이름을 가진 모듈의 상수로 구현됩니다.

다음 예제에서는 VmStatus enumerated 값을 사용하여 Vm type의 status 특성을 정의하는 방법을 보여줍니다.

case vm.status
when OvirtSDK4::VmStatus::DOWN
  ...
when OvirtSDK4::VmStatus::IMAGE_LOCKED
  ...
end
중요

API 사양에서 XML 및 JSON에 대한 규칙이므로ECDHE 유형의 값이 소문자입니다. 그러나 Ruby에서 규칙은 이러한 상수에 대문자 를 사용하는 것입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.