diff options
Diffstat (limited to 'lib/ansible/modules/packaging/language')
-rw-r--r-- | lib/ansible/modules/packaging/language/bundler.py | 6 | ||||
-rw-r--r-- | lib/ansible/modules/packaging/language/cpanm.py | 21 | ||||
-rw-r--r-- | lib/ansible/modules/packaging/language/gem.py | 50 | ||||
-rw-r--r-- | lib/ansible/modules/packaging/language/maven_artifact.py | 37 | ||||
-rw-r--r-- | lib/ansible/modules/packaging/language/pear.py | 19 |
5 files changed, 69 insertions, 64 deletions
diff --git a/lib/ansible/modules/packaging/language/bundler.py b/lib/ansible/modules/packaging/language/bundler.py index 88013b6ed4..a82394829e 100644 --- a/lib/ansible/modules/packaging/language/bundler.py +++ b/lib/ansible/modules/packaging/language/bundler.py @@ -13,7 +13,7 @@ ANSIBLE_METADATA = {'metadata_version': '1.1', 'supported_by': 'community'} -DOCUMENTATION=''' +DOCUMENTATION = ''' --- module: bundler short_description: Manage Ruby Gem dependencies with Bundler @@ -104,7 +104,7 @@ options: author: "Tim Hoiberg (@thoiberg)" ''' -EXAMPLES=''' +EXAMPLES = ''' # Installs gems from a Gemfile in the current directory - bundler: state: present @@ -159,7 +159,7 @@ def main(): extra_args=dict(default=None, required=False), ), supports_check_mode=True - ) + ) state = module.params.get('state') chdir = module.params.get('chdir') diff --git a/lib/ansible/modules/packaging/language/cpanm.py b/lib/ansible/modules/packaging/language/cpanm.py index 3195775561..fcd22b6812 100644 --- a/lib/ansible/modules/packaging/language/cpanm.py +++ b/lib/ansible/modules/packaging/language/cpanm.py @@ -141,6 +141,7 @@ def _is_package_installed(module, name, locallib, cpanm, version): res, stdout, stderr = module.run_command(cmd, check_rc=False) return res == 0 + def _build_cmd_line(name, from_path, notest, locallib, mirror, mirror_only, installdeps, cpanm, use_sudo): # this code should use "%s" like everything else and just return early but not fixing all of it now. # don't copy stuff like this @@ -197,23 +198,23 @@ def main(): required_one_of=[['name', 'from_path']], ) - cpanm = _get_cpanm_path(module) - name = module.params['name'] - from_path = module.params['from_path'] - notest = module.boolean(module.params.get('notest', False)) - locallib = module.params['locallib'] - mirror = module.params['mirror'] + cpanm = _get_cpanm_path(module) + name = module.params['name'] + from_path = module.params['from_path'] + notest = module.boolean(module.params.get('notest', False)) + locallib = module.params['locallib'] + mirror = module.params['mirror'] mirror_only = module.params['mirror_only'] installdeps = module.params['installdeps'] - use_sudo = module.params['system_lib'] - version = module.params['version'] + use_sudo = module.params['system_lib'] + version = module.params['version'] - changed = False + changed = False installed = _is_package_installed(module, name, locallib, cpanm, version) if not installed: - cmd = _build_cmd_line(name, from_path, notest, locallib, mirror, mirror_only, installdeps, cpanm, use_sudo) + cmd = _build_cmd_line(name, from_path, notest, locallib, mirror, mirror_only, installdeps, cpanm, use_sudo) rc_cpanm, out_cpanm, err_cpanm = module.run_command(cmd, check_rc=False) diff --git a/lib/ansible/modules/packaging/language/gem.py b/lib/ansible/modules/packaging/language/gem.py index 900b3ac696..4e27004024 100644 --- a/lib/ansible/modules/packaging/language/gem.py +++ b/lib/ansible/modules/packaging/language/gem.py @@ -121,8 +121,9 @@ def get_rubygems_path(module): result = [module.get_bin_path('gem', True)] return result + def get_rubygems_version(module): - cmd = get_rubygems_path(module) + [ '--version' ] + cmd = get_rubygems_path(module) + ['--version'] (rc, out, err) = module.run_command(cmd, check_rc=True) match = re.match(r'^(\d+)\.(\d+)\.(\d+)', out) @@ -131,6 +132,7 @@ def get_rubygems_version(module): return tuple(int(x) for x in match.groups()) + def get_installed_versions(module, remote=False): cmd = get_rubygems_path(module) @@ -138,7 +140,7 @@ def get_installed_versions(module, remote=False): if remote: cmd.append('--remote') if module.params['repository']: - cmd.extend([ '--source', module.params['repository'] ]) + cmd.extend(['--source', module.params['repository']]) cmd.append('-n') cmd.append('^%s$' % module.params['name']) (rc, out, err) = module.run_command(cmd, check_rc=True) @@ -151,6 +153,7 @@ def get_installed_versions(module, remote=False): installed_versions.append(version.split()[0]) return installed_versions + def exists(module): if module.params['state'] == 'latest': @@ -166,6 +169,7 @@ def exists(module): return True return False + def uninstall(module): if module.check_mode: @@ -173,13 +177,14 @@ def uninstall(module): cmd = get_rubygems_path(module) cmd.append('uninstall') if module.params['version']: - cmd.extend([ '--version', module.params['version'] ]) + cmd.extend(['--version', module.params['version']]) else: cmd.append('--all') cmd.append('--executable') cmd.append(module.params['name']) module.run_command(cmd, check_rc=True) + def install(module): if module.check_mode: @@ -194,9 +199,9 @@ def install(module): cmd = get_rubygems_path(module) cmd.append('install') if module.params['version']: - cmd.extend([ '--version', module.params['version'] ]) + cmd.extend(['--version', module.params['version']]) if module.params['repository']: - cmd.extend([ '--source', module.params['repository'] ]) + cmd.extend(['--source', module.params['repository']]) if not module.params['include_dependencies']: cmd.append('--ignore-dependencies') else: @@ -218,28 +223,29 @@ def install(module): cmd.append('--env-shebang') cmd.append(module.params['gem_source']) if module.params['build_flags']: - cmd.extend([ '--', module.params['build_flags'] ]) + cmd.extend(['--', module.params['build_flags']]) module.run_command(cmd, check_rc=True) + def main(): module = AnsibleModule( - argument_spec = dict( - executable = dict(required=False, type='path'), - gem_source = dict(required=False, type='path'), - include_dependencies = dict(required=False, default=True, type='bool'), - name = dict(required=True, type='str'), - repository = dict(required=False, aliases=['source'], type='str'), - state = dict(required=False, default='present', choices=['present','absent','latest'], type='str'), - user_install = dict(required=False, default=True, type='bool'), - pre_release = dict(required=False, default=False, type='bool'), - include_doc = dict(required=False, default=False, type='bool'), - env_shebang = dict(required=False, default=False, type='bool'), - version = dict(required=False, type='str'), - build_flags = dict(required=False, type='str'), + argument_spec=dict( + executable=dict(required=False, type='path'), + gem_source=dict(required=False, type='path'), + include_dependencies=dict(required=False, default=True, type='bool'), + name=dict(required=True, type='str'), + repository=dict(required=False, aliases=['source'], type='str'), + state=dict(required=False, default='present', choices=['present', 'absent', 'latest'], type='str'), + user_install=dict(required=False, default=True, type='bool'), + pre_release=dict(required=False, default=False, type='bool'), + include_doc=dict(required=False, default=False, type='bool'), + env_shebang=dict(required=False, default=False, type='bool'), + version=dict(required=False, type='str'), + build_flags=dict(required=False, type='str'), ), - supports_check_mode = True, - mutually_exclusive = [ ['gem_source','repository'], ['gem_source','version'] ], + supports_check_mode=True, + mutually_exclusive=[['gem_source', 'repository'], ['gem_source', 'version']], ) if module.params['version'] and module.params['state'] == 'latest': @@ -252,7 +258,7 @@ def main(): changed = False - if module.params['state'] in [ 'present', 'latest']: + if module.params['state'] in ['present', 'latest']: if not exists(module): install(module) changed = True diff --git a/lib/ansible/modules/packaging/language/maven_artifact.py b/lib/ansible/modules/packaging/language/maven_artifact.py index 540b63a458..2a8cd8bbc2 100644 --- a/lib/ansible/modules/packaging/language/maven_artifact.py +++ b/lib/ansible/modules/packaging/language/maven_artifact.py @@ -315,12 +315,12 @@ class MavenDownloader: def _request(self, url, failmsg, f): url_to_use = url parsed_url = urlparse(url) - if parsed_url.scheme=='s3': + if parsed_url.scheme == 's3': parsed_url = urlparse(url) bucket_name = parsed_url.netloc key_name = parsed_url.path[1:] - client = boto3.client('s3',aws_access_key_id=self.module.params.get('username', ''), aws_secret_access_key=self.module.params.get('password', '')) - url_to_use = client.generate_presigned_url('get_object',Params={'Bucket':bucket_name,'Key':key_name},ExpiresIn=10) + client = boto3.client('s3', aws_access_key_id=self.module.params.get('username', ''), aws_secret_access_key=self.module.params.get('password', '')) + url_to_use = client.generate_presigned_url('get_object', Params={'Bucket': bucket_name, 'Key': key_name}, ExpiresIn=10) req_timeout = self.module.params.get('timeout') @@ -335,7 +335,6 @@ class MavenDownloader: else: return f(response) - def download(self, artifact, filename=None): filename = artifact.get_filename(filename) if not artifact.version or artifact.version == "latest": @@ -402,20 +401,20 @@ class MavenDownloader: def main(): module = AnsibleModule( - argument_spec = dict( - group_id = dict(default=None), - artifact_id = dict(default=None), - version = dict(default="latest"), - classifier = dict(default=''), - extension = dict(default='jar'), - repository_url = dict(default=None), - username = dict(default=None,aliases=['aws_secret_key']), - password = dict(default=None, no_log=True,aliases=['aws_secret_access_key']), - state = dict(default="present", choices=["present","absent"]), # TODO - Implement a "latest" state - timeout = dict(default=10, type='int'), - dest = dict(type="path", default=None), - validate_certs = dict(required=False, default=True, type='bool'), - keep_name = dict(required=False, default=False, type='bool'), + argument_spec=dict( + group_id=dict(default=None), + artifact_id=dict(default=None), + version=dict(default="latest"), + classifier=dict(default=''), + extension=dict(default='jar'), + repository_url=dict(default=None), + username=dict(default=None, aliases=['aws_secret_key']), + password=dict(default=None, no_log=True, aliases=['aws_secret_access_key']), + state=dict(default="present", choices=["present", "absent"]), # TODO - Implement a "latest" state + timeout=dict(default=10, type='int'), + dest=dict(type="path", default=None), + validate_certs=dict(required=False, default=True, type='bool'), + keep_name=dict(required=False, default=False, type='bool'), ), add_file_common_args=True ) @@ -429,7 +428,7 @@ def main(): except AttributeError as e: module.fail_json(msg='url parsing went wrong %s' % e) - if parsed_url.scheme=='s3' and not HAS_BOTO: + if parsed_url.scheme == 's3' and not HAS_BOTO: module.fail_json(msg='boto3 required for this module, when using s3:// repository URLs') group_id = module.params["group_id"] diff --git a/lib/ansible/modules/packaging/language/pear.py b/lib/ansible/modules/packaging/language/pear.py index a4b738d170..0d0f19a8db 100644 --- a/lib/ansible/modules/packaging/language/pear.py +++ b/lib/ansible/modules/packaging/language/pear.py @@ -83,6 +83,7 @@ def get_local_version(pear_output): return installed return None + def _get_pear_path(module): if module.params['executable'] and os.path.isfile(module.params['executable']): result = module.params['executable'] @@ -90,6 +91,7 @@ def _get_pear_path(module): result = module.get_bin_path('pear', True, [module.params['executable']]) return result + def get_repository_version(pear_output): """Take pear remote-info output and get the latest version""" lines = pear_output.split('\n') @@ -98,6 +100,7 @@ def get_repository_version(pear_output): return line.rsplit(None, 1)[-1].strip() return None + def query_package(module, name, state="present"): """Query the package status in both the local system and the repository. Returns a boolean to indicate if the package is installed, @@ -198,18 +201,14 @@ def check_packages(module, packages, state): module.exit_json(change=False, msg="package(s) already %s" % state) - - def main(): module = AnsibleModule( - argument_spec = dict( - name = dict(aliases=['pkg']), - state = dict(default='present', choices=['present', 'installed', "latest", 'absent', 'removed']), - executable = dict(default=None, required=False, type='path')), - required_one_of = [['name']], - supports_check_mode = True) - - + argument_spec=dict( + name=dict(aliases=['pkg']), + state=dict(default='present', choices=['present', 'installed', "latest", 'absent', 'removed']), + executable=dict(default=None, required=False, type='path')), + required_one_of=[['name']], + supports_check_mode=True) p = module.params |