Removed dict.iteritems() in modules. (#18859)

This is for py3 compatibility, addressed in #18506
This commit is contained in:
Andrea Tartaglia
2016-12-12 23:16:23 +00:00
committed by Toshio Kuratomi
parent 4b27d08643
commit ef391a11ec
99 changed files with 251 additions and 250 deletions

View File

@@ -274,14 +274,14 @@ def update_dynamo_table(table, throughput=None, check_mode=False, global_indexes
removed_indexes, added_indexes, index_throughput_changes = get_changed_global_indexes(table, global_indexes)
if removed_indexes:
if not check_mode:
for name, index in removed_indexes.iteritems():
for name, index in removed_indexes.items():
global_indexes_changed = table.delete_global_secondary_index(name) or global_indexes_changed
else:
global_indexes_changed = True
if added_indexes:
if not check_mode:
for name, index in added_indexes.iteritems():
for name, index in added_indexes.items():
global_indexes_changed = table.create_global_secondary_index(global_index=index) or global_indexes_changed
else:
global_indexes_changed = True
@@ -328,18 +328,18 @@ def get_changed_global_indexes(table, global_indexes):
set_index_info = dict((index.name, index.schema()) for index in global_indexes)
set_index_objects = dict((index.name, index) for index in global_indexes)
removed_indexes = dict((name, index) for name, index in table_index_info.iteritems() if name not in set_index_info)
added_indexes = dict((name, set_index_objects[name]) for name, index in set_index_info.iteritems() if name not in table_index_info)
removed_indexes = dict((name, index) for name, index in table_index_info.items() if name not in set_index_info)
added_indexes = dict((name, set_index_objects[name]) for name, index in set_index_info.items() if name not in table_index_info)
# todo: uncomment once boto has https://github.com/boto/boto/pull/3447 fixed
# index_throughput_changes = dict((name, index.throughput) for name, index in set_index_objects.iteritems() if name not in added_indexes and (index.throughput['read'] != str(table_index_objects[name].throughput['read']) or index.throughput['write'] != str(table_index_objects[name].throughput['write'])))
# index_throughput_changes = dict((name, index.throughput) for name, index in set_index_objects.items() if name not in added_indexes and (index.throughput['read'] != str(table_index_objects[name].throughput['read']) or index.throughput['write'] != str(table_index_objects[name].throughput['write'])))
# todo: remove once boto has https://github.com/boto/boto/pull/3447 fixed
index_throughput_changes = dict((name, index.throughput) for name, index in set_index_objects.iteritems() if name not in added_indexes)
index_throughput_changes = dict((name, index.throughput) for name, index in set_index_objects.items() if name not in added_indexes)
return removed_indexes, added_indexes, index_throughput_changes
def validate_index(index, module):
for key, val in index.iteritems():
for key, val in index.items():
if key not in INDEX_OPTIONS:
module.fail_json(msg='%s is not a valid option for an index' % key)
for required_option in INDEX_REQUIRED_OPTIONS:

View File

@@ -458,7 +458,7 @@ def create_autoscaling_group(connection, module):
asg_tags = []
for tag in set_tags:
for k,v in tag.iteritems():
for k,v in tag.items():
if k !='propagate_at_launch':
asg_tags.append(Tag(key=k,
value=v,

View File

@@ -206,7 +206,7 @@ except ImportError:
HAS_BOTO3 = False
def match_asg_tags(tags_to_match, asg):
for key, value in tags_to_match.iteritems():
for key, value in tags_to_match.items():
for tag in asg['Tags']:
if key == tag['Key'] and value == tag['Value']:
break

View File

@@ -911,7 +911,7 @@ class ElbManager(object):
if not self.elb.health_check:
self.elb.health_check = HealthCheck()
for attr, desired_value in health_check_config.iteritems():
for attr, desired_value in health_check_config.items():
if getattr(self.elb.health_check, attr) != desired_value:
setattr(self.elb.health_check, attr, desired_value)
update_health_check = True
@@ -950,7 +950,7 @@ class ElbManager(object):
}
update_access_logs_config = False
for attr, desired_value in access_logs_config.iteritems():
for attr, desired_value in access_logs_config.items():
if getattr(attributes.access_log, attr) != desired_value:
setattr(attributes.access_log, attr, desired_value)
update_access_logs_config = True

View File

@@ -97,7 +97,7 @@ class Ec2Metadata(object):
def _mangle_fields(self, fields, uri, filter_patterns=['public-keys-0']):
new_fields = {}
for key, value in fields.iteritems():
for key, value in fields.items():
split_fields = key[len(uri):].split('/')
if len(split_fields) > 1 and split_fields[1]:
new_key = "-".join(split_fields)

View File

@@ -106,7 +106,7 @@ def list_dhcp_options(client, module):
if module.params.get('filters'):
params['Filters'] = []
for key, value in module.params.get('filters').iteritems():
for key, value in module.params.get('filters').items():
temp_dict = dict()
temp_dict['Name'] = key
if isinstance(value, basestring):

View File

@@ -161,7 +161,7 @@ def icmp_present(entry):
def load_tags(module):
tags = []
if module.params.get('tags'):
for name, value in module.params.get('tags').iteritems():
for name, value in module.params.get('tags').items():
tags.append({'Key': name, 'Value': str(value)})
tags.append({'Key': "Name", 'Value': module.params.get('name')})
else:
@@ -239,7 +239,7 @@ def tags_changed(nacl_id, client, module):
if nacl['NetworkAcls']:
nacl_values = [t.values() for t in nacl['NetworkAcls'][0]['Tags']]
nacl_tags = [item for sublist in nacl_values for item in sublist]
tag_values = [[key, str(value)] for key, value in tags.iteritems()]
tag_values = [[key, str(value)] for key, value in tags.items()]
tags = [item for sublist in tag_values for item in sublist]
if sorted(nacl_tags) == sorted(tags):
changed = False

View File

@@ -210,7 +210,7 @@ def tags_changed(pcx_id, client, module):
if pcx['VpcPeeringConnections']:
pcx_values = [t.values() for t in pcx['VpcPeeringConnections'][0]['Tags']]
pcx_tags = [item for sublist in pcx_values for item in sublist]
tag_values = [[key, str(value)] for key, value in tags.iteritems()]
tag_values = [[key, str(value)] for key, value in tags.items()]
tags = [item for sublist in tag_values for item in sublist]
if sorted(pcx_tags) == sorted(tags):
changed = False
@@ -305,7 +305,7 @@ def accept_reject_delete(state, client, module):
def load_tags(module):
tags = []
if module.params.get('tags'):
for name, value in module.params.get('tags').iteritems():
for name, value in module.params.get('tags').items():
tags.append({'Key': name, 'Value': str(value)})
return tags

View File

@@ -233,7 +233,7 @@ def get_resource_tags(vpc_conn, resource_id):
def tags_match(match_tags, candidate_tags):
return all((k in candidate_tags and candidate_tags[k] == v
for k, v in match_tags.iteritems()))
for k, v in match_tags.items()))
def ensure_tags(vpc_conn, resource_id, tags, add_only, check_mode):

View File

@@ -276,7 +276,7 @@ def load_tags(module):
tags = []
if module.params.get('tags'):
for name, value in module.params.get('tags').iteritems():
for name, value in module.params.get('tags').items():
tags.append({'Key': name, 'Value': str(value)})
tags.append({'Key': "Name", 'Value': module.params.get('name')})
else:

View File

@@ -244,7 +244,7 @@ def main():
def _right_has_values_of_left(left, right):
# Make sure the values are equivalent for everything left has
for k, v in left.iteritems():
for k, v in left.items():
if not ((not v and (k not in right or not right[k])) or (k in right and v == right[k])):
# We don't care about list ordering because ECS can change things
if isinstance(v, list) and k in right:
@@ -261,7 +261,7 @@ def main():
return False
# Make sure right doesn't have anything that left doesn't
for k, v in right.iteritems():
for k, v in right.items():
if v and k not in left:
return False

View File

@@ -385,7 +385,7 @@ class ElastiCacheManager(object):
'NumCacheNodes': self.num_nodes,
'EngineVersion': self.cache_engine_version
}
for key, value in modifiable_data.iteritems():
for key, value in modifiable_data.items():
if value is not None and self.data[key] != value:
return True
@@ -419,7 +419,7 @@ class ElastiCacheManager(object):
# Only check for modifications if zone is specified
if self.zone is not None:
unmodifiable_data['zone'] = self.data['PreferredAvailabilityZone']
for key, value in unmodifiable_data.iteritems():
for key, value in unmodifiable_data.items():
if getattr(self, key) is not None and getattr(self, key) != value:
return True
return False

