dellemc.unity.snapshotschedule 模块 – 管理 Unity 存储系统上的快照计划

注意

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

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

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

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

dellemc.unity 1.1.0 中的新增功能

概要

  • 管理 Unity 存储系统上的快照计划包括创建新的快照计划、获取快照计划的详细信息、修改快照计划的属性以及删除快照计划。

要求

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

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

  • Ansible-core 2.14 或更高版本。

  • Python 3.9、3.10 或 3.11。

  • Storops Python SDK 1.2.11。

参数

参数

注释

auto_delete

布尔值

指示系统是否可以自动删除快照。

选项

  • false

  • true

day_interval

整数

快照之间的天数。

仅当规则类型为 every_n_days 时适用。

day_of_month

整数

快照计划规则适用的月份中的某一天。

仅当规则类型为 every_month 时适用。

值应为 [1, 31]。

days_of_week

列表 / 元素=字符串

快照计划规则适用的星期几。

仅当规则类型为 every_week 时适用。

选项

  • "SUNDAY"

  • "MONDAY"

  • "TUESDAY"

  • "WEDNESDAY"

  • "THURSDAY"

  • "FRIDAY"

  • "SATURDAY"

desired_retention

整数

快照将保留的天数/小时数。

auto_deletetrue 时,不能指定 desired_retention

支持的最大保留期限为 31 天或 744 小时。

hour

整数

拍摄快照的小时数。

适用于 every_n_daysevery_weekevery_month 规则类型。

对于创建操作,如果未指定 hour 参数,则值将取为 0

值应为 [0, 23]。

hours_of_day

列表 / 元素=整数

拍摄快照的一天中的小时数。

仅当规则类型为 every_day 时适用。

id

字符串

快照计划的 ID。

interval

整数

快照之间的小时数。

仅当规则类型为 every_n_hours 时适用。

minute

整数

从拍摄快照的小时数开始的分钟偏移量。

适用于所有规则类型。

对于创建操作,如果未指定 minute 参数,则值将取为 0

值应为 [0, 59]。

name

字符串

快照计划的名称。

名称对于创建操作是必需的。

对于任何操作,请指定 nameid(但不能同时指定两者)。

password

字符串 / 必需

Unity 管理服务器的密码。

port

整数

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

默认值: 443

retention_unit

字符串

快照的保留单位。

选项

  • "hours" ← (默认)

  • "days"

state

字符串 / 必需

定义快照计划是否存在。

选项

  • "absent"

  • "present"

type

字符串

要包含在快照计划中的规则的类型。

类型对于任何创建或修改操作都是必需的。

创建具有某种类型的快照计划后,可以对其进行修改。

选项

  • "every_n_hours"

  • "every_day"

  • "every_n_days"

  • "every_week"

  • "every_month"

unispherehost

字符串 / 必需

Unity 管理服务器的 IP 或 FQDN。

username

字符串 / 必需

Unity 管理服务器的用户名。

validate_certs

别名:verifycert

布尔值

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

true - 指示应验证 SSL 证书。

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

选项

  • false

  • true ← (默认)

注释

注意

  • 通过 Ansible 创建的快照计划将只有一个规则。

  • 不允许修改规则类型。在同一类型内,可以修改其他参数。

  • 如果现有快照计划包含多个规则,则仅允许获取和删除操作。

  • 不支持check_mode

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

示例

- name: Create snapshot schedule (Rule Type - every_n_hours)
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_N_Hours_Testing"
      type: "every_n_hours"
      interval: 6
      desired_retention: 24
      state: "{{state_present}}"

- name: Create snapshot schedule (Rule Type - every_day)
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_Day_Testing"
      type: "every_day"
      hours_of_day:
          - 8
          - 14
      auto_delete: true
      state: "{{state_present}}"

- name: Create snapshot schedule (Rule Type - every_n_days)
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_N_Day_Testing"
      type: "every_n_days"
      day_interval: 2
      desired_retention: 16
      retention_unit: "days"
      state: "{{state_present}}"

- name: Create snapshot schedule (Rule Type - every_week)
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_Week_Testing"
      type: "every_week"
      days_of_week:
          - MONDAY
          - FRIDAY
      hour: 12
      minute: 30
      desired_retention: 200
      state: "{{state_present}}"

