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:
parent
8e0f95951d
commit
f9ab9b4d68
65 changed files with 343 additions and 473 deletions
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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={}®ion={}'.format(volume_name, region)
|
||||
url = 'volumes?name={0}®ion={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={}®ion={}'.format(volume_name, region)
|
||||
url = 'volumes?name={0}®ion={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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
),
|
||||
|
|
|
@ -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)
|
||||
),
|
||||
|
|
|
@ -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__':
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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__':
|
||||
|
|
|
@ -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():
|
||||
|
|
|
@ -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():
|
||||
|
|
|
@ -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():
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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]:
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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']:
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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'
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue