vmware.vmware_rest.vcenter_ovf_libraryitem 模块 – 从虚拟机或虚拟设备在内容库中创建库项目
注意
此模块是 vmware.vmware_rest 集合(版本 4.3.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install vmware.vmware_rest
。您需要进一步的要求才能使用此模块,有关详细信息,请参见 要求。
要在 playbook 中使用它,请指定:vmware.vmware_rest.vcenter_ovf_libraryitem
。
vmware.vmware_rest 2.0.0 中的新增功能
概要
从虚拟机或虚拟设备在内容库中创建库项目。
要求
执行此模块的主机需要以下要求。
vSphere 7.0.3 或更高版本
python >= 3.6
aiohttp
参数
参数 |
注释 |
---|---|
客户端生成的令牌,用于在客户端无法从服务器获得响应时重试请求。如果原始请求成功,将返回该请求的结果,否则将重试操作。 如果未设置,服务器将创建一个令牌。 |
|
用于从源虚拟机或虚拟设备创建 OVF 包的信息。当 state=[‘present’] 时为必需。 有效属性为
如果未设置,服务器将使用源的当前名称。([‘present’])
如果未设置,服务器将使用源的当前注释。([‘present’])
如果未设置,将不使用任何标志。([‘present’]) |
|
应如何将 OVF 包部署到目标的规范。当 state=[‘deploy’] 时为必需。 有效属性为
如果未设置,服务器将使用 OVF 包中的名称。([‘deploy’])
如果未设置,服务器将使用 OVF 包中的注释。([‘deploy’])
此键在 [‘deploy’] 中是必需的。
如果未设置,服务器将选择一个网络映射。 当客户端将此结构的 value 作为参数传递时,字段 map 中的 value 必须是 vmware.vmware_rest.vcenter_network_info 返回的资源的 ID。([‘deploy’])
如果未设置,服务器将选择一个存储映射。([‘deploy’])
如果未设置,服务器将选择默认配置文件。 当客户端将此结构的 value 作为参数传递时,字段必须是 vmware.vmware_rest.vcenter_storage_policies_info 返回的资源的 ID。([‘deploy’])
如果未设置,将使用服务器区域设置。([‘deploy’])
如果未设置,将不使用任何标志。([‘deploy’])
如果未设置,服务器将为 LibraryItem.deploy 操作所需的所有参数选择默认设置。请参见 LibraryItem.deploy。 当客户端将此结构的 value 作为参数传递时,字段必须包含 OvfParams 中定义的所有属性。([‘deploy’])
如果未设置,服务器将选择默认数据存储。 当客户端将此结构的 value 作为参数传递时,字段必须是 vmware.vmware_rest.vcenter_datastore_info 返回的资源的 ID。([‘deploy’])
如果未设置,将使用 OVF 模板的 OVF 描述符中的相关虚拟机规格。([‘deploy’])
此字段接受的值
此字段是可选的,仅当 provider 的值为 XML 时才相关。 |
|
包含要部署的 OVF 包的内容库项的标识符。 该参数必须是由 vmware.vmware_rest.content_library_item_info 返回的资源的 ID。state=['deploy', 'filter'] 时为必填项 |
|
客户端会话的超时设置。 整个操作(包括建立连接、发送请求和响应)的最大秒数。 默认值为 300 秒。 |
|
用作源的虚拟机或虚拟设备的标识符。state=['present'] 时为必填项 有效属性为
当客户端将此结构的某个值作为参数传递时,该字段必须是 VirtualMachine 或 VirtualApp 之一。([‘present’]) 此键在 [‘present’] 时为必填项。
当客户端将此结构的某个值作为参数传递时,该字段必须是以下资源类型之一的标识符:VirtualMachine 或 VirtualApp。([‘present’]) 此键在 [‘present’] 时为必填项。 |
|
选项
|
|
目标内容库和库项的规范。此参数是强制性的。 有效属性为
此字段当前是必需的。 将来,如果未设置,则必须指定 library_item_id 字段。 当客户端将此结构的某个值作为参数传递时,该字段必须是由 vmware.vmware_rest.content_library_info 返回的资源的 ID。([‘present’])
如果未设置,将创建一个新的库项。如果设置此字段,则必须指定 library_id 字段。 当客户端将此结构的某个值作为参数传递时,该字段必须是由 vmware.vmware_rest.content_library_item_info 返回的资源的 ID。([‘present’])
当客户端将此结构的某个值作为参数传递时,该字段必须是由 vmware.vmware_rest.vcenter_resourcepool_info 返回的资源的 ID。([‘deploy’, ‘filter’]) 此键在 [‘deploy’, ‘filter’] 时为必填项。
如果未设置,如果 resource_pool_id 是独立主机或启用了分布式资源调度 (DRS) 的集群,则服务器将自动从资源池中选择目标主机。 当客户端将此结构的某个值作为参数传递时,该字段必须是由 vmware.vmware_rest.vcenter_host_info 返回的资源的 ID。([‘deploy’, ‘filter’])
如果未设置,服务器将选择部署文件夹。 当客户端将此结构的某个值作为参数传递时,该字段必须是由 vmware.vmware_rest.vcenter_folder_info 返回的资源的 ID。([‘deploy’, ‘filter’]) |
|
vSphere vCenter 的主机名或 IP 地址 如果任务中未指定该值,则将改用环境变量 |
|
vSphere vCenter 密码 如果任务中未指定该值,则将改用环境变量 |
|
您可以使用此可选参数设置日志文件的位置。 此文件将用于记录 HTTP REST 交互。 该文件将存储在运行模块的主机上。 如果任务中未指定该值,则将使用 环境变量 |
|
vSphere vCenter 用户名 如果任务中未指定该值,则将改用环境变量 |
|
允许在 SSL 证书无效时进行连接。当证书不受信任时设置为 如果任务中未指定该值,则将改用环境变量 选项
|
注释
注意
已在 vSphere 7.0.3 上测试
示例
- name: Create a VM
vmware.vmware_rest.vcenter_vm:
placement:
cluster: "{{ lookup('vmware.vmware_rest.cluster_moid', '/my_dc/host/my_cluster') }}"
datastore: "{{ lookup('vmware.vmware_rest.datastore_moid', '/my_dc/datastore/rw_datastore') }}"
folder: "{{ lookup('vmware.vmware_rest.folder_moid', '/my_dc/vm') }}"
resource_pool: "{{ lookup('vmware.vmware_rest.resource_pool_moid', '/my_dc/host/my_cluster/Resources') }}"
name: test_vm1
guest_OS: RHEL_7_64
hardware_version: VMX_11
memory:
hot_add_enabled: true
size_MiB: 1024
register: my_vm
- name: Create a content library pointing on a NFS share
vmware.vmware_rest.content_locallibrary:
name: my_library_on_nfs
description: automated
publish_info:
published: true
authentication_method: NONE
storage_backings:
- storage_uri: nfs://datastore.test/srv/share/content-library
type: OTHER
state: present
register: nfs_lib
- name: Export the VM as an OVF on the library
vmware.vmware_rest.vcenter_ovf_libraryitem:
session_timeout: 2900
source:
type: VirtualMachine
id: '{{ my_vm.id }}'
target:
library_id: '{{ nfs_lib.id }}'
create_spec:
name: golden_image
description: an OVF example
flags: []
state: present
register: ovf_item
- name: Get the list of items of the NFS library
vmware.vmware_rest.content_library_item_info:
library_id: '{{ nfs_lib.id }}'
register: lib_items
- name: Create a new VM from the OVF
vmware.vmware_rest.vcenter_ovf_libraryitem:
ovf_library_item_id: '{{ (lib_items.value|selectattr("name", "equalto", "golden_image")|first).id }}'
state: deploy
target:
resource_pool_id: "{{ lookup('vmware.vmware_rest.resource_pool_moid', '/my_dc/host/my_cluster/Resources') }}"
deployment_spec:
name: my_vm_from_ovf
accept_all_EULA: true
storage_provisioning: thin
- name: Create a new VM from the OVF and specify the host and folder
vmware.vmware_rest.vcenter_ovf_libraryitem:
ovf_library_item_id: '{{ (lib_items.value|selectattr("name", "equalto", "golden_image")|first).id }}'
state: deploy
target:
resource_pool_id: "{{ lookup('vmware.vmware_rest.resource_pool_moid', '/my_dc/host/my_cluster/Resources') }}"
folder_id: "{{ lookup('vmware.vmware_rest.folder_moid', '/my_dc/vm') }}"
host_id: "{{ lookup('vmware.vmware_rest.host_moid', '/my_dc/host/my_cluster/esxi1.test/test_vm1') }}"
deployment_spec:
name: my_vm_from_ovf_on_a_host
accept_all_EULA: true
storage_provisioning: thin
返回值
此处记录了通用返回值:这里,以下是此模块特有的字段
键 |
描述 |
---|---|
从 OVF 创建新的虚拟机并指定主机和文件夹 返回: 成功时 示例: |