Ales Komarek | 197f443 | 2016-09-02 15:26:17 +0200 | [diff] [blame^] | 1 | # -*- coding: utf-8 -*- |
| 2 | ''' |
| 3 | Management 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 | |
| 24 | def __virtual__(): |
| 25 | ''' |
| 26 | Only load if the artifactory module is in __salt__ |
| 27 | ''' |
| 28 | return True |
| 29 | |
| 30 | |
| 31 | def 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 |