View File

@@ -141,7 +141,7 @@ def create_tags_container(tags):
tag_set = TagSet()
tags_obj = Tags()
for key, val in tags.iteritems():
for key, val in tags.items():
tag_set.add_tag(key, val)
tags_obj.add_tag_set(tag_set)

View File

@@ -132,7 +132,7 @@ class CloudStackFacts(object):
result = {}
filter = module.params.get('filter')
if not filter:
for key,path in self.fact_paths.iteritems():
for key,path in self.fact_paths.items():
result[key] = self._fetch(CS_METADATA_BASE_URL + "/" + path)
result['cloudstack_user_data'] = self._get_user_data_json()
else:

View File

@@ -334,7 +334,7 @@ class AnsibleCloudStackPortforwarding(AnsibleCloudStack):
super(AnsibleCloudStackPortforwarding, self).get_result(portforwarding_rule)
if portforwarding_rule:
# Bad bad API does not always return int when it should.
for search_key, return_key in self.returns_to_int.iteritems():
for search_key, return_key in self.returns_to_int.items():
if search_key in portforwarding_rule:
self.result[return_key] = int(portforwarding_rule[search_key])
return self.result

View File

@@ -231,7 +231,7 @@ class Droplet(JsonfyMixIn):
def update_attr(self, attrs=None):
if attrs:
for k, v in attrs.iteritems():
for k, v in attrs.items():
setattr(self, k, v)
else:
json = self.manager.show_droplet(self.id)

