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

string

SMB 共享的描述。

创建共享时的可选参数。

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

filesystem_id

string

文件系统的 ID。

对于文件系统的 SMB 共享创建,需要 filesystem_namefilesystem_id

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

选项 filesystem_namefilesystem_id 是互斥的参数。

filesystem_name

string

文件系统的名称。

对于文件系统的 SMB 共享创建,需要 filesystem_namefilesystem_id

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

选项 filesystem_namefilesytem_id 是互斥的参数。

is_abe_enabled

boolean

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

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

选项

  • false

  • true

is_branch_cache_enabled

boolean

指示是否为 SMB 共享启用了分支缓存优化。

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

选项

  • false

  • true

is_continuous_availability_enabled

boolean

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

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

选项

  • false

  • true

is_encryption_enabled

boolean

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

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

选项

  • false

  • true

nas_server_id

string

NAS 服务器的 ID。

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

nas_server_name

string

NAS 服务器的名称。

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

选项 nas_server_namenas_server_id 是互斥的参数。

offline_availability

string

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

MANUAL - 只有指定的文件才可脱机使用。

DOCUMENTS - 用户打开的所有文件都可脱机使用。

PROGRAMS - 程序最好从脱机缓存运行,即使连接到网络也是如此。用户打开的所有文件都可脱机使用。

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

选项

  • "MANUAL"

  • "DOCUMENTS"

  • "PROGRAMS"

  • "NONE"

password

string / required

Unity 管理服务器的密码。

path

string

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

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

创建 SMB 共享时必需。

port

integer

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

默认: 443

share_id

string

SMB 共享的 ID。

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

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

如果使用 share_id,则无需传递 nas_server/文件系统/快照/路径。

share_name

string

SMB 共享的名称。

创建 SMB 共享时必需。

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

snapshot_id

string

文件系统快照的 ID。

对于快照的 SMB 共享创建,需要 snapshot_namesnapshot_id

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

选项 snapshot_namesnapshot_id 是互斥的参数。

snapshot_name

string

文件系统快照的名称。

对于快照的 SMB 共享创建,需要 snapshot_namesnapshot_id

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

选项 snapshot_namesnapshot_id 是互斥的参数。

state

string / required

定义 SMB 共享是否应该存在。

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

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

选项

  • "absent"

  • "present"

umask

string

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

unispherehost

string / required

Unity 管理服务器的 IP 或 FQDN。

username

string / required

Unity 管理服务器的用户名。

validate_certs

别名:verifycert

boolean

布尔变量,用于指定是否验证 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

boolean

资源是否已更改。

返回: 始终

示例: 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

string

有关共享的其他信息。

返回: 成功

示例: "此共享仅为演示目的而创建。"

filesystem_id

string

文件系统的 ID。

返回: 成功

filesystem_name

string

文件系统的名称

返回: 成功

id

string

SMB 共享的 ID。

返回: 成功

is_abe_enabled

boolean

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

返回: 成功

示例: false

is_branch_cache_enabled

boolean

是否启用分支缓存。

返回: 成功

示例: false

is_continuous_availability_enabled

boolean

该共享是否将持续可用。

返回: 成功

示例: false

is_encryption_enabled

boolean

是否启用加密。

返回: 成功

示例: false

name

string

SMB 共享的名称。

返回: 成功

示例: "sample_smb_share"

nas_server_id

string

nas_server 的 ID。

返回: 成功

nas_server_name

string

nas_server 的名称。

返回: 成功

snapshot_id

string

快照的 ID。

返回: 成功

snapshot_name

string

快照的名称。

返回: 成功

umask

string

SMB 共享的 Unix 掩码。

返回: 成功

作者

  • P Srinivas Rao (@srinivas-rao5)