- name: Create snapshot schedule (Rule Type - every_month)
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_Month_Testing"
      type: "every_month"
      day_of_month: 17
      auto_delete: true
      state: "{{state_present}}"

- name: Get snapshot schedule details using name
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_N_Hours_Testing"
      state: "{{state_present}}"

- name: Get snapshot schedule details using id
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      id: "{{id}}"
      state: "{{state_present}}"

- name: Modify snapshot schedule details id
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      id: "{{id}}"
      type: "every_n_hours"
      interval: 8
      state: "{{state_present}}"

- name: Modify snapshot schedule using name
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_Day_Testing"
      type: "every_day"
      desired_retention: 200
      auto_delete: false
      state: "{{state_present}}"

- name: Delete snapshot schedule using id
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      id: "{{id}}"
      state: "{{state_absent}}"

- name: Delete snapshot schedule using name
  dellemc.unity.snapshotschedule:
      unispherehost: "{{unispherehost}}"
      validate_certs: "{{validate_certs}}"
      username: "{{username}}"
      password: "{{password}}"
      name: "Ansible_Every_Day_Testing"
      state: "{{state_absent}}"

返回值

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

描述

changed

布尔值

资源是否已更改。

返回值:始终

示例: true

snapshot_schedule_details

字典

快照计划的详细信息。

返回值:快照计划存在时

示例: {"existed": true, "hash": 8742032390151, "id": "snapSch_63", "is_default": false, "is_modified": null, "is_sync_replicated": false, "luns": null, "modification_time": "2021-12-14 21:37:47.905000+00:00", "name": "SS7_empty_hour_SS", "rules": [{"access_type": "FilesystemSnapAccessTypeEnum.CHECKPOINT", "days_of_month": null, "days_of_week": {"DayOfWeekEnumList": []}, "existed": true, "hash": 8742032280772, "hours": [0], "id": "SchedRule_109", "interval": 2, "is_auto_delete": false, "minute": 0, "retention_time": 86400, "retention_time_in_hours": 24, "rule_type": "every_n_days", "type": "ScheduleTypeEnum.N_DAYS_AT_HHMM"}], "storage_resources": null, "version": "ScheduleVersionEnum.LEGACY"}

id

字符串

分配给快照计划的系统 ID。

返回值:成功

luns

字典

应用快照计划的卷的详细信息。

返回值:成功

UnityLunList

列表 / 元素=字符串

应用快照计划的卷列表。

返回值:成功

UnityLun

字典

卷的详细信息。

返回值:成功

id

字符串

分配给卷的系统 ID。

返回值:成功

name

字符串

快照计划的名称。

返回值:成功

rules

列表 / 元素=字符串

应用于快照计划的规则的详细信息。

返回值:成功

days_of_month

列表 / 元素=字符串

应用快照计划规则的月份中的日期。

返回值:成功

days_of_week

字典

快照计划规则适用的星期几。

返回值:成功

DayOfWeekEnumList

列表 / 元素=字符串

一周中的日期枚举。

返回值:成功

hours

列表 / 元素=字符串

快照计划规则的小时频率。

返回值:成功

id

字符串

规则的系统 ID。

返回值:成功

interval

整数

快照之间的天数或小时数,取决于规则类型。

返回值:成功

is_auto_delete

布尔值

指示系统是否可以根据池自动删除阈值自动删除快照。

返回值:成功

minute

整数

快照计划规则的分钟频率。

返回值:成功

retention_time

整数

保留快照的时间段(秒)。

返回值:成功

retention_time_in_hours

整数

保留快照的时间段(小时)。

返回值:成功

rule_type

字符串

应用于快照计划的规则类型。

返回值:成功

storage_resources

字典

应用快照计划的存储资源的详细信息。

返回值:成功

UnityStorageResourceList

列表 / 元素=字符串

应用快照计划的存储资源列表。

返回值:成功

UnityStorageResource

字典

存储资源的详细信息。

返回值:成功

id

字符串

分配给存储资源的系统 ID。

返回值:成功

作者

  • Akash Shendge (@shenda1)