首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ansible中获取非根设备的volume_id

在Ansible中获取非根设备的volume_id
EN

Stack Overflow用户
提问于 2018-05-28 20:07:58
回答 1查看 278关注 0票数 1

我如何过滤掉(假设使用时)不是'dev/sda1‘的ebs卷?

例如,攻略是:

代码语言:javascript
复制
- name:                     List Volumes
  ec2_vol:
    region:                 "{{ aws_vars.region }}"
    instance:               "{{ ec2.instances[0].instance_id }}"
    state:                  list
  register:                 volumes
  when:                     volumes.device_name != '/dev/sda1'
- debug:                    msg="{{ volumes.volumes | map(attribute='id') | list }}"

这不起作用。

卷的var类似于:

代码语言:javascript
复制
[
        {
            "attachment_set": {
                "attach_time": "2018-05-28T11:17:56.000Z",
                "deleteOnTermination": "false",
                "device": "xvdf",
                "instance_id": "i-00ac0585d1d4974aa",
                "status": "attached"
            },
            "create_time": "2017-07-18T14:54:28.969Z",
            "encrypted": false,
            "id": "vol-0506598d250ffe3d3",
            "iops": 450,
            "size": 150,
            "snapshot_id": "snap-0ce6832b64cfa093d",
            "status": "in-use",
            "tags": {
                "Site Desktop 1": "IIS",
                "project-group": "DEV"
            },
            "type": "gp2",
            "zone": "eu-central-1b"
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 20:39:50

when语句是在任务之前执行的(它决定任务是否应该运行),所以它不能用来过滤结果。

使用set_fact module,您可以编辑任务的结果,并将其保存在新变量中。我将其与json query filter结合使用。

代码语言:javascript
复制
  - name:                     List Volumes
    ec2_vol:
      region:                 "eu-west-1"
      instance:               "i-0f7gd2b0090924864"
      state:                  list
    register:                 volumes
  - set_fact: filtered="{{ volumes.volumes | json_query('[?attachment_set.device!=`/dev/sda1`]') }}"
  - debug:                    msg="{{ filtered }}"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50566105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档