View File

@@ -902,11 +902,11 @@ class DockerManager(object):
self.ensure_capability('env_file')
parsed_env_file = docker.utils.parse_env_file(env_file)
for name, value in parsed_env_file.iteritems():
for name, value in parsed_env_file.items():
final_env[name] = str(value)
if env:
for name, value in env.iteritems():
for name, value in env.items():
final_env[name] = str(value)
return final_env
@@ -998,7 +998,7 @@ class DockerManager(object):
self.ensure_capability('log_driver')
log_config = docker.utils.LogConfig(type=docker.utils.LogConfig.types.JSON)
if optionals['log_opt'] is not None:
for k, v in optionals['log_opt'].iteritems():
for k, v in optionals['log_opt'].items():
log_config.set_config_value(k, v)
log_config.type = optionals['log_driver']
params['log_config'] = log_config
@@ -1073,7 +1073,7 @@ class DockerManager(object):
'''
parts = []
for k, v in self.counters.iteritems():
for k, v in self.counters.items():
if v == 0:
continue
@@ -1100,7 +1100,7 @@ class DockerManager(object):
def get_summary_counters_msg(self):
msg = ""
for k, v in self.counters.iteritems():
for k, v in self.counters.items():
msg = msg + "%s %d " % (k, v)
return msg
@@ -1109,7 +1109,7 @@ class DockerManager(object):
self.counters[name] = self.counters[name] + 1
def has_changed(self):
for k, v in self.counters.iteritems():
for k, v in self.counters.items():
if v > 0:
return True
@@ -1287,7 +1287,7 @@ class DockerManager(object):
expected_env[name] = value
if self.environment:
for name, value in self.environment.iteritems():
for name, value in self.environment.items():
expected_env[name] = str(value)
actual_env = {}
@@ -1304,7 +1304,7 @@ class DockerManager(object):
# LABELS
expected_labels = {}
for name, value in self.module.params.get('labels').iteritems():
for name, value in self.module.params.get('labels').items():
expected_labels[name] = str(value)
if isinstance(container['Config']['Labels'], dict):
@@ -1401,7 +1401,7 @@ class DockerManager(object):
expected_bound_ports = {}
if self.port_bindings:
for container_port, config in self.port_bindings.iteritems():
for container_port, config in self.port_bindings.items():
if isinstance(container_port, int):
container_port = "{0}/tcp".format(container_port)
if len(config) == 1:
@@ -1437,7 +1437,7 @@ class DockerManager(object):
# LINKS
expected_links = set()
for link, alias in (self.links or {}).iteritems():
for link, alias in (self.links or {}).items():
expected_links.add("/{0}:{1}/{2}".format(link, container["Name"], alias))
actual_links = set(container['HostConfig']['Links'] or [])

View File

@@ -815,7 +815,7 @@ class TaskParameters(DockerBaseClass):
kernel_memory='kernel_memory'
)
result = dict()
for key, value in update_parameters.iteritems():
for key, value in update_parameters.items():
if getattr(self, value, None) is not None:
result[key] = getattr(self, value)
return result
@@ -927,7 +927,7 @@ class TaskParameters(DockerBaseClass):
pid_mode='pid_mode'
)
params = dict()
for key, value in host_config_params.iteritems():
for key, value in host_config_params.items():
if getattr(self, value, None) is not None:
params[key] = getattr(self, value)
@@ -1116,10 +1116,10 @@ class TaskParameters(DockerBaseClass):
final_env = {}
if self.env_file:
parsed_env_file = utils.parse_env_file(self.env_file)
for name, value in parsed_env_file.iteritems():
for name, value in parsed_env_file.items():
final_env[name] = str(value)
if self.env:
for name, value in self.env.iteritems():
for name, value in self.env.items():
final_env[name] = str(value)
return final_env
@@ -1258,7 +1258,7 @@ class Container(DockerBaseClass):
)
differences = []
for key, value in config_mapping.iteritems():
for key, value in config_mapping.items():
self.log('check differences %s %s vs %s' % (key, getattr(self.parameters, key), str(value)))
if getattr(self.parameters, key, None) is not None:
if isinstance(getattr(self.parameters, key), list) and isinstance(value, list):
@@ -1314,7 +1314,7 @@ class Container(DockerBaseClass):
'''
if not isinstance(dict_a, dict) or not isinstance(dict_b, dict):
return False
for key, value in dict_a.iteritems():
for key, value in dict_a.items():
if isinstance(value, dict):
match = self._compare_dicts(value, dict_b.get(key))
elif isinstance(value, list):
@@ -1353,7 +1353,7 @@ class Container(DockerBaseClass):
)
differences = []
for key, value in config_mapping.iteritems():
for key, value in config_mapping.items():
if getattr(self.parameters, key, None) and getattr(self.parameters, key) != value:
# no match. record the differences
item = dict()
@@ -1402,7 +1402,7 @@ class Container(DockerBaseClass):
diff = True
if network.get('links') and connected_networks[network['name']].get('Links'):
expected_links = []
for link, alias in network['links'].iteritems():
for link, alias in network['links'].items():
expected_links.append("%s:%s" % (link, alias))
for link in expected_links:
if link not in connected_networks[network['name']].get('Links', []):
@@ -1433,7 +1433,7 @@ class Container(DockerBaseClass):
connected_networks = self.container['NetworkSettings'].get('Networks')
if connected_networks:
for network, network_config in connected_networks.iteritems():
for network, network_config in connected_networks.items():
keep = False
if self.parameters.networks:
for expected_network in self.parameters.networks:
@@ -1485,7 +1485,7 @@ class Container(DockerBaseClass):
if not self.parameters.published_ports:
return None
expected_bound_ports = {}
for container_port, config in self.parameters.published_ports.iteritems():
for container_port, config in self.parameters.published_ports.items():
if isinstance(container_port, int):
container_port = "%s/tcp" % container_port
if len(config) == 1:
@@ -1504,7 +1504,7 @@ class Container(DockerBaseClass):
self.log('parameter links:')
self.log(self.parameters.links, pretty_print=True)
exp_links = []
for link, alias in self.parameters.links.iteritems():
for link, alias in self.parameters.links.items():
exp_links.append("/%s:%s/%s" % (link, ('/' + self.parameters.name), alias))
return exp_links
@@ -1635,7 +1635,7 @@ class Container(DockerBaseClass):
if getattr(self.parameters, param_name, None) is None:
return None
results = []
for key, value in getattr(self.parameters, param_name).iteritems():
for key, value in getattr(self.parameters, param_name).items():
results.append("%s%s%s" % (key, join_with, value))
return results

