Completed
Pull Request — master (#414)
by Anthony
02:34
created

AzureBaseResourceManagerAction.__init__()   A

Complexity

Conditions 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 1
dl 0
loc 9
rs 9.6666
1
from st2actions.runners.pythonrunner import Action
2
3
from libcloud.compute.providers import Provider as ComputeProvider
4
from libcloud.compute.providers import get_driver as get_compute_driver
5
from libcloud.storage.providers import Provider as StorageProvider
6
from libcloud.storage.providers import get_driver as get_storage_driver
7
8
__all__ = [
9
    'AzureBaseComputeAction',
10
    'AzureBaseStorageAction',
11
    'AzureBaseResourceManagerAction'
12
]
13
14
15
class AzureBaseComputeAction(Action):
16
    def __init__(self, config):
17
        super(AzureBaseComputeAction, self).__init__(config=config)
18
19
        config = self.config['compute']
20
        subscription_id = config['subscription_id']
21
        key_file = config['cert_file']
22
        self._driver = self._get_driver(subscription_id=subscription_id,
23
                                        key_file=key_file)
24
25
    def _get_driver(self, subscription_id, key_file):
26
        cls = get_compute_driver(ComputeProvider.AZURE)
27
        driver = cls(subscription_id=subscription_id, key_file=key_file)
28
        return driver
29
30
31
class AzureBaseStorageAction(Action):
32
    def __init__(self, config):
33
        super(AzureBaseStorageAction, self).__init__(config=config)
34
35
        config = self.config['storage']
36
        name = config['name']
37
        access_key = config['access_key']
38
        self._driver = self._get_driver(name=name, access_key=access_key)
39
40
    def _get_driver(self, name, access_key):
41
        cls = get_storage_driver(StorageProvider.AZURE_BLOBS)
42
        driver = cls(key=name, secret=access_key)
43
        return driver
44
45
46
class AzureBaseResourceManagerAction(Action):
47
    def __init__(self, config):
48
        super(AzureBaseStorageAction, self).__init__(config=config)
0 ignored issues
show
Bug introduced by
The first argument passed to super() should be the super-class name, but AzureBaseStorageAction was given.
Loading history...
49
50
        from msrestazure.azure_active_directory import ServicePrincipalCredentials
51
        resource_config = self.config['resource_manager']
52
        self.credentials = ServicePrincipalCredentials(
53
            client_id=resource_config['client_id'],
54
            secret=resource_config['secret'],
55
            tenant=resource_config['tenant']
56
        )
57