vmware.vmware_rest.vcenter_vm_guest_filesystem_directories 模块 – 在客户机操作系统中创建目录

注意

此模块是 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_vm_guest_filesystem_directories

vmware.vmware_rest 2.0.0 中的新增功能

概要

  • 在客户机操作系统中创建目录。

要求

执行此模块的主机上需要以下要求。

  • vSphere 7.0.3 或更高版本

  • python >= 3.6

  • aiohttp

参数

参数

注释

create_parents

boolean

是否应创建任何父目录。如果发生任何故障,可能会留下一些父目录。

如果未设置,则不会创建父目录。

选择

  • false

  • true

credentials

字典 / 必需

客户机身份验证数据。此参数是必需的。

有效的属性是

  • interactive_session (bool):如果设置,则该操作将与客户机中已登录的桌面会话进行交互。这要求已登录的用户与 Credentials 指定的用户匹配。当前仅支持 USERNAME_PASSWORD。([‘absent’, ‘create_temporary’, ‘move’, ‘present’])

此键对于 [‘absent’, ‘create_temporary’, ‘move’, ‘present’] 是必需的。

  • type (str):客户机凭据的类型 ([‘absent’, ‘create_temporary’, ‘move’, ‘present’])

此键对于 [‘absent’, ‘create_temporary’, ‘move’, ‘present’] 是必需的。

  • 接受的值

  • SAML_BEARER_TOKEN

  • USERNAME_PASSWORD

  • user_name (str):对于 SAML_BEARER_TOKEN,这是要与凭据关联的客户机用户。对于 USERNAME_PASSWORD,这是客户机用户名。

如果未为 SAML_BEARER_TOKEN 指定用户,则客户机相关的映射将决定应用哪个客户机用户帐户。([‘absent’, ‘create_temporary’, ‘move’, ‘present’])

  • password (str):密码

此字段是可选的,仅当 Credentials.type 的值为 USERNAME_PASSWORD 时才相关。([‘absent’, ‘create_temporary’, ‘move’, ‘present’])

  • saml_token (str):SAML 持有者令牌

此字段是可选的,仅当 Credentials.type 的值为 SAML_BEARER_TOKEN 时才相关。([‘absent’, ‘create_temporary’, ‘move’, ‘present’])

new_path

string

目录移动到的完整路径或其新名称。它不能是现有目录或现有文件的路径。当 state=['move'] 时必需

parent_path

string

要在其中创建新目录的目录的完整路径。

目录 如果未设置,将使用特定于客户机的默认值。

path

string

要创建的目录的完整路径。当 state=['absent', 'move', 'present'] 时必需

prefix

string

要赋予新临时目录的前缀。当 state=['create_temporary'] 时必需

recursive

boolean

如果为 true,则还会删除所有文件和子目录。如果为 false,则目录必须为空,操作才能成功。

如果未设置,则不会删除任何目录内容。

选择

  • false

  • true

session_timeout

float

在 vmware.vmware_rest 2.1.0 中添加

客户端会话的超时设置。

包括连接建立、请求发送和响应在内的整个操作的最长时间(以秒为单位)。

默认值为 300 秒。

state

string

选择

  • "absent"

  • "create_temporary"

  • "move"

  • "present" ← (默认)

suffix

string

要赋予新临时目录的后缀。当 state=['create_temporary'] 时必需

vcenter_hostname

string / 必需

vSphere vCenter 的主机名或 IP 地址

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

vcenter_password

string / 必需

vSphere vCenter 密码

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

vcenter_rest_log_file

string

您可以使用此可选参数来设置日志文件的位置。

此文件将用于记录 HTTP REST 交互。

该文件将存储在运行模块的主机上。

如果任务中未指定该值,则将使用

环境变量 VMWARE_REST_LOG_FILE 的值。

vcenter_username

string / 必需

vSphere vCenter 用户名

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

vcenter_validate_certs

boolean

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

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

选择

  • false

  • true ← (默认)

vm

string / 必需

执行操作的虚拟机。

该参数必须是由 vmware.vmware_rest.vcenter_vm_info 返回的资源的 ID。此参数为必填项。

注意事项

注意

  • 在 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/local') }}"
      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
    disks:
    - type: SATA
      backing:
        type: VMDK_FILE
        vmdk_file: '[local] test_vm1/{{ disk_name }}.vmdk'
    - type: SATA
      new_vmdk:
        name: second_disk
        capacity: 32000000000
    cdroms:
    - type: SATA
      sata:
        bus: 0
        unit: 2
    nics:
    - backing:
        type: STANDARD_PORTGROUP
        network: "{{ lookup('vmware.vmware_rest.network_moid', '/my_dc/network/VM Network') }}"
  register: my_vm

- name: Create a directory in /tmp
  vmware.vmware_rest.vcenter_vm_guest_filesystem_directories:
    vm: '{{ my_vm.id }}'
    path: /tmp/my/path
    create_parents: true
    credentials:
      interactive_session: false
      type: USERNAME_PASSWORD
      user_name: root
      password: root

作者

  • Ansible 云团队 (@ansible-collections)