View File

@@ -509,7 +509,7 @@ class ImageManager(DockerBaseClass):
if self.container_limits:
params['container_limits'] = self.container_limits
if self.buildargs:
for key, value in self.buildargs.iteritems():
for key, value in self.buildargs.items():
if not isinstance(value, basestring):
self.buildargs[key] = str(value)
params['buildargs'] = self.buildargs

View File

@@ -242,7 +242,7 @@ class DockerNetworkManager(object):
different = True
differences.append('driver_options')
else:
for key, value in self.parameters.driver_options.iteritems():
for key, value in self.parameters.driver_options.items():
if not net['Options'].get(key) or value != net['Options'][key]:
different = True
differences.append('driver_options.%s' % key)
@@ -255,7 +255,7 @@ class DockerNetworkManager(object):
different = True
differences.append('ipam_options')
else:
for key, value in self.parameters.ipam_options.iteritems():
for key, value in self.parameters.ipam_options.items():
camelkey = None
for net_key in net['IPAM']['Config'][0]:
if key == net_key.lower():

View File

@@ -284,7 +284,7 @@ class LXDProfileManagement(object):
def _apply_profile_configs(self):
config = self.old_profile_json.copy()
for k, v in self.config.iteritems():
for k, v in self.config.items():
config[k] = v
self.client.do('PUT', '/1.0/profiles/{}'.format(self.name), config)
self.actions.append('apply_profile_configs')

