maestro-server/discovery-api

View on GitHub
app/repository/providers/azure/azure_mapper/az_virtual_machines.py

Summary

Maintainability
A
0 mins
Test Coverage
F
50%
def rules(conn):
    return {
        'name': {'call': 'switch', 'source': 'name'},
        'unique_id': {'call': 'createID', 'source': {
            'key': 'id',
            'reg': r'^\/subscriptions/(.*)/resourceGroups/(.*)/providers/Microsoft.Compute/virtualMachines/(.*)?'
        }},

        'datacenters': {'call': 'fctDc',
                        'source': {**conn}},

        'environment': {'call': 'switch', 'source': 'tags.environment'},
        'role': {'call': 'switch', 'source': 'tags.role'},

        'network_interface': {'call': 'serialize', 'source': 'network_profile.network_interfaces'},

        'tags': {'call': 'fctTags', 'source': 'tags'},
        'applications': {'call': 'SyncForeignEntityByTag', 'source': {
            'field': 'tags.applications',
            'resource': 'applications'
        }},

        'os': {'call': 'fcOS', 'source': 'storage_profile'},
        'storage': {'call': 'fcStorage', 'source': 'storage_profile'},

        'status': {'call': 'switchOptions',
                   'source': {'field': 'provisioning_state',
                              'options': {
                                  "Succeeded": "Active"
                              },
                              'default': "Avaliable"
                              }},

        'active': {'call': 'setV', 'source': True},

        'owner': {'call': 'fctOwner',
                  'source': {**conn}},
        'accountant': {'call': 'fctAccountant', 'source': {**conn}},
        'roles': {'call': 'fctRoles',
                  'source': {**conn}},
        'checksum': {'call': 'checksum',
                     'source': None}
    }