dellemc.unity.smbshare 模块 – 管理 Unity 存储系统上的 SMB 共享

注意

此模块是 dellemc.unity 集合 (版本 2.0.0) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install dellemc.unity。您需要其他要求才能使用此模块,请参阅 需求 获取详细信息。

要在 playbook 中使用它,请指定: dellemc.unity.smbshare

dellemc.unity 1.1.0 中的新增功能

概要

  • 管理 Unity 存储系统上的 SMB 共享包括创建、获取、修改和删除 SMB 共享。

需求

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

  • Dell Unity 存储设备版本 5.1 或更高版本。

  • Ansible-core 2.14 或更高版本。

  • Python 3.9、3.10 或 3.11。

  • Storops Python SDK 1.2.11。

参数

参数

注释

description

字符串

SMB 共享的描述。

创建共享时的可选参数。

要修改,请在 description 字段中传递新值。

filesystem_id

字符串

文件系统的 ID。

创建 SMB 共享以用于文件系统时,需要filesystem_namefilesystem_id 之一。

如果指定了filesystem_name,则需要nas_server_name/nas_server_id 来唯一标识文件系统。

选项filesystem_namefilesystem_id 是互斥参数。

filesystem_name

字符串

文件系统的名称。

创建 SMB 共享以用于文件系统时,需要filesystem_namefilesystem_id 之一。

如果指定了filesystem_name,则需要nas_server_name/nas_server_id 来唯一标识文件系统。

选项filesystem_namefilesytem_id 是互斥参数。

is_abe_enabled

布尔值

指示 SMB 共享的基于访问的枚举 (ABE) 是否启用。

创建期间,如果未提及,则默认为 false

选项

  • false

  • true

is_branch_cache_enabled

布尔值

指示 SMB 共享的 Branch Cache 优化是否启用。

创建期间,如果未提及,则默认为 false

选项

  • false

  • true

is_continuous_availability_enabled

布尔值

指示是否启用了 SMB 3.0 的持续可用性。

创建期间,如果未提及,则默认为 false

选项

  • false

  • true

is_encryption_enabled

布尔值

指示在共享文件夹级别是否启用了 SMB 3.0 的加密。

创建期间,如果未提及,则默认为 false

选项

  • false

  • true

nas_server_id

字符串

NAS 服务器的 ID。

如果使用了share_id,则不需要此参数。

nas_server_name

字符串

NAS 服务器的名称。

如果使用了share_id,则不需要此参数。

选项nas_server_namenas_server_id 是互斥参数。

offline_availability

字符串

定义脱机可用性的有效状态。

MANUAL - 只有指定的文档才可在脱机状态下使用。

DOCUMENTS - 用户打开的所有文档都可在脱机状态下使用。

PROGRAMS - 即使连接到网络,程序也优先从脱机缓存运行。用户打开的所有文档都可在脱机状态下使用。

NONE - 阻止客户端在脱机缓存中存储文档和程序。

选项

  • "MANUAL"

  • "DOCUMENTS"

  • "PROGRAMS"

  • "NONE"

password

字符串 / 必需

Unity 管理服务器的密码。

path

字符串

文件系统/快照或文件系统/快照的任何现有子文件夹的本地路径,通过网络共享。

路径相对于文件系统的根目录。

创建 SMB 共享时必需。

port

整数

与 Unity 管理服务器进行通信的端口号。

默认值: 443

share_id

字符串

SMB 共享的 ID。

创建期间不应指定。ID 自动生成。

对于所有其他操作,都需要share_nameshare_id

如果使用share_id,则无需传递 nas_server/filesystem/snapshot/path。

share_name

字符串

SMB 共享的名称。

创建 SMB 共享时必需。

对于所有其他操作,都需要share_nameshare_id

snapshot_id

字符串

文件系统快照的 ID。

创建 SMB 共享以用于快照时,需要snapshot_namesnapshot_id 之一。

如果指定了snapshot_name,则需要nas_server_name/nas_server_id 来唯一标识快照。

选项snapshot_namesnapshot_id 是互斥参数。

snapshot_name

字符串

文件系统快照的名称。

创建 SMB 共享以用于快照时,需要snapshot_namesnapshot_id 之一。

如果指定了snapshot_name,则需要nas_server_name/nas_server_id 来唯一标识快照。

选项snapshot_namesnapshot_id 是互斥参数。

state

字符串 / 必需

定义 SMB 共享是否存在。

present 表示共享应存在于系统上。

absent 表示共享不应存在于系统上。

选项

  • "absent"

  • "present"

umask

字符串

在SMB共享上创建的新文件的默认UNIX umask。

unispherehost

字符串 / 必需

Unity管理服务器的IP地址或FQDN。

username

字符串 / 必需

Unity管理服务器的用户名。

validate_certs

别名:verifycert

布尔值

布尔变量,用于指定是否验证SSL证书。

true - 表示应验证SSL证书。

false - 表示不应验证SSL证书。

