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

布尔值

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

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

选项

  • false

  • true

credentials

字典 / 必需

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

有效属性为

  • interactive_session (bool): 如果设置,操作将与客户机中已登录的桌面会话交互。这需要登录用户与凭据指定的用户名匹配。目前仅支持 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

字符串

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

parent_path

字符串

创建新目录的目录的完整路径。

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

path

字符串

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

prefix

字符串

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

recursive

布尔值

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

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

选项

  • false

  • true

session_timeout

浮点数

vmware.vmware_rest 2.1.0 中新增

客户端会话的超时设置。

整个操作(包括连接建立、请求发送和响应)的最大秒数。

默认值为 300 秒。

state

字符串

选项

  • "absent"

  • "create_temporary"

  • "move"

  • "present" ← (默认)

suffix

字符串

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

vcenter_hostname

字符串 / 必需

vSphere vCenter 的主机名或 IP 地址

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

vcenter_password

字符串 / 必需

vSphere vCenter 密码

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

vcenter_rest_log_file

字符串

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

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

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

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

环境变量 VMWARE_REST_LOG_FILE 的值。

vcenter_username

字符串 / 必需

vSphere vCenter 用户名

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

vcenter_validate_certs

布尔值

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

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

选项

  • false

  • true ← (默认)

虚拟机

字符串 / 必需

要对其执行操作的虚拟机。

此参数必须是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)