View File

@@ -328,7 +328,7 @@ def node_check(proxmox, node):
def create_instance(module, proxmox, vmid, node, disk, storage, cpus, memory, swap, timeout, **kwargs):
proxmox_node = proxmox.nodes(node)
kwargs = dict((k,v) for k, v in kwargs.iteritems() if v is not None)
kwargs = dict((k,v) for k, v in kwargs.items() if v is not None)
if VZ_TYPE =='lxc':
kwargs['cpulimit']=cpus
kwargs['rootfs']=disk

View File

@@ -689,7 +689,7 @@ def get_vminfo(module, proxmox, node, vmid, **kwargs):
module.fail_json(msg='Getting information for VM with vmid = %s failed with exception: %s' % (vmid, e))
# Sanitize kwargs. Remove not defined args and ensure True and False converted to int.
kwargs = dict((k,v) for k, v in kwargs.iteritems() if v is not None)
kwargs = dict((k,v) for k, v in kwargs.items() if v is not None)
# Convert all dict in kwargs to elements. For hostpci[n], ide[n], net[n], numa[n], parallel[n], sata[n], scsi[n], serial[n], virtio[n]
for k in kwargs.keys():
@@ -698,7 +698,7 @@ def get_vminfo(module, proxmox, node, vmid, **kwargs):
del kwargs[k]
# Split information by type
for k, v in kwargs.iteritems():
for k, v in kwargs.items():
if re.match(r'net[0-9]', k) is not None:
interface = k
k = vm[k]
@@ -723,8 +723,8 @@ def create_vm(module, proxmox, vmid, node, name, memory, cpu, cores, sockets, ti
proxmox_node = proxmox.nodes(node)
# Sanitize kwargs. Remove not defined args and ensure True and False converted to int.
kwargs = dict((k,v) for k, v in kwargs.iteritems() if v is not None)
kwargs.update(dict([k, int(v)] for k, v in kwargs.iteritems() if isinstance(v, bool)))
kwargs = dict((k,v) for k, v in kwargs.items() if v is not None)
kwargs.update(dict([k, int(v)] for k, v in kwargs.items() if isinstance(v, bool)))
# The features work only on PVE 4
if PVE_MAJOR_VERSION < 4:

View File

@@ -129,7 +129,7 @@ def change_keys(recs, key='uuid', filter_func=None):
"""
new_recs = {}
for ref, rec in recs.iteritems():
for ref, rec in recs.items():
if filter_func is not None and not filter_func(rec):
continue

View File

@@ -484,7 +484,7 @@ def cloudservers(module, state=None, name=None, flavor=None, image=None,
if not boot_from_volume and not boot_volume and not image:
module.fail_json(msg='image is required for the "rax" module')
for arg, value in dict(name=name, flavor=flavor).iteritems():
for arg, value in dict(name=name, flavor=flavor).items():
if not value:
module.fail_json(msg='%s is required for the "rax" module' %
arg)

View File

@@ -129,7 +129,7 @@ def cloud_block_storage_attachments(module, state, volume, server, device,
volume.get()
for key, value in vars(volume).iteritems():
for key, value in vars(volume).items():
if (isinstance(value, NON_CALLABLES) and
not key.startswith('_')):
instance[key] = value

View File

@@ -114,7 +114,7 @@ def save_instance(module, name, flavor, volume, cdb_type, cdb_version, wait,
for arg, value in dict(name=name, flavor=flavor,
volume=volume, type=cdb_type, version=cdb_version
).iteritems():
).items():
if not value:
module.fail_json(msg='%s is required for the "rax_cdb"'
' module' % arg)

View File

@@ -93,7 +93,7 @@ def find_user(instance, name):
def save_user(module, cdb_id, name, password, databases, host):
for arg, value in dict(cdb_id=cdb_id, name=name).iteritems():
for arg, value in dict(cdb_id=cdb_id, name=name).items():
if not value:
module.fail_json(msg='%s is required for the "rax_cdb_user" '
'module' % arg)
@@ -148,7 +148,7 @@ def save_user(module, cdb_id, name, password, databases, host):
def delete_user(module, cdb_id, name):
for arg, value in dict(cdb_id=cdb_id, name=name).iteritems():
for arg, value in dict(cdb_id=cdb_id, name=name).items():
if not value:
module.fail_json(msg='%s is required for the "rax_cdb_user"'
' module' % arg)

View File

@@ -200,7 +200,7 @@ def cloud_load_balancer(module, state, name, meta, algorithm, port, protocol,
'protocol': protocol,
'timeout': timeout
}
for att, value in atts.iteritems():
for att, value in atts.items():
current = getattr(balancer, att)
if current != value:
changed = True

View File

@@ -143,7 +143,7 @@ def cloud_load_balancer_ssl(module, loadbalancer, state, enabled, private_key,
needs_change = False
if existing_ssl:
for ssl_attr, value in ssl_attrs.iteritems():
for ssl_attr, value in ssl_attrs.items():
if ssl_attr == 'privatekey':
# The private key is not included in get_ssl_termination's
# output (as it shouldn't be). Also, if you're changing the

View File

@@ -191,7 +191,7 @@ def cloud_check(module, state, entity_id, label, check_type,
# Only force a recreation of the check if one of the *specified*
# keys is missing or has a different value.
if details:
for (key, value) in details.iteritems():
for (key, value) in details.items():
if key not in check.details:
should_delete = should_create = True
elif value != check.details[key]:

View File

@@ -594,7 +594,7 @@ class PyVmomiHelper(object):
mac = device.macAddress
ips = list(device.ipAddress)
netDict[mac] = ips
for k,v in netDict.iteritems():
for k,v in netDict.items():
for ipaddress in v:
if ipaddress:
if '::' in ipaddress:
@@ -979,7 +979,7 @@ class PyVmomiHelper(object):
timeout=10, headers=None)
# save all of the transfer data
for k,v in info.iteritems():
for k,v in info.items():
result[k] = v
# exit early if xfer failed
@@ -1045,7 +1045,7 @@ class PyVmomiHelper(object):
result['msg'] = str(rsp.read())
# save all of the transfer data
for k,v in info.iteritems():
for k,v in info.items():
result[k] = v
return result

View File

@@ -863,7 +863,7 @@ def reconfigure_vm(vsphere_client, vm, module, esxi, resource_pool, cluster_name
if vm_extra_config:
spec = spec_singleton(spec, request, vm)
extra_config = []
for k,v in vm_extra_config.iteritems():
for k,v in vm_extra_config.items():
ec = spec.new_extraConfig()
ec.set_element_key(str(k))
ec.set_element_value(str(v))
@@ -1085,7 +1085,7 @@ def reconfigure_net(vsphere_client, vm, module, esxi, resource_pool, guest, vm_n
module.fail_json(msg="Cannot find datacenter named: %s" % datacenter)
dcprops = VIProperty(vsphere_client, dcmor)
nfmor = dcprops.networkFolder._obj
for k,v in vm_nic.iteritems():
for k,v in vm_nic.items():
nicNum = k[len(k) -1]
if vm_nic[k]['network_type'] == 'dvs':
portgroupKey = find_portgroup_key(module, s, nfmor, vm_nic[k]['network'])
@@ -1116,7 +1116,7 @@ def reconfigure_net(vsphere_client, vm, module, esxi, resource_pool, guest, vm_n
module.exit_json()
if len(nics) > 0:
for nic, obj in nics.iteritems():
for nic, obj in nics.items():
"""
1,2 and 3 are used to mark which action should be taken
1 = from a distributed switch to a distributed switch
@@ -1145,7 +1145,7 @@ def reconfigure_net(vsphere_client, vm, module, esxi, resource_pool, guest, vm_n
"nic_backing").pyclass()
nic_backing.set_element_deviceName(vm_nic[nic]['network'])
dev._obj.set_element_backing(nic_backing)
for nic, obj in nics.iteritems():
for nic, obj in nics.items():
dev = obj[0]
spec = request.new_spec()
nic_change = spec.new_deviceChange()
@@ -1178,7 +1178,7 @@ def _build_folder_tree(nodes, parent):
def _find_path_in_tree(tree, path):
for name, o in tree.iteritems():
for name, o in tree.items():
if name == path[0]:
if len(path) == 1:
return o
@@ -1231,7 +1231,7 @@ def create_vm(vsphere_client, module, esxi, resource_pool, cluster_name, guest,
# try the legacy behaviour of just matching the folder name, so 'lamp' alone matches 'production/customerA/lamp'
if vmfmor is None:
for mor, name in vsphere_client._get_managed_objects(MORTypes.Folder).iteritems():
for mor, name in vsphere_client._get_managed_objects(MORTypes.Folder).items():
if name == vm_extra_config['folder']:
vmfmor = mor