1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Assorted pylint fixes

This commit is contained in:
Dag Wieers 2019-02-14 21:02:27 +01:00 committed by Matt Clay
parent 8e0f95951d
commit f9ab9b4d68
65 changed files with 343 additions and 473 deletions

View file

@ -152,7 +152,7 @@ def get_connection(module):
elif network_api == 'netconf':
module.connection = NetconfConnection(module._socket_path)
else:
module.fail_json(msg='Invalid connection type {!s}'.format(network_api))
module.fail_json(msg='Invalid connection type {0!s}'.format(network_api))
return module.connection
@ -318,7 +318,7 @@ def etree_findall(root, node):
def is_cliconf(module):
capabilities = get_device_capabilities(module)
return True if capabilities.get('network_api') == 'cliconf' else False
return (capabilities.get('network_api') == 'cliconf')
def is_netconf(module):

View file

@ -1,4 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -181,7 +183,7 @@ def get_api_definitions(module, swagger_file=None, swagger_dict=None, swagger_te
with open(swagger_file) as f:
apidata = f.read()
except OSError as e:
msg = "Failed trying to read swagger file {}: {}".format(str(swagger_file), str(e))
msg = "Failed trying to read swagger file {0}: {1}".format(str(swagger_file), str(e))
module.fail_json(msg=msg, exception=traceback.format_exc())
if swagger_dict is not None:
apidata = json.dumps(swagger_dict)
@ -216,7 +218,7 @@ def delete_rest_api(module, client, api_id):
try:
delete_response = delete_api(client, api_id=api_id)
except (botocore.exceptions.ClientError, botocore.exceptions.EndpointConnectionError) as e:
module.fail_json_aws(e, msg="deleting API {}".format(api_id))
module.fail_json_aws(e, msg="deleting API {0}".format(api_id))
return delete_response
@ -235,7 +237,7 @@ def ensure_api_in_correct_state(module, client, api_id=None, api_data=None, stag
try:
configure_response = configure_api(client, api_data=api_data, api_id=api_id)
except (botocore.exceptions.ClientError, botocore.exceptions.EndpointConnectionError) as e:
module.fail_json_aws(e, msg="configuring API {}".format(api_id))
module.fail_json_aws(e, msg="configuring API {0}".format(api_id))
deploy_response = None
@ -244,7 +246,7 @@ def ensure_api_in_correct_state(module, client, api_id=None, api_data=None, stag
deploy_response = create_deployment(client, api_id=api_id, stage=stage,
description=deploy_desc)
except (botocore.exceptions.ClientError, botocore.exceptions.EndpointConnectionError) as e:
msg = "deploying api {} to stage {}".format(api_id, stage)
msg = "deploying api {0} to stage {1}".format(api_id, stage)
module.fail_json_aws(e, msg)
return configure_response, deploy_response

View file

@ -1,18 +1,7 @@
#!/usr/bin/python
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
# -*- coding: utf-8 -*
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
@ -734,7 +723,7 @@ def get_arn_from_kms_alias(kms, aliasname):
key_id = a['TargetKeyId']
break
if not key_id:
raise Exception('could not find alias {}'.format(aliasname))
raise Exception('could not find alias {0}'.format(aliasname))
# now that we have the ID for the key, we need to get the key's ARN. The alias
# has an ARN but we need the key itself.
@ -742,14 +731,14 @@ def get_arn_from_kms_alias(kms, aliasname):
for k in ret['Keys']:
if k['KeyId'] == key_id:
return k['KeyArn']
raise Exception('could not find key from id: {}'.format(key_id))
raise Exception('could not find key from id: {0}'.format(key_id))
def get_arn_from_role_name(iam, rolename):
ret = iam.get_role(RoleName=rolename)
if ret.get('Role') and ret['Role'].get('Arn'):
return ret['Role']['Arn']
raise Exception('could not find arn for name {}.'.format(rolename))
raise Exception('could not find arn for name {0}.'.format(rolename))
def do_grant(kms, keyarn, role_arn, granttypes, mode='grant', dry_run=True, clean_invalid_entries=True):
@ -826,7 +815,7 @@ def assert_policy_shape(policy):
'''Since the policy seems a little, uh, fragile, make sure we know approximately what we're looking at.'''
errors = []
if policy['Version'] != "2012-10-17":
errors.append('Unknown version/date ({}) of policy. Things are probably different than we assumed they were.'.format(policy['Version']))
errors.append('Unknown version/date ({0}) of policy. Things are probably different than we assumed they were.'.format(policy['Version']))
found_statement_type = {}
for statement in policy['Statement']:
@ -836,10 +825,10 @@ def assert_policy_shape(policy):
for statementtype in statement_label.keys():
if not found_statement_type.get(statementtype):
errors.append('Policy is missing {}.'.format(statementtype))
errors.append('Policy is missing {0}.'.format(statementtype))
if len(errors):
raise Exception('Problems asserting policy shape. Cowardly refusing to modify it: {}'.format(' '.join(errors)))
raise Exception('Problems asserting policy shape. Cowardly refusing to modify it: {0}'.format(' '.join(errors)))
return None
@ -881,13 +870,13 @@ def main():
if module.params['role_name'] and not module.params['role_arn']:
module.params['role_arn'] = get_arn_from_role_name(iam, module.params['role_name'])
if not module.params['role_arn']:
module.fail_json(msg='role_arn or role_name is required to {}'.format(module.params['mode']))
module.fail_json(msg='role_arn or role_name is required to {0}'.format(module.params['mode']))
# check the grant types for 'grant' only.
if mode == 'grant':
for g in module.params['grant_types']:
if g not in statement_label:
module.fail_json(msg='{} is an unknown grant type.'.format(g))
module.fail_json(msg='{0} is an unknown grant type.'.format(g))
ret = do_grant(kms, module.params['key_arn'], module.params['role_arn'], module.params['grant_types'],
mode=mode,

View file

@ -1,4 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -227,7 +229,7 @@ def _find_address_by_ip(ec2, public_ip):
try:
return ec2.get_all_addresses([public_ip])[0]
except boto.exception.EC2ResponseError as e:
if "Address '{}' not found.".format(public_ip) not in e.message:
if "Address '{0}' not found.".format(public_ip) not in e.message:
raise

View file

@ -1,4 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -191,8 +193,8 @@ class EcsEcr:
if registry_id:
default_registry_id = self.sts.get_caller_identity().get('Account')
if registry_id != default_registry_id:
raise Exception('Cannot create repository in registry {}.'
'Would be created in {} instead.'.format(
raise Exception('Cannot create repository in registry {0}.'
'Would be created in {1} instead.'.format(
registry_id, default_registry_id))
if not self.check_mode:
repo = self.ecr.create_repository(repositoryName=name).get('repository')
@ -216,9 +218,9 @@ class EcsEcr:
if self.get_repository(registry_id, name) is None:
printable = name
if registry_id:
printable = '{}:{}'.format(registry_id, name)
printable = '{0}:{1}'.format(registry_id, name)
raise Exception(
'could not find repository {}'.format(printable))
'could not find repository {0}'.format(printable))
return
def delete_repository(self, registry_id, name):

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2014, Michael J. Schultz <mjschultz@gmail.com>
# Copyright: (c) 2014, Michael J. Schultz <mjschultz@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -135,7 +135,7 @@ from ansible.module_utils.aws.core import AnsibleAWSModule
def arn_topic_lookup(module, client, short_topic):
lookup_topic = ':{}'.format(short_topic)
lookup_topic = ':{0}'.format(short_topic)
try:
paginator = client.get_paginator('list_topics')
@ -206,7 +206,7 @@ def main():
sns_kwargs['TopicArn'] = arn_topic_lookup(module, client, topic)
if not sns_kwargs['TopicArn']:
module.fail_json(msg='Could not find topic: {}'.format(topic))
module.fail_json(msg='Could not find topic: {0}'.format(topic))
if sns_kwargs['MessageStructure'] == 'json':
sns_kwargs['Message'] = json.dumps(dict_msg)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
#
# Copyright (c) 2017 Julien Stroheker, <juliens@microsoft.com>
#
# -*- coding: utf-8 -*
# Copyright: (c) 2017, Julien Stroheker <juliens@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -545,7 +545,7 @@ class AzureRMContainerService(AzureRMModuleBase):
mastercount = self.master_profile[0].get('count')
if mastercount != 1 and mastercount != 3 and mastercount != 5:
self.fail('Master Count number wrong : {} / should be 1 3 or 5'.format(mastercount))
self.fail('Master Count number wrong : {0} / should be 1 3 or 5'.format(mastercount))
# For now Agent Pool cannot be more than 1, just remove this part in the future if it change
agentpoolcount = len(self.agent_pool_profiles)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
#
# Copyright (c) 2016 Julien Stroheker, <juliens@microsoft.com>
# -*- coding: utf-8 -*-
# Copyright: (c) 2016, Julien Stroheker <juliens@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -126,7 +126,7 @@ class AzureRMAvailabilitySetFacts(AzureRMModuleBase):
def get_item(self):
"""Get a single availability set"""
self.log('Get properties for {}'.format(self.name))
self.log('Get properties for {0}'.format(self.name))
item = None
result = []
@ -153,7 +153,7 @@ class AzureRMAvailabilitySetFacts(AzureRMModuleBase):
try:
response = self.compute_client.availability_sets.list(self.resource_group)
except CloudError as exc:
self.fail('Failed to list all items - {}'.format(str(exc)))
self.fail('Failed to list all items - {0}'.format(str(exc)))
results = []
for item in response:

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
#
# Copyright (c) 2016 Thomas Stringer, <tomstr@microsoft.com>
#
# -*- coding: utf-8 -*-
# Copyright: (c) 2016, Thomas Stringer <tomstr@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -207,7 +207,7 @@ class AzureRMFunctionApp(AzureRMModuleBase):
)
self.results['changed'] = True
except CloudError as exc:
self.fail('Failure while deleting web app: {}'.format(exc))
self.fail('Failure while deleting web app: {0}'.format(exc))
else:
self.results['changed'] = False
else:
@ -235,7 +235,7 @@ class AzureRMFunctionApp(AzureRMModuleBase):
).result()
self.results['state'] = new_function_app.as_dict()
except CloudError as exc:
self.fail('Error creating or updating web app: {}'.format(exc))
self.fail('Error creating or updating web app: {0}'.format(exc))
return self.results
@ -289,7 +289,7 @@ class AzureRMFunctionApp(AzureRMModuleBase):
def storage_connection_string(self):
"""Construct the storage account connection string"""
return 'DefaultEndpointsProtocol=https;AccountName={};AccountKey={}'.format(
return 'DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}'.format(
self.storage_account,
self.storage_key
)

View file

@ -1,5 +1,7 @@
#!/usr/bin/python
# Copyright (c) 2016 Thomas Stringer, <tomstr@microsoft.com>
# -*- coding: utf-8 -*-
# Copyright: (c) 2016, Thomas Stringer <tomstr@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -782,7 +784,7 @@ class AzureRMLoadBalancer(AzureRMModuleBase):
def get_public_ip_address_instance(self, id):
"""Get a reference to the public ip address resource"""
self.log('Fetching public ip address {}'.format(id))
self.log('Fetching public ip address {0}'.format(id))
resource_id = format_resource_id(id, self.subscription_id, 'Microsoft.Network', 'publicIPAddresses', self.resource_group)
return self.network_models.PublicIPAddress(id=resource_id)
@ -844,7 +846,7 @@ def default_compare(new, old, path):
def frontend_ip_configuration_id(subscription_id, resource_group_name, load_balancer_name, name):
"""Generate the id for a frontend ip configuration"""
return '/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/frontendIPConfigurations/{}'.format(
return '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Network/loadBalancers/{2}/frontendIPConfigurations/{3}'.format(
subscription_id,
resource_group_name,
load_balancer_name,
@ -854,7 +856,7 @@ def frontend_ip_configuration_id(subscription_id, resource_group_name, load_bala
def backend_address_pool_id(subscription_id, resource_group_name, load_balancer_name, name):
"""Generate the id for a backend address pool"""
return '/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/backendAddressPools/{}'.format(
return '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Network/loadBalancers/{2}/backendAddressPools/{3}'.format(
subscription_id,
resource_group_name,
load_balancer_name,
@ -864,7 +866,7 @@ def backend_address_pool_id(subscription_id, resource_group_name, load_balancer_
def probe_id(subscription_id, resource_group_name, load_balancer_name, name):
"""Generate the id for a probe"""
return '/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Network/loadBalancers/{}/probes/{}'.format(
return '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Network/loadBalancers/{2}/probes/{3}'.format(
subscription_id,
resource_group_name,
load_balancer_name,

View file

@ -1,22 +1,9 @@
#!/usr/bin/python
#
# Copyright (c) 2016 Thomas Stringer, <tomstr@microsoft.com>
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
#
# -*- coding: utf-8 -*-
# Copyright: (c) 2016, Thomas Stringer <tomstr@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
__metaclass__ = type
@ -136,7 +123,7 @@ class AzureRMLoadBalancerFacts(AzureRMModuleBase):
def get_item(self):
"""Get a single load balancer"""
self.log('Get properties for {}'.format(self.name))
self.log('Get properties for {0}'.format(self.name))
item = None
result = []
@ -160,12 +147,12 @@ class AzureRMLoadBalancerFacts(AzureRMModuleBase):
try:
response = self.network_client.load_balancers.list(self.resource_group)
except AzureHttpError as exc:
self.fail('Failed to list items in resource group {} - {}'.format(self.resource_group, str(exc)))
self.fail('Failed to list items in resource group {0} - {1}'.format(self.resource_group, str(exc)))
else:
try:
response = self.network_client.load_balancers.list_all()
except AzureHttpError as exc:
self.fail('Failed to list all items - {}'.format(str(exc)))
self.fail('Failed to list all items - {0}'.format(str(exc)))
results = []
for item in response:

View file

@ -1,21 +1,10 @@
#!/usr/bin/python
#
# Copyright (c) 2016 Bruno Medina Bolanos Cacho, <bruno.medina@microsoft.com>
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# -*- coding: utf-8 -*-
# Copyright: (c) 2016, Bruno Medina Bolanos Cacho <bruno.medina@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
__metaclass__ = type
@ -202,7 +191,7 @@ class AzureRMManagedDiskFacts(AzureRMModuleBase):
try:
response = self.compute_client.disks.list()
except CloudError as exc:
self.fail('Failed to list all items - {}'.format(str(exc)))
self.fail('Failed to list all items - {0}'.format(str(exc)))
results = []
for item in response:

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
#
# Copyright (c) 2017 Sertac Ozercan, <seozerca@microsoft.com>
# -*- coding: utf-8 -*-
# Copyright: (c) 2017, Sertac Ozercan <seozerca@microsoft.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -373,7 +373,7 @@ class AzureRMVirtualMachineScaleSetFacts(AzureRMModuleBase):
def get_item(self):
"""Get a single virtual machine scale set"""
self.log('Get properties for {}'.format(self.name))
self.log('Get properties for {0}'.format(self.name))
item = None
results = []
@ -396,7 +396,7 @@ class AzureRMVirtualMachineScaleSetFacts(AzureRMModuleBase):
try:
response = self.compute_client.virtual_machine_scale_sets.list(self.resource_group)
except CloudError as exc:
self.fail('Failed to list all items - {}'.format(str(exc)))
self.fail('Failed to list all items - {0}'.format(str(exc)))
results = []
for item in response:

View file

@ -1,6 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -127,7 +127,7 @@ class DOBlockStorage(object):
return v
def poll_action_for_complete_status(self, action_id):
url = 'actions/{}'.format(action_id)
url = 'actions/{0}'.format(action_id)
end_time = time.time() + self.module.params['timeout']
while time.time() < end_time:
time.sleep(2)
@ -142,7 +142,7 @@ class DOBlockStorage(object):
raise DOBlockStorageException('Unable to reach api.digitalocean.com')
def get_attached_droplet_ID(self, volume_name, region):
url = 'volumes?name={}&region={}'.format(volume_name, region)
url = 'volumes?name={0}&region={1}'.format(volume_name, region)
response = self.rest.get(url)
status = response.status_code
json = response.json
@ -207,7 +207,7 @@ class DOBlockStorage(object):
def delete_block_storage(self):
volume_name = self.get_key_or_fail('volume_name')
region = self.get_key_or_fail('region')
url = 'volumes?name={}&region={}'.format(volume_name, region)
url = 'volumes?name={0}&region={1}'.format(volume_name, region)
attached_droplet_id = self.get_attached_droplet_ID(volume_name, region)
if attached_droplet_id is not None:
self.attach_detach_block_storage('detach', volume_name, region, attached_droplet_id)

View file

@ -1,4 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -416,7 +418,7 @@ def create_instance_template(module, gce):
changed = True
except GoogleBaseError as err:
module.fail_json(
msg='Unexpected error attempting to create instance {}, error: {}'
msg='Unexpected error attempting to create instance {0}, error: {1}'
.format(
instance,
err.value

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Hiroaki Nakamura <hnakamur@gmail.com>
# Copyright: (c) 2016, Hiroaki Nakamura <hnakamur@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -585,11 +585,11 @@ def main():
),
key_file=dict(
type='str',
default='{}/.config/lxc/client.key'.format(os.environ['HOME'])
default='{0}/.config/lxc/client.key'.format(os.environ['HOME'])
),
cert_file=dict(
type='str',
default='{}/.config/lxc/client.crt'.format(os.environ['HOME'])
default='{0}/.config/lxc/client.crt'.format(os.environ['HOME'])
),
trust_password=dict(type='str', no_log=True)
),

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Hiroaki Nakamura <hnakamur@gmail.com>
# Copyright: (c) 2016, Hiroaki Nakamura <hnakamur@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -263,7 +263,7 @@ class LXDProfileManagement(object):
def _rename_profile(self):
config = {'name': self.new_name}
self.client.do('POST', '/1.0/profiles/{}'.format(self.name), config)
self.client.do('POST', '/1.0/profiles/{0}'.format(self.name), config)
self.actions.append('rename')
self.name = self.new_name
@ -284,11 +284,11 @@ class LXDProfileManagement(object):
config = self.old_profile_json.copy()
for k, v in self.config.items():
config[k] = v
self.client.do('PUT', '/1.0/profiles/{}'.format(self.name), config)
self.client.do('PUT', '/1.0/profiles/{0}'.format(self.name), config)
self.actions.append('apply_profile_configs')
def _delete_profile(self):
self.client.do('DELETE', '/1.0/profiles/{}'.format(self.name))
self.client.do('DELETE', '/1.0/profiles/{0}'.format(self.name))
self.actions.append('delete')
def run(self):
@ -354,11 +354,11 @@ def main():
),
key_file=dict(
type='str',
default='{}/.config/lxc/client.key'.format(os.environ['HOME'])
default='{0}/.config/lxc/client.key'.format(os.environ['HOME'])
),
cert_file=dict(
type='str',
default='{}/.config/lxc/client.crt'.format(os.environ['HOME'])
default='{0}/.config/lxc/client.crt'.format(os.environ['HOME'])
),
trust_password=dict(type='str', no_log=True)
),

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Abdoul Bah (@helldorado) <bahabdoul at gmail.com>
# Copyright: (c) 2016, Abdoul Bah (@helldorado) <bahabdoul at gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -675,7 +675,7 @@ def create_vm(module, proxmox, vmid, newid, node, name, memory, cpu, cores, sock
valid_clone_params = ['format', 'full', 'pool', 'snapname', 'storage', 'target']
clone_params = {}
# Default args for vm. Note: -args option is for experts only. It allows you to pass arbitrary arguments to kvm.
vm_args = "-serial unix:/var/run/qemu-server/{}.serial,server,nowait".format(vmid)
vm_args = "-serial unix:/var/run/qemu-server/{0}.serial,server,nowait".format(vmid)
proxmox_node = proxmox.nodes(node)
@ -909,7 +909,7 @@ def main():
try:
vmid = get_nextvmid(module, proxmox)
except Exception as e:
module.fail_json(msg="Can't get the next vmid for VM {} automatically. Ensure your cluster state is good".format(name))
module.fail_json(msg="Can't get the next vmid for VM {0} automatically. Ensure your cluster state is good".format(name))
else:
try:
if not clone:
@ -918,9 +918,9 @@ def main():
vmid = get_vmid(proxmox, clone)[0]
except Exception as e:
if not clone:
module.fail_json(msg="VM {} does not exist in cluster.".format(name))
module.fail_json(msg="VM {0} does not exist in cluster.".format(name))
else:
module.fail_json(msg="VM {} does not exist in cluster.".format(clone))
module.fail_json(msg="VM {0} does not exist in cluster.".format(clone))
if clone is not None:
if get_vmid(proxmox, name):
@ -933,7 +933,7 @@ def main():
try:
newid = get_nextvmid(module, proxmox)
except Exception as e:
module.fail_json(msg="Can't get the next vmid for VM {} automatically. Ensure your cluster state is good".format(name))
module.fail_json(msg="Can't get the next vmid for VM {0} automatically. Ensure your cluster state is good".format(name))
else:
vm = get_vm(proxmox, newid)
if vm:
@ -942,15 +942,15 @@ def main():
if delete is not None:
try:
settings(module, proxmox, vmid, node, name, timeout, delete=delete)
module.exit_json(changed=True, msg="Settings has deleted on VM {} with vmid {}".format(name, vmid))
module.exit_json(changed=True, msg="Settings has deleted on VM {0} with vmid {1}".format(name, vmid))
except Exception as e:
module.fail_json(msg='Unable to delete settings on VM {} with vmid {}: '.format(name, vmid) + str(e))
module.fail_json(msg='Unable to delete settings on VM {0} with vmid {1}: '.format(name, vmid) + str(e))
elif revert is not None:
try:
settings(module, proxmox, vmid, node, name, timeout, revert=revert)
module.exit_json(changed=True, msg="Settings has reverted on VM {} with vmid {}".format(name, vmid))
module.exit_json(changed=True, msg="Settings has reverted on VM {0} with vmid {1}".format(name, vmid))
except Exception as e:
module.fail_json(msg='Unable to revert settings on VM {} with vmid {}: Maybe is not a pending task... '.format(name, vmid) + str(e))
module.fail_json(msg='Unable to revert settings on VM {0} with vmid {1}: Maybe is not a pending task... '.format(name, vmid) + str(e))
if state == 'present':
try:
@ -1031,9 +1031,9 @@ def main():
module.exit_json(changed=True, msg="VM %s with vmid %s deployed" % (name, vmid), **results)
except Exception as e:
if update:
module.fail_json(msg="Unable to update vm {} with vmid {}=".format(name, vmid) + str(e))
module.fail_json(msg="Unable to update vm {0} with vmid {1}=".format(name, vmid) + str(e))
elif clone is not None:
module.fail_json(msg="Unable to clone vm {} from vmid {}=".format(name, vmid) + str(e))
module.fail_json(msg="Unable to clone vm {0} from vmid {1}=".format(name, vmid) + str(e))
else:
module.fail_json(msg="creation of %s VM %s with vmid %s failed with exception=%s" % (VZ_TYPE, name, vmid, e))
@ -1111,7 +1111,7 @@ def main():
if status:
module.exit_json(changed=False, msg="VM %s with vmid = %s is %s" % (name, vmid, current), **status)
except Exception as e:
module.fail_json(msg="Unable to get vm {} with vmid = {} status: ".format(name, vmid) + str(e))
module.fail_json(msg="Unable to get vm {0} with vmid = {1} status: ".format(name, vmid) + str(e))
if __name__ == '__main__':

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Ryan Scott Brown <ryansb@redhat.com>
# Copyright: (c) 2016, Ryan Scott Brown <ryansb@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -147,9 +147,9 @@ def read_serverless_config(module):
config = yaml.safe_load(sls_config.read())
return config
except IOError as e:
module.fail_json(msg="Could not open serverless.yml in {}. err: {}".format(path, str(e)), exception=traceback.format_exc())
module.fail_json(msg="Could not open serverless.yml in {0}. err: {1}".format(path, str(e)), exception=traceback.format_exc())
module.fail_json(msg="Failed to open serverless config at {}".format(
module.fail_json(msg="Failed to open serverless config at {0}".format(
os.path.join(path, 'serverless.yml')))
@ -159,9 +159,9 @@ def get_service_name(module, stage):
module.fail_json(msg="Could not read `service` key from serverless.yml file")
if stage:
return "{}-{}".format(config['service'], stage)
return "{0}-{1}".format(config['service'], stage)
return "{}-{}".format(config['service'], config.get('stage', 'dev'))
return "{0}-{1}".format(config['service'], config.get('stage', 'dev'))
def main():
@ -202,7 +202,7 @@ def main():
elif state == 'absent':
command += 'remove '
else:
module.fail_json(msg="State must either be 'present' or 'absent'. Received: {}".format(state))
module.fail_json(msg="State must either be 'present' or 'absent'. Received: {0}".format(state))
if state == 'present':
if not deploy:
@ -211,19 +211,19 @@ def main():
command += '--force '
if region:
command += '--region {} '.format(region)
command += '--region {0} '.format(region)
if stage:
command += '--stage {} '.format(stage)
command += '--stage {0} '.format(stage)
if verbose:
command += '--verbose '
rc, out, err = module.run_command(command, cwd=service_path)
if rc != 0:
if state == 'absent' and "-{}' does not exist".format(stage) in out:
if state == 'absent' and "-{0}' does not exist".format(stage) in out:
module.exit_json(changed=False, state='absent', command=command,
out=out, service_name=get_service_name(module, stage))
module.fail_json(msg="Failure when executing Serverless command. Exited {}.\nstdout: {}\nstderr: {}".format(rc, out, err))
module.fail_json(msg="Failure when executing Serverless command. Exited {0}.\nstdout: {1}\nstderr: {2}".format(rc, out, err))
# gather some facts about the deployment
module.exit_json(changed=True, state='present', out=out, command=command,

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Copyright (c) 2016, Adfinis SyGroup AG
# Copyright: (c) 2016, Adfinis SyGroup AG
# Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -125,13 +125,13 @@ def main():
changed = False
obj = list(ldap_search(
'(&(objectClass=dNSZone)(zoneName={})(relativeDomainName={}))'.format(zone, name),
'(&(objectClass=dNSZone)(zoneName={0})(relativeDomainName={1}))'.format(zone, name),
attr=['dNSZone']
))
exists = bool(len(obj))
container = 'zoneName={},cn=dns,{}'.format(zone, base_dn())
dn = 'relativeDomainName={},{}'.format(name, container)
container = 'zoneName={0},cn=dns,{1}'.format(zone, base_dn())
dn = 'relativeDomainName={0},{1}'.format(name, container)
if state == 'present':
try:
@ -139,17 +139,17 @@ def main():
so = forward_zone.lookup(
config(),
uldap(),
'(zone={})'.format(zone),
'(zone={0})'.format(zone),
scope='domain',
) or reverse_zone.lookup(
config(),
uldap(),
'(zone={})'.format(zone),
'(zone={0})'.format(zone),
scope='domain',
)
obj = umc_module_for_add('dns/{}'.format(type), container, superordinate=so[0])
obj = umc_module_for_add('dns/{0}'.format(type), container, superordinate=so[0])
else:
obj = umc_module_for_edit('dns/{}'.format(type), dn)
obj = umc_module_for_edit('dns/{0}'.format(type), dn)
obj['name'] = name
for k, v in data.items():
obj[k] = v
@ -162,18 +162,18 @@ def main():
obj.modify()
except Exception as e:
module.fail_json(
msg='Creating/editing dns entry {} in {} failed: {}'.format(name, container, e)
msg='Creating/editing dns entry {0} in {1} failed: {2}'.format(name, container, e)
)
if state == 'absent' and exists:
try:
obj = umc_module_for_edit('dns/{}'.format(type), dn)
obj = umc_module_for_edit('dns/{0}'.format(type), dn)
if not module.check_mode:
obj.remove()
changed = True
except Exception as e:
module.fail_json(
msg='Removing dns entry {} in {} failed: {}'.format(name, container, e)
msg='Removing dns entry {0} in {1} failed: {2}'.format(name, container, e)
)
module.exit_json(

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Copyright (c) 2016, Adfinis SyGroup AG
# Copyright: (c) 2016, Adfinis SyGroup AG
# Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -122,7 +122,7 @@ def convert_time(time):
return ('0', 'seconds')
for unit in units:
if time >= unit[0]:
return ('{}'.format(time // unit[0]), unit[1])
return ('{0}'.format(time // unit[0]), unit[1])
def main():
@ -172,22 +172,22 @@ def main():
changed = False
obj = list(ldap_search(
'(&(objectClass=dNSZone)(zoneName={}))'.format(zone),
'(&(objectClass=dNSZone)(zoneName={0}))'.format(zone),
attr=['dNSZone']
))
exists = bool(len(obj))
container = 'cn=dns,{}'.format(base_dn())
dn = 'zoneName={},{}'.format(zone, container)
container = 'cn=dns,{0}'.format(base_dn())
dn = 'zoneName={0},{1}'.format(zone, container)
if contact == '':
contact = 'root@{}.'.format(zone)
contact = 'root@{0}.'.format(zone)
if state == 'present':
try:
if not exists:
obj = umc_module_for_add('dns/{}'.format(type), container)
obj = umc_module_for_add('dns/{0}'.format(type), container)
else:
obj = umc_module_for_edit('dns/{}'.format(type), dn)
obj = umc_module_for_edit('dns/{0}'.format(type), dn)
obj['zone'] = zone
obj['nameserver'] = nameserver
obj['a'] = interfaces
@ -211,18 +211,18 @@ def main():
obj.modify()
except Exception as e:
module.fail_json(
msg='Creating/editing dns zone {} failed: {}'.format(zone, e)
msg='Creating/editing dns zone {0} failed: {1}'.format(zone, e)
)
if state == 'absent' and exists:
try:
obj = umc_module_for_edit('dns/{}'.format(type), dn)
obj = umc_module_for_edit('dns/{0}'.format(type), dn)
if not module.check_mode:
obj.remove()
changed = True
except Exception as e:
module.fail_json(
msg='Removing dns zone {} failed: {}'.format(zone, e)
msg='Removing dns zone {0} failed: {1}'.format(zone, e)
)
module.exit_json(

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Copyright (c) 2016, Adfinis SyGroup AG
# Copyright: (c) 2016, Adfinis SyGroup AG
# Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -114,18 +114,18 @@ def main():
changed = False
groups = list(ldap_search(
'(&(objectClass=posixGroup)(cn={}))'.format(name),
'(&(objectClass=posixGroup)(cn={0}))'.format(name),
attr=['cn']
))
if position != '':
container = position
else:
if ou != '':
ou = 'ou={},'.format(ou)
ou = 'ou={0},'.format(ou)
if subpath != '':
subpath = '{},'.format(subpath)
container = '{}{}{}'.format(subpath, ou, base_dn())
group_dn = 'cn={},{}'.format(name, container)
subpath = '{0},'.format(subpath)
container = '{0}{1}{2}'.format(subpath, ou, base_dn())
group_dn = 'cn={0},{1}'.format(name, container)
exists = bool(len(groups))
@ -146,7 +146,7 @@ def main():
grp.modify()
except Exception:
module.fail_json(
msg="Creating/editing group {} in {} failed".format(name, container)
msg="Creating/editing group {0} in {1} failed".format(name, container)
)
if state == 'absent' and exists:
@ -157,7 +157,7 @@ def main():
changed = True
except Exception:
module.fail_json(
msg="Removing group {} failed".format(name)
msg="Removing group {0} failed".format(name)
)
module.exit_json(

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Copyright (c) 2016, Adfinis SyGroup AG
# Copyright: (c) 2016, Adfinis SyGroup AG
# Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -479,13 +479,13 @@ def main():
changed = False
obj = list(ldap_search(
'(&(objectClass=univentionShare)(cn={}))'.format(name),
'(&(objectClass=univentionShare)(cn={0}))'.format(name),
attr=['cn']
))
exists = bool(len(obj))
container = 'cn=shares,ou={},{}'.format(module.params['ou'], base_dn())
dn = 'cn={},{}'.format(name, container)
container = 'cn=shares,ou={0},{1}'.format(module.params['ou'], base_dn())
dn = 'cn={0},{1}'.format(name, container)
if state == 'present':
try:
@ -494,7 +494,7 @@ def main():
else:
obj = umc_module_for_edit('shares/share', dn)
module.params['printablename'] = '{} ({})'.format(name, module.params['host'])
module.params['printablename'] = '{0} ({1})'.format(name, module.params['host'])
for k in obj.keys():
if module.params[k] is True:
module.params[k] = '1'
@ -516,7 +516,7 @@ def main():
obj.modify()
except Exception as err:
module.fail_json(
msg='Creating/editing share {} in {} failed: {}'.format(
msg='Creating/editing share {0} in {1} failed: {2}'.format(
name,
container,
err,
@ -531,7 +531,7 @@ def main():
changed = True
except Exception as err:
module.fail_json(
msg='Removing share {} in {} failed: {}'.format(
msg='Removing share {0} in {1} failed: {2}'.format(
name,
container,
err,

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# Copyright (c) 2016, Adfinis SyGroup AG
# Copyright: (c) 2016, Adfinis SyGroup AG
# Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -415,18 +415,18 @@ def main():
changed = False
users = list(ldap_search(
'(&(objectClass=posixAccount)(uid={}))'.format(username),
'(&(objectClass=posixAccount)(uid={0}))'.format(username),
attr=['uid']
))
if position != '':
container = position
else:
if ou != '':
ou = 'ou={},'.format(ou)
ou = 'ou={0},'.format(ou)
if subpath != '':
subpath = '{},'.format(subpath)
container = '{}{}{}'.format(subpath, ou, base_dn())
user_dn = 'uid={},{}'.format(username, container)
subpath = '{0},'.format(subpath)
container = '{0}{1}{2}'.format(subpath, ou, base_dn())
user_dn = 'uid={0},{1}'.format(username, container)
exists = bool(len(users))
@ -438,12 +438,12 @@ def main():
obj = umc_module_for_edit('users/user', user_dn)
if module.params['displayName'] is None:
module.params['displayName'] = '{} {}'.format(
module.params['displayName'] = '{0} {1}'.format(
module.params['firstname'],
module.params['lastname']
)
if module.params['unixhome'] is None:
module.params['unixhome'] = '/home/{}'.format(
module.params['unixhome'] = '/home/{0}'.format(
module.params['username']
)
for k in obj.keys():
@ -479,7 +479,7 @@ def main():
obj.modify()
except Exception:
module.fail_json(
msg="Creating/editing user {} in {} failed".format(
msg="Creating/editing user {0} in {1} failed".format(
username,
container
)
@ -487,7 +487,7 @@ def main():
try:
groups = module.params['groups']
if groups:
filter = '(&(objectClass=posixGroup)(|(cn={})))'.format(
filter = '(&(objectClass=posixGroup)(|(cn={0})))'.format(
')(cn='.join(groups)
)
group_dns = list(ldap_search(filter, attr=['dn']))
@ -500,7 +500,7 @@ def main():
changed = True
except Exception:
module.fail_json(
msg="Adding groups to user {} failed".format(username)
msg="Adding groups to user {0} failed".format(username)
)
if state == 'absent' and exists:
@ -511,7 +511,7 @@ def main():
changed = True
except Exception:
module.fail_json(
msg="Removing user {} failed".format(username)
msg="Removing user {0} failed".format(username)
)
module.exit_json(

View file

@ -128,7 +128,7 @@ class VMwareConfigurationBackup(PyVmomi):
def load_configuration(self):
if not os.path.isfile(self.src):
self.module.fail_json(msg="Source file {} does not exist".format(self.src))
self.module.fail_json(msg="Source file {0} does not exist".format(self.src))
url = self.host.configManager.firmwareSystem.QueryFirmwareConfigUploadURL()
url = url.replace('*', self.host.name)

View file

@ -1,11 +1,12 @@
#!/usr/bin/python
#
# (c) Quentin Stafford-Fraser 2015, with contributions gratefully acknowledged from:
# -*- coding: utf-8 -*-
# Copyright: (c) 2015, Quentin Stafford-Fraser, with contributions gratefully acknowledged from:
# * Andy Baker
# * Federico Tarantini
#
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
# Create a Webfaction application using Ansible and the Webfaction API
#
# Valid application types can be found by looking here:
@ -183,7 +184,7 @@ def main():
)
else:
module.fail_json(msg="Unknown state specified: {}".format(app_state))
module.fail_json(msg="Unknown state specified: {0}".format(app_state))
module.exit_json(
changed=True,

View file

@ -1,11 +1,12 @@
#!/usr/bin/python
#
# (c) Quentin Stafford-Fraser 2015, with contributions gratefully acknowledged from:
# -*- coding: utf-8 -*-
# Copyright: (c) 2015, Quentin Stafford-Fraser, with contributions gratefully acknowledged from:
# * Andy Baker
# * Federico Tarantini
#
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
# Create a webfaction database using Ansible and the Webfaction API
from __future__ import absolute_import, division, print_function
@ -181,7 +182,7 @@ def main():
)
else:
module.fail_json(msg="Unknown state specified: {}".format(db_state))
module.fail_json(msg="Unknown state specified: {0}".format(db_state))
module.exit_json(
changed=True,

View file

@ -1,8 +1,9 @@
#!/usr/bin/python
#
# (c) Quentin Stafford-Fraser 2015
# -*- coding: utf-8 -*-
# Copyright: (c) 2015, Quentin Stafford-Fraser
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
# Create Webfaction domains and subdomains using Ansible and the Webfaction API
from __future__ import absolute_import, division, print_function
@ -155,7 +156,7 @@ def main():
)
else:
module.fail_json(msg="Unknown state specified: {}".format(domain_state))
module.fail_json(msg="Unknown state specified: {0}".format(domain_state))
module.exit_json(
changed=True,

View file

@ -1,8 +1,9 @@
#!/usr/bin/python
#
# (c) Quentin Stafford-Fraser and Andy Baker 2015
# -*- coding: utf-8 -*-
# Copyright: (c) 2015, Quentin Stafford-Fraser and Andy Baker
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
# Create webfaction mailbox using Ansible and the Webfaction API
from __future__ import absolute_import, division, print_function
@ -126,7 +127,7 @@ def main():
result.update(webfaction.delete_mailbox(session_id, mailbox_name))
else:
module.fail_json(msg="Unknown state specified: {}".format(site_state))
module.fail_json(msg="Unknown state specified: {0}".format(site_state))
module.exit_json(changed=True, result=result)

View file

@ -1,7 +1,9 @@
#!/usr/bin/python
# (c) Quentin Stafford-Fraser 2015
# -*- coding: utf-8 -*-
# Copyright: (c) 2015, Quentin Stafford-Fraser
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
# Create Webfaction website using Ansible and the Webfaction API
from __future__ import absolute_import, division, print_function
@ -190,7 +192,7 @@ def main():
)
else:
module.fail_json(msg="Unknown state specified: {}".format(site_state))
module.fail_json(msg="Unknown state specified: {0}".format(site_state))
module.exit_json(
changed=True,

View file

@ -106,15 +106,15 @@ def grafana_cli_bin(params):
raise GrafanaCliException('grafana-cli binary is not present or not in PATH')
else:
if 'grafana_plugin_url' in params and params['grafana_plugin_url']:
grafana_cli = '{} {} {}'.format(grafana_cli, '--pluginUrl', params['grafana_plugin_url'])
grafana_cli = '{0} {1} {2}'.format(grafana_cli, '--pluginUrl', params['grafana_plugin_url'])
if 'grafana_plugins_dir' in params and params['grafana_plugins_dir']:
grafana_cli = '{} {} {}'.format(grafana_cli, '--pluginsDir', params['grafana_plugins_dir'])
grafana_cli = '{0} {1} {2}'.format(grafana_cli, '--pluginsDir', params['grafana_plugins_dir'])
if 'grafana_repo' in params and params['grafana_repo']:
grafana_cli = '{} {} {}'.format(grafana_cli, '--repo', params['grafana_repo'])
grafana_cli = '{0} {1} {2}'.format(grafana_cli, '--repo', params['grafana_repo'])
if 'validate_certs' in params and params['validate_certs'] is False:
grafana_cli = '{} {}'.format(grafana_cli, '--insecure')
grafana_cli = '{0} {1}'.format(grafana_cli, '--insecure')
return '{} {}'.format(grafana_cli, 'plugins')
return '{0} {1}'.format(grafana_cli, 'plugins')
def get_grafana_plugin_version(module, params):
@ -125,7 +125,7 @@ def get_grafana_plugin_version(module, params):
:param params: ansible module params.
'''
grafana_cli = grafana_cli_bin(params)
rc, stdout, stderr = module.run_command('{} ls'.format(grafana_cli))
rc, stdout, stderr = module.run_command('{0} ls'.format(grafana_cli))
stdout_lines = stdout.split("\n")
for line in stdout_lines:
if line.find(' @ ') != -1:
@ -155,9 +155,9 @@ def grafana_plugin(module, params):
'version': grafana_plugin_version}
else:
if params['version'] == 'latest' or params['version'] is None:
cmd = '{} update {}'.format(grafana_cli, params['name'])
cmd = '{0} update {1}'.format(grafana_cli, params['name'])
else:
cmd = '{} install {} {}'.format(grafana_cli, params['name'], params['version'])
cmd = '{0} install {1} {2}'.format(grafana_cli, params['name'], params['version'])
else:
return {'msg': 'Grafana plugin already installed',
'changed': False,
@ -165,13 +165,13 @@ def grafana_plugin(module, params):
else:
if 'version' in params:
if params['version'] == 'latest' or params['version'] is None:
cmd = '{} install {}'.format(grafana_cli, params['name'])
cmd = '{0} install {1}'.format(grafana_cli, params['name'])
else:
cmd = '{} install {} {}'.format(grafana_cli, params['name'], params['version'])
cmd = '{0} install {1} {2}'.format(grafana_cli, params['name'], params['version'])
else:
cmd = '{} install {}'.format(grafana_cli, params['name'])
cmd = '{0} install {1}'.format(grafana_cli, params['name'])
else:
cmd = '{} uninstall {}'.format(grafana_cli, params['name'])
cmd = '{0} uninstall {1}'.format(grafana_cli, params['name'])
rc, stdout, stderr = module.run_command(cmd)
if rc == 0:
@ -183,11 +183,11 @@ def grafana_plugin(module, params):
plugin_name, plugin_version = line.split(' @ ')
else:
plugin_version = None
return {'msg': 'Grafana plugin {} installed : {}'.format(params['name'], cmd),
return {'msg': 'Grafana plugin {0} installed : {1}'.format(params['name'], cmd),
'changed': True,
'version': plugin_version}
else:
raise GrafanaCliException("'{}' execution returned an error : [{}] {} {}".format(cmd, rc, stdout, stderr))
raise GrafanaCliException("'{0}' execution returned an error : [{1}] {2} {3}".format(cmd, rc, stdout, stderr))
def main():
@ -210,13 +210,13 @@ def main():
except GrafanaCliException as e:
module.fail_json(
failed=True,
msg="{}".format(e)
msg="{0}".format(e)
)
return
except Exception as e:
module.fail_json(
failed=True,
msg="{} : {} ".format(type(e), e)
msg="{0} : {1} ".format(type(e), e)
)
return

View file

@ -1,4 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -644,7 +646,7 @@ def main():
if not contact_list_id.isdigit() and contact_list_id != '':
contact_list = DME.getContactListByName(contact_list_id)
if not contact_list:
module.fail_json(msg="Contact list {} does not exist".format(contact_list_id))
module.fail_json(msg="Contact list {0} does not exist".format(contact_list_id))
contact_list_id = contact_list.get('id', '')
new_monitor['contactListId'] = contact_list_id
else:

View file

@ -1,6 +1,7 @@
#!/usr/bin/python
#
# (c) 2016, Aleksei Kostiuk <unitoff@gmail.com>
# -*- coding: UTF-8 -*-
# Copyright: (c) 2016, Aleksei Kostiuk <unitoff@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -101,7 +102,7 @@ class IpinfoioFacts(object):
try:
info['status'] == 200
except AssertionError:
self.module.fail_json(msg='Could not get {} page, '
self.module.fail_json(msg='Could not get {0} page, '
'check for connectivity!'.format(self.url))
else:
try:

View file

@ -1,9 +1,8 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2014, Mischa Peters <mpeters@a10networks.com>
# (c) 2016, Eric Chou <ericc@a10networks.com>
#
# Copyright: (c) 2014, Mischa Peters <mpeters@a10networks.com>
# Copyright: (c) 2016, Eric Chou <ericc@a10networks.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -162,7 +161,7 @@ def main():
slb_server_status = module.params['server_status']
slb_server_ports = module.params['server_ports']
axapi_base_url = 'https://{}/axapi/v3/'.format(host)
axapi_base_url = 'https://{0}/axapi/v3/'.format(host)
axapi_auth_url = axapi_base_url + 'auth/'
signature = axapi_authenticate_v3(module, axapi_auth_url, username, password)

View file

@ -1,4 +1,5 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
# Created on July 24, 2017
#
@ -6,8 +7,8 @@
#
# module_check: not supported
#
# Copyright: (c) 2017 Gaurav Rastogi, <grastogi@avinetworks.com>
# Vilian Atmadzhov, <vilian.atmadzhov@paddypowerbetfair.com>
# Copyright: (c) 2017, Gaurav Rastogi <grastogi@avinetworks.com>
# Copyright: (c) 2017, Vilian Atmadzhov <vilian.atmadzhov@paddypowerbetfair.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
#
"""
@ -83,7 +84,7 @@ def main():
api.close()
module.exit_json(changed=False, obj=remote)
except Exception as e:
module.fail_json(msg="Unable to get an AVI session. {}".format(e))
module.fail_json(msg="Unable to get an AVI session. {0}".format(e))
if __name__ == '__main__':

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ted Elhourani <ted@bigswitch.com>
# Copyright: (c) 2017, Ted Elhourani <ted@bigswitch.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -101,7 +101,7 @@ def switch(module, check_mode):
response = rest.get('switch-config', data={})
if response.status_code != 200:
module.fail_json(msg="failed to obtain existing switch config: {}".format(response.json['description']))
module.fail_json(msg="failed to obtain existing switch config: {0}".format(response.json['description']))
config_present = False
for switch in response.json:
@ -127,14 +127,14 @@ def switch(module, check_mode):
if response.status_code == 204:
module.exit_json(changed=True)
else:
module.fail_json(msg="error configuring switch '{}': {}".format(name, response.json['description']))
module.fail_json(msg="error configuring switch '{0}': {1}".format(name, response.json['description']))
if state in ('absent'):
response = rest.delete('switch-config[name="%s"]' % name, data={})
if response.status_code == 204:
module.exit_json(changed=True)
else:
module.fail_json(msg="error deleting switch '{}': {}".format(name, response.json['description']))
module.fail_json(msg="error deleting switch '{0}': {1}".format(name, response.json['description']))
def main():

View file

@ -1,10 +1,11 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Ansible module to manage Big Monitoring Fabric service chains
# (c) 2016, Ted Elhourani <ted@bigswitch.com>
# Copyright: (c) 2016, Ted Elhourani <ted@bigswitch.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible module to manage Big Monitoring Fabric service chains
from __future__ import absolute_import, division, print_function
__metaclass__ = type
@ -88,7 +89,7 @@ def chain(module):
response = rest.get('chain?config=true', data={})
if response.status_code != 200:
module.fail_json(msg="failed to obtain existing chain config: {}".format(response.json['description']))
module.fail_json(msg="failed to obtain existing chain config: {0}".format(response.json['description']))
config_present = False
matching = [chain for chain in response.json if chain['name'] == name]
@ -106,14 +107,14 @@ def chain(module):
if response.status_code == 204:
module.exit_json(changed=True)
else:
module.fail_json(msg="error creating chain '{}': {}".format(name, response.json['description']))
module.fail_json(msg="error creating chain '{0}': {1}".format(name, response.json['description']))
if state in ('absent'):
response = rest.delete('chain[name="%s"]' % name, data={})
if response.status_code == 204:
module.exit_json(changed=True)
else:
module.fail_json(msg="error deleting chain '{}': {}".format(name, response.json['description']))
module.fail_json(msg="error deleting chain '{0}': {1}".format(name, response.json['description']))
def main():

View file

@ -1,10 +1,11 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Ansible module to manage Big Monitoring Fabric service chains
# (c) 2016, Ted Elhourani <ted@bigswitch.com>
# Copyright: (c) 2016, Ted Elhourani <ted@bigswitch.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# Ansible module to manage Big Monitoring Fabric service chains
from __future__ import absolute_import, division, print_function
__metaclass__ = type
@ -121,7 +122,7 @@ def policy(module):
response = rest.get('policy?config=true', data={})
if response.status_code != 200:
module.fail_json(msg="failed to obtain existing policy config: {}".format(response.json['description']))
module.fail_json(msg="failed to obtain existing policy config: {0}".format(response.json['description']))
config_present = False
@ -151,14 +152,14 @@ def policy(module):
if response.status_code == 204:
module.exit_json(changed=True)
else:
module.fail_json(msg="error creating policy '{}': {}".format(name, response.json['description']))
module.fail_json(msg="error creating policy '{0}': {1}".format(name, response.json['description']))
if state in ('absent'):
response = rest.delete('policy[name="%s"]' % name, data={})
if response.status_code == 204:
module.exit_json(changed=True)
else:
module.fail_json(msg="error deleting policy '{}': {}".format(name, response.json['description']))
module.fail_json(msg="error deleting policy '{0}': {1}".format(name, response.json['description']))
def main():

View file

@ -1,20 +1,7 @@
#!/usr/bin/python
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
#
# -*- coding: utf-8 -*-
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
@ -281,7 +268,7 @@ class FileCopy(object):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname, username=username, password=password, port=port)
full_remote_path = '{}{}'.format(self.file_system, dest)
full_remote_path = '{0}{1}'.format(self.file_system, dest)
scp = SCPClient(ssh.get_transport())
try:
scp.put(self.local_file, full_remote_path)
@ -351,7 +338,7 @@ class FileCopy(object):
if not os.path.isfile(self.local_file):
self.module.fail_json(
msg="Local file {} not found".format(self.local_file))
msg="Local file {0} not found".format(self.local_file))
dest = self.remote_file or ('/' + os.path.basename(self.local_file))
remote_exists, file_size = self.remote_file_exists(

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -187,7 +187,7 @@ def parse_shutdown(configobj, name):
cfg = configobj['interface %s' % name]
cfg = '\n'.join(cfg.children)
match = re.search(r'shutdown', cfg, re.M)
return True if match else False
return bool(match)
def parse_config_argument(configobj, name, arg=None):
@ -368,7 +368,7 @@ def check_declarative_intent_params(module, want, result):
have_host = []
have_port = []
if have_neighbors is None:
command = {'command': 'show lldp neighbors {}'.format(w['name']), 'output': 'text'}
command = {'command': 'show lldp neighbors {0}'.format(w['name']), 'output': 'text'}
have_neighbors = run_commands(module, [command])
if have_neighbors[0]:

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -170,23 +170,23 @@ def map_obj_to_commands(updates, module):
if state == 'absent' and obj_in_have:
if obj_in_have['ipv4']:
if ipv4:
commands.append('no ip address {}'.format(ipv4))
commands.append('no ip address {0}'.format(ipv4))
else:
commands.append('no ip address')
if obj_in_have['ipv6']:
if ipv6:
commands.append('no ipv6 address {}'.format(ipv6))
commands.append('no ipv6 address {0}'.format(ipv6))
else:
commands.append('no ipv6 address')
elif state == 'present':
if ipv4:
if obj_in_have is None or obj_in_have['ipv4'] is None or ipv4 != obj_in_have['ipv4']:
commands.append('ip address {}'.format(ipv4))
commands.append('ip address {0}'.format(ipv4))
if ipv6:
if obj_in_have is None or obj_in_have['ipv6'] is None or ipv6.lower() != obj_in_have['ipv6'].lower():
commands.append('ipv6 address {}'.format(ipv6))
commands.append('ipv6 address {0}'.format(ipv6))
if commands[-1] == interface:
commands.pop(-1)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -141,10 +141,10 @@ def map_obj_to_commands(updates, module):
if state == 'absent':
if obj_in_have:
commands.append('no interface port-channel {}'.format(group))
commands.append('no interface port-channel {0}'.format(group))
elif state == 'present':
cmd = ['interface port-channel {}'.format(group),
cmd = ['interface port-channel {0}'.format(group),
'end']
if not obj_in_have:
if not group:
@ -152,11 +152,11 @@ def map_obj_to_commands(updates, module):
commands.extend(cmd)
if min_links != 'None':
commands.append('port-channel min-links {}'.format(min_links))
commands.append('port-channel min-links {0}'.format(min_links))
if members:
for m in members:
commands.append('interface {}'.format(m))
commands.append('interface {0}'.format(m))
commands.append('channel-group {0} mode {1}'.format(group, mode))
else:
@ -164,27 +164,27 @@ def map_obj_to_commands(updates, module):
if 'members' not in obj_in_have.keys():
for m in members:
commands.extend(cmd)
commands.append('interface {}'.format(m))
commands.append('interface {0}'.format(m))
commands.append('channel-group {0} mode {1}'.format(group, mode))
elif set(members) != set(obj_in_have['members']):
missing_members = list(set(members) - set(obj_in_have['members']))
for m in missing_members:
commands.extend(cmd)
commands.append('interface {}'.format(m))
commands.append('interface {0}'.format(m))
commands.append('channel-group {0} mode {1}'.format(group, mode))
superfluous_members = list(set(obj_in_have['members']) - set(members))
for m in superfluous_members:
commands.extend(cmd)
commands.append('interface {}'.format(m))
commands.append('no channel-group {}'.format(group))
commands.append('interface {0}'.format(m))
commands.append('no channel-group {0}'.format(group))
if purge:
for h in have:
obj_in_want = search_obj_in_list(h['group'], want)
if not obj_in_want:
commands.append('no interface port-channel {}'.format(h['group']))
commands.append('no interface port-channel {0}'.format(h['group']))
return commands
@ -221,9 +221,9 @@ def parse_mode(group, member, config):
mode = None
for line in config.strip().split('!'):
match_int = re.findall(r'interface {}\\b'.format(member), line, re.M)
match_int = re.findall(r'interface {0}\\b'.format(member), line, re.M)
if match_int:
match = re.search(r'channel-group {} mode (\S+)'.format(group), line, re.M)
match = re.search(r'channel-group {0} mode (\S+)'.format(group), line, re.M)
if match:
mode = match.group(1)
@ -234,7 +234,7 @@ def parse_members(group, config):
members = []
for line in config.strip().split('!'):
match_group = re.findall(r'channel-group {} mode'.format(group), line, re.M)
match_group = re.findall(r'channel-group {0} mode'.format(group), line, re.M)
if match_group:
match = re.search(r'interface (\S+)', line, re.M)
if match:
@ -263,7 +263,7 @@ def parse_min_links(group, config):
min_links = ''
for line in config.strip().split('!'):
match_pc = re.findall(r'interface Port-Channel{}\\b'.format(group), line, re.M)
match_pc = re.findall(r'interface Port-Channel{0}\\b'.format(group), line, re.M)
if match_pc:
match = re.search(r'port-channel min-links (\S+)', line, re.M)
if match:

View file

@ -1,23 +1,9 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
#
# This file is part of Ansible by Red Hat
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
@ -152,16 +138,16 @@ def map_obj_to_commands(updates, module):
if state == 'absent' and w in have:
if dest:
if dest == 'host':
commands.append('no logging host {}'.format(name))
commands.append('no logging host {0}'.format(name))
elif dest in DEST_GROUP:
commands.append('no logging {}'.format(dest))
commands.append('no logging {0}'.format(dest))
else:
module.fail_json(msg='dest must be among console, monitor, buffered, host, on')
if facility:
commands.append('no logging facility {}'.format(facility))
commands.append('no logging facility {0}'.format(facility))
if state == 'present' and w not in have:
if facility:
@ -175,10 +161,10 @@ def map_obj_to_commands(updates, module):
present = True
if not present:
commands.append('logging facility {}'.format(facility))
commands.append('logging facility {0}'.format(facility))
if dest == 'host':
commands.append('logging host {}'.format(name))
commands.append('logging host {0}'.format(name))
elif dest == 'on':
commands.append('logging on')
@ -203,14 +189,14 @@ def map_obj_to_commands(updates, module):
if not present:
if size and level:
commands.append('logging buffered {} {}'.format(size, level))
commands.append('logging buffered {0} {1}'.format(size, level))
else:
commands.append('logging buffered {}'.format(size))
commands.append('logging buffered {0}'.format(size))
else:
dest_cmd = 'logging {}'.format(dest)
dest_cmd = 'logging {0}'.format(dest)
if level:
dest_cmd += ' {}'.format(level)
dest_cmd += ' {0}'.format(level)
commands.append(dest_cmd)
@ -268,7 +254,7 @@ def parse_level(line, dest):
match = re.search(r'logging buffered (?:\d+) (\S+)', line, re.M)
else:
match = re.search(r'logging {} (\S+)'.format(dest), line, re.M)
match = re.search(r'logging {0} (\S+)'.format(dest), line, re.M)
if match:
if match.group(1) in LEVEL_GROUP:

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -224,7 +224,7 @@ def main():
if address and prefix:
if '/' not in address or not validate_ip_address(address.split('/')[0]):
module.fail_json(msg='{} is not a valid IP address'.format(address))
module.fail_json(msg='{0} is not a valid IP address'.format(address))
if not validate_prefix(prefix):
module.fail_json(msg='Length of prefix should be between 0 and 32 bits')

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -188,12 +188,12 @@ def map_obj_to_commands(updates, module):
address = ipv4.split('/')
if len(address) == 2:
ipv4 = '{0} {1}'.format(address[0], to_netmask(address[1]))
commands.append('no ip address {}'.format(ipv4))
commands.append('no ip address {0}'.format(ipv4))
else:
commands.append('no ip address')
if obj_in_have['ipv6']:
if ipv6:
commands.append('no ipv6 address {}'.format(ipv6))
commands.append('no ipv6 address {0}'.format(ipv6))
else:
commands.append('no ipv6 address')
if 'dhcp' in obj_in_have['ipv6']:
@ -205,11 +205,11 @@ def map_obj_to_commands(updates, module):
address = ipv4.split('/')
if len(address) == 2:
ipv4 = '{0} {1}'.format(address[0], to_netmask(address[1]))
commands.append('ip address {}'.format(ipv4))
commands.append('ip address {0}'.format(ipv4))
if ipv6:
if obj_in_have is None or obj_in_have.get('ipv6') is None or ipv6.lower() not in [addr.lower() for addr in obj_in_have['ipv6']]:
commands.append('ipv6 address {}'.format(ipv6))
commands.append('ipv6 address {0}'.format(ipv6))
if commands[-1] == interface:
commands.pop(-1)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -111,7 +111,7 @@ class ConfigBase(object):
def map_params_to_obj(self):
text = self._module.params['text']
if text:
text = "{!r}".format(str(text).strip())
text = "{0!r}".format(str(text).strip())
self._want.update({
'banner': self._module.params['banner'],
'text': text,
@ -128,11 +128,11 @@ class CliConfiguration(ConfigBase):
state = self._module.params['state']
if state == 'absent':
if self._have.get('state') != 'absent' and ('text' in self._have.keys() and self._have['text']):
commands.append('no banner {!s}'.format(self._module.params['banner']))
commands.append('no banner {0!s}'.format(self._module.params['banner']))
elif state == 'present':
if (self._want['text'] and
self._want['text'].encode().decode('unicode_escape').strip("'") != self._have.get('text')):
banner_cmd = 'banner {!s} '.format(self._module.params['banner'])
banner_cmd = 'banner {0!s} '.format(self._module.params['banner'])
banner_cmd += self._want['text'].strip()
commands.append(banner_cmd)
self._result['commands'] = commands
@ -144,7 +144,7 @@ class CliConfiguration(ConfigBase):
self._result['changed'] = True
def map_config_to_obj(self):
cli_filter = 'banner {!s}'.format(self._module.params['banner'])
cli_filter = 'banner {0!s}'.format(self._module.params['banner'])
output = get_config(self._module, config_filter=cli_filter)
match = re.search(r'banner (\S+) (.*)', output, re.DOTALL)
if match:

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -322,7 +322,7 @@ class CliConfiguration(ConfigBase):
'speed': self.parse_config_argument(intf_config, 'speed'),
'duplex': self.parse_config_argument(intf_config, 'duplex'),
'mtu': self.parse_config_argument(intf_config, 'mtu'),
'enabled': True if not self.parse_shutdown(intf_config) else False,
'enabled': not bool(self.parse_shutdown(intf_config)),
'active': active,
'state': 'present'
}
@ -385,7 +385,7 @@ class CliConfiguration(ConfigBase):
if self._result['changed']:
sleep(want_item['delay'])
command = 'show interfaces {!s}'.format(want_item['name'])
command = 'show interfaces {0!s}'.format(want_item['name'])
out = run_commands(self._module, command)[0]
if want_state in ('up', 'down'):
@ -399,7 +399,7 @@ class CliConfiguration(ConfigBase):
have_state = match.group(1)
if have_state is None or not conditional(want_state, have_state.strip()):
failed_conditions.append('state ' + 'eq({!s})'.format(want_state))
failed_conditions.append('state ' + 'eq({0!s})'.format(want_state))
if want_tx_rate:
match = re.search(r'%s (\d+)' % 'output rate', out, re.M)
@ -575,7 +575,7 @@ class NCConfiguration(ConfigBase):
if want_state in ('up', 'down'):
if want_state not in line_state_map[want_item['name']]:
failed_conditions.append('state ' + 'eq({!s})'.format(want_state))
failed_conditions.append('state ' + 'eq({0!s})'.format(want_state))
if want_tx_rate:
if want_tx_rate != data_rate_map[want_item['name']]['output-data-rate']:

View file

@ -1,23 +1,9 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
#
# This file is part of Ansible by Red Hat
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
@ -232,19 +218,19 @@ def map_obj_to_commands(updates):
if state == 'absent' and w in have:
if w['facility'] is not None:
if not w['dest'] and not w['facility_link_status'] and w['facility'] not in DEFAULT_LOGGING_LEVEL[int(w['facility_level'])]:
commands.append('no logging level {} {}'.format(w['facility'], w['facility_level']))
commands.append('no logging level {0} {1}'.format(w['facility'], w['facility_level']))
if w['facility_link_status'] and w['facility'] in ('ethpm'):
commands.append('no logging level {} {}'.format(w['facility'], STATIC_CLI[w['facility_link_status']]))
commands.append('no logging level {0} {1}'.format(w['facility'], STATIC_CLI[w['facility_link_status']]))
if w['name'] is not None:
commands.append('no logging logfile')
if w['dest'] in ('console', 'module', 'monitor'):
commands.append('no logging {}'.format(w['dest']))
commands.append('no logging {0}'.format(w['dest']))
if w['dest'] == 'server':
commands.append('no logging server {}'.format(w['remote_server']))
commands.append('no logging server {0}'.format(w['remote_server']))
if w['interface']:
commands.append('no logging source-interface')
@ -262,14 +248,14 @@ def map_obj_to_commands(updates):
if w['facility'] is None:
if w['dest']:
if w['dest'] not in ('logfile', 'server'):
commands.append('logging {} {}'.format(w['dest'], w['dest_level']))
commands.append('logging {0} {1}'.format(w['dest'], w['dest_level']))
elif w['dest'] == 'logfile':
if w['file_size']:
commands.append('logging logfile {} {} size {}'.format(
commands.append('logging logfile {0} {1} size {2}'.format(
w['name'], w['dest_level'], w['file_size']))
else:
commands.append('logging logfile {} {}'.format(
commands.append('logging logfile {0} {1}'.format(
w['name'], w['dest_level']))
elif w['dest'] == 'server':
@ -306,11 +292,11 @@ def map_obj_to_commands(updates):
w['facility']))
else:
if w['facility_link_status']:
commands.append('logging level {} {}'.format(
commands.append('logging level {0} {1}'.format(
w['facility'], STATIC_CLI[w['facility_link_status']]))
else:
commands.append('logging level {} {}'.format(w['facility'],
w['facility_level']))
commands.append('logging level {0} {1}'.format(w['facility'],
w['facility_level']))
if w['interface']:
commands.append('logging source-interface {0} {1}'.format(*split_interface(w['interface'])))
@ -337,7 +323,7 @@ def parse_facility_link_status(line, facility, status):
facility_link_status = None
if facility is not None:
match = re.search(r'logging level {} {} (\S+)'.format(facility, status), line, re.M)
match = re.search(r'logging level {0} {1} (\S+)'.format(facility, status), line, re.M)
if match:
facility_link_status = status + "-" + match.group(1)
@ -347,7 +333,7 @@ def parse_facility_link_status(line, facility, status):
def parse_event_status(line, event):
status = None
match = re.search(r'logging event {} (\S+)'.format(event + '-status'), line, re.M)
match = re.search(r'logging event {0} (\S+)'.format(event + '-status'), line, re.M)
if match:
state = match.group(1)
if state:
@ -383,7 +369,7 @@ def parse_message(line):
def parse_file_size(line, name, level):
file_size = None
match = re.search(r'logging logfile {} {} size (\S+)'.format(name, level), line, re.M)
match = re.search(r'logging logfile {0} {1} size (\S+)'.format(name, level), line, re.M)
if match:
file_size = match.group(1)
if file_size == '8192':
@ -441,7 +427,7 @@ def parse_dest_level(line, dest, name):
if dest and dest != 'server':
if dest == 'logfile':
match = re.search(r'logging logfile {} (\S+)'.format(name), line, re.M)
match = re.search(r'logging logfile {0} (\S+)'.format(name), line, re.M)
if match:
dest_level = parse_match(match)
@ -450,7 +436,7 @@ def parse_dest_level(line, dest, name):
if match:
dest_level = parse_match(match)
else:
match = re.search(r'logging {} (\S+)'.format(dest), line, re.M)
match = re.search(r'logging {0} (\S+)'.format(dest), line, re.M)
if match:
dest_level = parse_match(match)
@ -466,7 +452,7 @@ def parse_facility_level(line, facility, dest):
facility_level = match.group(1)
elif facility is not None:
match = re.search(r'logging level {} (\S+)'.format(facility), line, re.M)
match = re.search(r'logging level {0} (\S+)'.format(facility), line, re.M)
if match:
facility_level = match.group(1)

View file

@ -1,20 +1,8 @@
#!/usr/bin/python
#
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
#
# -*- coding: utf-8 -*-
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
ANSIBLE_METADATA = {'metadata_version': '1.1',
'status': ['preview'],
@ -369,7 +357,7 @@ def main():
result['changed'] = True
if action == 'create' and module.params['path'] and module.params['save_snapshot_locally']:
command = 'show snapshot dump {} | json'.format(module.params['snapshot_name'])
command = 'show snapshot dump {0} | json'.format(module.params['snapshot_name'])
content = execute_show_command(command, module)[0]
if content:
write_on_file(str(content), module.params['snapshot_name'], module)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Ansible by Red Hat, inc
# Copyright: (c) 2017, Ansible by Red Hat, inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -160,9 +160,9 @@ def map_obj_to_commands(updates, module):
for i in w['interfaces']:
cmd = 'set interfaces ethernet {0} vif {1}'.format(i, vlan_id)
if w['name']:
commands.append(cmd + ' description {}'.format(name))
commands.append(cmd + ' description {0}'.format(name))
elif w['address']:
commands.append(cmd + ' address {}'.format(address))
commands.append(cmd + ' address {0}'.format(address))
else:
commands.append(cmd)

View file

@ -1,6 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -126,7 +126,7 @@ def spark_message(module):
ansible = module.params
headers = {
'Authorization': 'Bearer {}'.format(ansible['personal_token']),
'Authorization': 'Bearer {0}'.format(ansible['personal_token']),
'content-type': 'application/json'
}

View file

@ -1,6 +1,7 @@
#!/usr/bin/python
# Copyright 2017, Ansible Project
#
# -*- coding: utf-8 -*-
# Copyright: (c) 2017, Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -55,7 +56,7 @@ from ansible.module_utils.basic import AnsibleModule
def send_msg(module, token, msg, api, port):
message = "{} {}\n".format(token, msg)
message = "{0} {1}\n".format(token, msg)
api_ip = socket.gethostbyname(api)

View file

@ -91,7 +91,7 @@ class NailGun(object):
def find_organization(self, name, **params):
org = self._entities.Organization(self._server, name=name, **params)
response = org.search(set(), {'search': 'name={}'.format(name)})
response = org.search(set(), {'search': 'name={0}'.format(name)})
if len(response) == 1:
return response[0]

View file

@ -248,7 +248,7 @@ class NailGun(object):
def find_organization(self, name, **params):
org = self._entities.Organization(self._server, name=name, **params)
response = org.search(set(), {'search': 'name={}'.format(name)})
response = org.search(set(), {'search': 'name={0}'.format(name)})
if len(response) == 1:
return response[0]

View file

@ -1,6 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -177,7 +177,7 @@ class GithubDeployKey(object):
if self.otp is not None:
self.headers = {"X-GitHub-OTP": self.otp}
else:
self.headers = {"Authorization": "token {}".format(self.token)}
self.headers = {"Authorization": "token {0}".format(self.token)}
def get_existing_key(self, key, title, force):
resp, info = fetch_url(self.module, self.url, headers=self.headers, method="GET")
@ -226,7 +226,7 @@ class GithubDeployKey(object):
self.module.fail_json(msg="Failed to add deploy key", http_status_code=status_code, error=err)
def remove_existing_key(self, key_id):
resp, info = fetch_url(self.module, self.url + "/{}".format(key_id), headers=self.headers, method="DELETE")
resp, info = fetch_url(self.module, self.url + "/{0}".format(key_id), headers=self.headers, method="DELETE")
status_code = info["status"]
@ -278,7 +278,7 @@ def main():
token = module.params.get('token', None)
otp = module.params.get('otp', None)
GITHUB_API_URL = "https://api.github.com/repos/{}/{}/keys".format(owner, repo)
GITHUB_API_URL = "https://api.github.com/repos/{0}/{1}/keys".format(owner, repo)
deploy_key = GithubDeployKey(module, GITHUB_API_URL, state, username, password, token, otp)

View file

@ -1,5 +1,5 @@
#!/usr/bin/python
#
# Copyright: Ansible Project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
@ -183,7 +183,7 @@ def ensure_key_present(module, session, name, pubkey, force, check_mode):
if new_signature == existing_signature and key['title'] != name:
module.fail_json(msg=(
"another key with the same content is already registered "
"under the name |{}|").format(key['title']))
"under the name |{0}|").format(key['title']))
if matching_keys and force and matching_keys[0]['key'].split(' ')[1] != new_signature:
delete_keys(session, matching_keys, check_mode=check_mode)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# Copyright: (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -182,7 +182,7 @@ def main():
export = get_export(module, filesystem, system)
if filesystem is None:
module.fail_json(msg='Filesystem {} not found'.format(module.params['filesystem']))
module.fail_json(msg='Filesystem {0} not found'.format(module.params['filesystem']))
if state == 'present':
update_export(module, export, filesystem, system)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# Copyright: (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -108,7 +108,7 @@ def get_export(module, system):
try:
export = system.exports.get(export_path=module.params['export'])
except Exception:
module.fail_json(msg="Export with export path {} not found".format(module.params['export']))
module.fail_json(msg="Export with export path {0} not found".format(module.params['export']))
return export

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# Copyright: (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -155,7 +155,7 @@ def main():
filesystem = get_filesystem(module, system)
if pool is None:
module.fail_json(msg='Pool {} not found'.format(module.params['pool']))
module.fail_json(msg='Pool {0} not found'.format(module.params['pool']))
if state == 'present' and not filesystem:
create_filesystem(module, system)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# Copyright: (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -144,7 +144,7 @@ def main():
try:
system.volumes.get(name=module.params['volume'])
except Exception:
module.fail_json(msg='Volume {} not found'.format(module.params['volume']))
module.fail_json(msg='Volume {0} not found'.format(module.params['volume']))
if host and state == 'present':
update_host(module, host)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# Copyright: (c) 2016, Gregory Shulov (gregory.shulov@gmail.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -150,7 +150,7 @@ def main():
volume = get_volume(module, system)
if pool is None:
module.fail_json(msg='Pool {} not found'.format(module.params['pool']))
module.fail_json(msg='Pool {0} not found'.format(module.params['pool']))
if state == 'present' and not volume:
create_volume(module, system)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Simon Dodsley (simon@purestorage.com)
# Copyright: (c) 2017, Simon Dodsley (simon@purestorage.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -341,7 +341,7 @@ def main():
try:
array.get_volume(module.params['volume'])
except Exception:
module.fail_json(msg='Volume {} not found'.format(module.params['volume']))
module.fail_json(msg='Volume {0} not found'.format(module.params['volume']))
if host is None and state == 'present':
make_host(module, array)

View file

@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# (c) 2017, Simon Dodsley (simon@purestorage.com)
# Copyright: (c) 2017, Simon Dodsley (simon@purestorage.com)
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
@ -320,14 +320,14 @@ def main():
for hst in module.params['host']:
array.get_host(hst)
except Exception:
module.fail_json(msg='Host {} not found'.format(hst))
module.fail_json(msg='Host {0} not found'.format(hst))
if module.params['hostgroup']:
try:
for hstg in module.params['hostgroup']:
array.get_hgroup(hstg)
except Exception:
module.fail_json(msg='Hostgroup {} not found'.format(hstg))
module.fail_json(msg='Hostgroup {0} not found'.format(hstg))
if pgroup and state == 'present':
update_pgroup(module, array)

View file

@ -452,7 +452,7 @@ class InterfaceTransaction(FirewallTransaction):
# Even it shouldn't happen, it's actually possible that
# the same interface is in several zone XML files
self.module.fail_json(
msg='ERROR: interface {} is in {} zone XML file, can only be in one'.format(
msg='ERROR: interface {0} is in {1} zone XML file, can only be in one'.format(
interface,
len(iface_zone_objs)
)

View file

@ -1,65 +1 @@
lib/ansible/module_utils/network/iosxr/iosxr.py ansible-format-automatic-specification
lib/ansible/modules/cloud/amazon/aws_api_gateway.py ansible-format-automatic-specification
lib/ansible/modules/cloud/amazon/aws_kms.py ansible-format-automatic-specification
lib/ansible/modules/cloud/amazon/ec2_eip.py ansible-format-automatic-specification
lib/ansible/modules/cloud/amazon/ecs_ecr.py ansible-format-automatic-specification
lib/ansible/modules/cloud/amazon/sns.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_acs.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_availabilityset_facts.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_functionapp.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_loadbalancer.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_loadbalancer_facts.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_managed_disk_facts.py ansible-format-automatic-specification
lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset_facts.py ansible-format-automatic-specification
lib/ansible/modules/cloud/digital_ocean/digital_ocean_block_storage.py ansible-format-automatic-specification
lib/ansible/modules/cloud/google/gce_instance_template.py ansible-format-automatic-specification
lib/ansible/modules/cloud/lxd/lxd_container.py ansible-format-automatic-specification
lib/ansible/modules/cloud/lxd/lxd_profile.py ansible-format-automatic-specification
lib/ansible/modules/cloud/misc/proxmox_kvm.py ansible-format-automatic-specification
lib/ansible/modules/cloud/misc/serverless.py ansible-format-automatic-specification
lib/ansible/modules/cloud/univention/udm_dns_record.py ansible-format-automatic-specification
lib/ansible/modules/cloud/univention/udm_dns_zone.py ansible-format-automatic-specification
lib/ansible/modules/cloud/univention/udm_group.py ansible-format-automatic-specification
lib/ansible/modules/cloud/univention/udm_share.py ansible-format-automatic-specification
lib/ansible/modules/cloud/univention/udm_user.py ansible-format-automatic-specification
lib/ansible/modules/cloud/vmware/vmware_cfg_backup.py ansible-format-automatic-specification
lib/ansible/modules/cloud/webfaction/webfaction_app.py ansible-format-automatic-specification
lib/ansible/modules/cloud/webfaction/webfaction_db.py ansible-format-automatic-specification
lib/ansible/modules/cloud/webfaction/webfaction_domain.py ansible-format-automatic-specification
lib/ansible/modules/cloud/webfaction/webfaction_mailbox.py ansible-format-automatic-specification
lib/ansible/modules/cloud/webfaction/webfaction_site.py ansible-format-automatic-specification
lib/ansible/modules/monitoring/grafana_plugin.py ansible-format-automatic-specification
lib/ansible/modules/net_tools/dnsmadeeasy.py ansible-format-automatic-specification
lib/ansible/modules/net_tools/ipinfoio_facts.py ansible-format-automatic-specification
lib/ansible/modules/network/a10/a10_server_axapi3.py ansible-format-automatic-specification
lib/ansible/modules/network/avi/avi_api_version.py ansible-format-automatic-specification
lib/ansible/modules/network/bigswitch/bcf_switch.py ansible-format-automatic-specification
lib/ansible/modules/network/bigswitch/bigmon_chain.py ansible-format-automatic-specification
lib/ansible/modules/network/bigswitch/bigmon_policy.py ansible-format-automatic-specification
lib/ansible/modules/network/cloudengine/ce_file_copy.py ansible-format-automatic-specification
lib/ansible/modules/network/eos/eos_interface.py ansible-format-automatic-specification
lib/ansible/modules/network/eos/eos_l3_interface.py ansible-format-automatic-specification
lib/ansible/modules/network/eos/eos_linkagg.py ansible-format-automatic-specification
lib/ansible/modules/network/eos/eos_logging.py ansible-format-automatic-specification
lib/ansible/modules/network/eos/eos_static_route.py ansible-format-automatic-specification
lib/ansible/modules/network/ios/ios_l3_interface.py ansible-format-automatic-specification
lib/ansible/modules/network/iosxr/iosxr_banner.py ansible-format-automatic-specification
lib/ansible/modules/network/iosxr/iosxr_interface.py ansible-format-automatic-specification
lib/ansible/modules/network/nxos/nxos_logging.py ansible-format-automatic-specification
lib/ansible/modules/network/nxos/nxos_snapshot.py ansible-format-automatic-specification
lib/ansible/modules/network/vyos/vyos_vlan.py ansible-format-automatic-specification
lib/ansible/modules/notification/cisco_spark.py ansible-format-automatic-specification
lib/ansible/modules/notification/logentries_msg.py ansible-format-automatic-specification
lib/ansible/modules/remote_management/foreman/_foreman.py ansible-format-automatic-specification
lib/ansible/modules/remote_management/foreman/_katello.py ansible-format-automatic-specification
lib/ansible/modules/source_control/github_deploy_key.py ansible-format-automatic-specification
lib/ansible/modules/source_control/github_key.py ansible-format-automatic-specification
lib/ansible/modules/storage/infinidat/infini_export.py ansible-format-automatic-specification
lib/ansible/modules/storage/infinidat/infini_export_client.py ansible-format-automatic-specification
lib/ansible/modules/storage/infinidat/infini_fs.py ansible-format-automatic-specification
lib/ansible/modules/storage/infinidat/infini_host.py ansible-format-automatic-specification
lib/ansible/modules/storage/infinidat/infini_vol.py ansible-format-automatic-specification
lib/ansible/modules/storage/purestorage/purefa_host.py ansible-format-automatic-specification
lib/ansible/modules/storage/purestorage/purefa_pg.py ansible-format-automatic-specification
lib/ansible/modules/system/firewalld.py ansible-format-automatic-specification
test/units/modules/system/test_known_hosts.py ansible-bad-function