全部产品

OOS审批通过调用ROS创建实例

更新时间:2020-02-20 10:53:31

背景

在自动化运维的场景中,对产生费用的操作进行关注是非常必要的,针对此类场景,OOS提供了一种简单的监督方式,就是在模版中定义Approve动作的任务,该任务只需定义在产生费用任务之前,一旦产生费用的任务将要执行,则会触发该审批任务,该任务会向审批人发送审批链接,当审批人审批通过后,任务才会自动向后执行,否则执行会处于等待中。

解决方案

通过OOS调用ROS来创建实例时,可以在ROS创建实例这个任务之前定义个审批任务,一旦有新实例要被创建,则可以进入审批流程,来确认创建新实例。

注: 对于需要允许多人审批的任务,您在模版中定义审批任务时,直接在任务中定义Approvers(多个审批人)以及MinRequiredApprovals(审批要求的最低审批通过人数)即可,如果任务中不定义MinRequiredApprovals ,那么其默认值将会是1,当Approvers中通过审批的总人数不低于MinRequiredApprovals时,被审批的任务才可以执行。

操作步骤

  1. 首先登录到运维编排控制台
  2. 单击公共模板 ,找到ACS-ECS-ApproveROSCreateInstances模版,单击创建执行
  3. 单击 下一步,设置参数oos
  4. 输入以下的参数 。
    • imageId: 必填,将创建实例的镜像ID。
    • instanceType: 必填,将创建实例的规格。
    • instancesCount: 必填,将创建实例的数量。
    • zoneId: 必填,将创建交换机的可用区ID。
    • webHookUrl: 必填,审批通知及链接将发送到的钉钉群助手WebHook。获取方法可参考附录2:钉钉WebHook获取
    • atMobiles: 选填,发送审批通知时,在钉钉群中@的指定的用户。
    • atAll: 选填,发送审批通知时,是否@钉钉群中的所有成员。
    • OOSAssumeRole:选填。OOS默认使用当前登录用户的权限执行动作;如果指定了RAM角色名称,OOS扮演该RAM角色执行动作。
    • Approvers: 必填,可对对该审批进行通过或拒绝操作的用户,指定为 [“approver1”, “approver2”]
    • MinRequiredApprovals,选填,要求的最低审批通过人数,此处设置为2,默认1。
    • 执行使用到的权限的来源,选填,默认为创建执行用户的权限。oosoos
  5. 单击 下一步,确认 ,单击 创建执行
  6. 执行管理中可查看刚刚创建的执行,若创建执行成功,被指定手机号的用户,在钉钉群中会被@,且当前执行状态处于等待中,用户可以点击审批链接,根据实际需要作出审批决定。
  7. 假设approvers中包含两人,且最低审批通过人数为2时,有以下几类情况。
    • 审批通过的情况:
      1. approver1 审批通过Execution,OOS并不执行仍等待第二次审批。
      2. approver1重复审批通过Execution,返回错误消息提示approve1已经审批过此执行。
      3. approver2审批通过Execution,OOS向后执行,并结束。
    • 审批拒绝的情况:
      1. approver1审批拒绝Execution,OOS执行停止且不向后执行。

附录:钉钉WebHook获取

OOS任务的审批的使用 附录2