community.vmware.vsphere_copy 模块 – 将文件复制到 VMware 数据存储

注意

此模块是 community.vmware 集合(版本 5.2.0)的一部分。

如果您正在使用 ansible 包,则您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.vmware

要在 playbook 中使用它,请指定:community.vmware.vsphere_copy

概要

  • 通过 vCenter REST API 将文件上传到 VMware 数据存储。

参数

参数

注释

数据中心

字符串

vCenter 服务器上保存数据存储的数据中心。

数据存储

字符串 / 必需

要将文件推送到的数据存储。

磁盘格式

字符串

在 community.vmware 4.2.0 中添加

可选参数 - 为某些上传设置磁盘格式,例如流优化的 VMDK

没有官方文档,但看起来需要为上传到 vSAN 存储的流优化 VMDK 设置 StreamVmdk

为非 VMDK 文件设置此项可能会导致未定义的行为,并且不受支持。

选择

  • "StreamVmdk"

主机名

字符串

vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。

如果任务中未指定该值,则将改用环境变量 VMWARE_HOST 的值。

password

别名:pass,pwd

字符串

vSphere vCenter 或 ESXi 服务器的密码。

如果任务中未指定该值,则将改用环境变量 VMWARE_PASSWORD 的值。

path

别名:dest

字符串 / 必需

要推送到数据存储的文件。

端口

整数

vSphere vCenter 或 ESXi 服务器的端口号。

如果任务中未指定该值,则将改用环境变量 VMWARE_PORT 的值。

默认值: 443

proxy_host

字符串

将接收所有 HTTPS 请求并中继它们的代理的地址。

格式为主机名或 IP。

如果任务中未指定该值,则将改用环境变量 VMWARE_PROXY_HOST 的值。

proxy_port

整数

将接收所有 HTTPS 请求并中继它们的 HTTP 代理的端口。

如果任务中未指定该值,则将改用环境变量 VMWARE_PROXY_PORT 的值。

src

别名:name

字符串 / 必需

要推送到 vCenter 的文件。

超时

整数

上传到数据存储的超时时间(以秒为单位)。

默认值: 10

username

别名:admin, user

字符串

vSphere vCenter 或 ESXi 服务器的用户名。

如果任务中未指定该值,则将改用环境变量 VMWARE_USER 的值。

validate_certs

布尔值

当 SSL 证书无效时允许连接。当证书不受信任时,设置为 false

如果任务中未指定该值,则将改用环境变量 VMWARE_VALIDATE_CERTS 的值。

选择

  • false

  • true ← (默认)

备注

注意

  • 此模块应该从可以直接访问 vCenter 或 ESXi 并且具有要传输的文件的系统运行。它可以是正常的远程目标,或者您可以通过使用 transport: local 或使用 delegate_to 来更改它。

  • 所有模块都需要 API 写入权限,因此在免费的 ESXi 许可证上不受支持。

  • 所有变量和 VMware 对象名称都区分大小写。

示例

- name: Copy file to datastore using delegate_to
  community.vmware.vsphere_copy:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    src: /some/local/file
    datacenter: DC1 Someplace
    datastore: datastore1
    path: some/remote/file
  delegate_to: localhost

- name: Copy file to datastore when datacenter is inside folder called devel
  community.vmware.vsphere_copy:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    src: /some/local/file
    datacenter: devel/DC1
    datastore: datastore1
    path: some/remote/file
  delegate_to: localhost

- name: Copy file to datastore using other_system
  community.vmware.vsphere_copy:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    src: /other/local/file
    datacenter: DC2 Someplace
    datastore: datastore2
    path: other/remote/file
  delegate_to: other_system

- name: Copy file to datastore using other_system
  community.vmware.vsphere_copy:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    src: /other/local/streamOptimized.vmdk
    datacenter: DC2 Someplace
    datastore: datastore2
    path: disk_imports/streamOptimized.vmdk
    timeout: 360
    diskformat: StreamVmdk
  delegate_to: other_system

作者

  • Dag Wieers (@dagwieers)