选项

  • false

  • true ← (默认)

备注

注意

  • 如果传递了文件系统/快照的ID/名称,则不需要nas_server。如果传递了,则文件系统/快照应存在于提到的nas_server中,否则任务将失败。

  • 不支持check_mode

  • 此集合中名为“dellemc.unity”的模块旨在支持Dell Unity存储平台。

示例

- name: Create SMB share for a filesystem
  dellemc.unity.smbshare:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    share_name: "sample_smb_share"
    filesystem_name: "sample_fs"
    nas_server_id: "NAS_11"
    path: "/sample_fs"
    description: "Sample SMB share created"
    is_abe_enabled: true
    is_branch_cache_enabled: true
    offline_availability: "DOCUMENTS"
    is_continuous_availability_enabled: true
    is_encryption_enabled: true
    umask: "777"
    state: "present"
- name: Modify Attributes of SMB share for a filesystem
  dellemc.unity.smbshare:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    share_name: "sample_smb_share"
    nas_server_name: "sample_nas_server"
    description: "Sample SMB share attributes updated"
    is_abe_enabled: false
    is_branch_cache_enabled: false
    offline_availability: "MANUAL"
    is_continuous_availability_enabled: "false"
    is_encryption_enabled: "false"
    umask: "022"
    state: "present"
- name: Create SMB share for a snapshot
  dellemc.unity.smbshare:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    share_name: "sample_snap_smb_share"
    snapshot_name: "sample_snapshot"
    nas_server_id: "NAS_11"
    path: "/sample_snapshot"
    description: "Sample SMB share created for snapshot"
    is_abe_enabled: true
    is_branch_cache_enabled: true
    is_continuous_availability_enabled: true
    is_encryption_enabled: true
    umask: "777"
    state: "present"
- name: Modify Attributes of SMB share for a snapshot
  dellemc.unity.smbshare:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    share_name: "sample_snap_smb_share"
    snapshot_name: "sample_snapshot"
    description: "Sample SMB share attributes updated for snapshot"
    is_abe_enabled: false
    is_branch_cache_enabled: false
    offline_availability: "MANUAL"
    is_continuous_availability_enabled: "false"
    is_encryption_enabled: "false"
    umask: "022"
    state: "present"
- name: Get details of SMB share
  dellemc.unity.smbshare:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    share_id: "{{smb_share_id}}"
    state: "present"
- name: Delete SMB share
  dellemc.unity.smbshare:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    share_id: "{{smb_share_id}}"
    state: "absent"

返回值

常用返回值已在此处记录,以下是此模块特有的字段

描述

changed

布尔值

资源是否已更改。

返回:始终

示例: true

smb_share_details

字典

SMB共享详细信息。

返回:共享存在时。

示例: {"creation_time": "2022-03-17 11:56:54.867000+00:00", "description": "", "existed": true, "export_paths": ["\\\\multi-prot-pie.extreme1.com\\multi-prot-hui", "\\\\10.230.24.26\\multi-prot-hui"], "filesystem": {"UnityFileSystem": {"hash": 8748426746492}}, "filesystem_id": "fs_140", "filesystem_name": "multi-prot-hui", "hash": 8748426746588, "id": "SMBShare_20", "is_abe_enabled": false, "is_ace_enabled": false, "is_branch_cache_enabled": false, "is_continuous_availability_enabled": false, "is_dfs_enabled": false, "is_encryption_enabled": false, "is_read_only": null, "modified_time": "2022-03-17 11:56:54.867000+00:00", "name": "multi-prot-hui", "nas_server_id": "nas_5", "nas_server_name": "multi-prot", "offline_availability": "CifsShareOfflineAvailabilityEnum.NONE", "path": "/", "snap": null, "type": "CIFSTypeEnum.CIFS_SHARE", "umask": "022"}

description

字符串

关于共享的附加信息。

返回:成功

示例: "This share is created for demo purpose only."

filesystem_id

字符串

文件系统的ID。

返回:成功

filesystem_name

字符串

文件系统的名称。

返回:成功

id

字符串

SMB共享的ID。

返回:成功

is_abe_enabled

布尔值

是否强制执行基于访问的枚举。

返回:成功

示例: false

is_branch_cache_enabled

布尔值

分支缓存是否启用。

返回:成功

示例: false

is_continuous_availability_enabled

布尔值

共享是否将持续可用。

返回:成功

示例: false

is_encryption_enabled

布尔值

加密是否启用。

返回:成功

示例: false

name

字符串

SMB 共享的名称。

返回:成功

示例: "sample_smb_share"

nas_server_id

字符串

nas_server 的ID。

返回:成功

nas_server_name

字符串

nas_server 的名称。

返回:成功

snapshot_id

字符串

快照的ID。

返回:成功

snapshot_name

字符串

快照的名称。

返回:成功

umask

字符串

SMB共享的Unix掩码。

返回:成功

作者

  • P Srinivas Rao (@srinivas-rao5)