summaryrefslogtreecommitdiffstats
path: root/playbooks/adhoc/grow_docker_vg/filter_plugins/grow_docker_vg_filters.py
blob: cacd0b0f3c25f3bd6fb2c85d87ead8c80367044b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/python
# -*- coding: utf-8 -*-
'''
Custom filters for use in openshift-ansible
'''


class FilterModule(object):
    ''' Custom ansible filters '''

    @staticmethod
    def translate_volume_name(volumes, target_volume):
        '''
            This filter matches a device string /dev/sdX to /dev/xvdX
            It will then return the AWS volume ID
        '''
        for vol in volumes:
            translated_name = vol["attachment_set"]["device"].replace("/dev/sd", "/dev/xvd")
            if target_volume.startswith(translated_name):
                return vol["id"]

        return None

    def filters(self):
        ''' returns a mapping of filters to methods '''
        return {
            "translate_volume_name": self.translate_volume_name,
        }