blob: e6265c54bfba96391a7cf1202713caa4be0a751a [file] [log] [blame]
Ales Komarek197f4432016-09-02 15:26:17 +02001# -*- coding: utf-8 -*-
2'''
3Management of artifactory repositories
4======================================
5
6:depends: - requests Python module
7:configuration: See :py:mod:`salt.modules.artifactory` for setup instructions.
8
9.. code-block:: yaml
10
11 local_artifactory_repo:
12 artifactory_repo.repo_present:
13 - name: remote_artifactory_repo
14 - package_type: generic
15 - repo_type: local
16 remote_artifactory_repo:
17 artifactory_repo.repo_present:
18 - name: remote_artifactory_repo
19 - repo_type: remote
20 - url: "http://totheremoterepo:80/"
21
22'''
23
24def __virtual__():
25 '''
26 Only load if the artifactory module is in __salt__
27 '''
28 return True
29
30
31def repo_present(name, repo_type, package_type, url=None, **kwargs):
32 '''
33 Ensures that the artifactory repo exists
34
35 :param name: new repo name
36 :param description: short repo description
37 '''
38 ret = {'name': name,
39 'changes': {},
40 'result': True,
41 'comment': 'Repository "{0}" already exists'.format(name)}
42
43 # Check if repo is already present
44 repo = __salt__['artifactory_repo.repo_get'](name=name, **kwargs)
45
46 if 'Error' not in repo:
47 #update repo
48 pass
49 else:
50 # Create repo
51 __salt__['artifactory_repo.repo_create'](name, repo_type, package_type, url, **kwargs)
52 ret['comment'] = 'Repository "{0}" has been added'.format(name)
53 ret['changes']['repo'] = 'Created'
54 return ret