def __init__(self, xml): MachineDefinition.__init__(self, xml) x = xml.find("attrs/attr[@name='virtualbox']/attrs") assert x is not None self.base_image = x.find("attr[@name='baseImage']/string").get("value") self.memory_size = x.find("attr[@name='memorySize']/int").get("value") self.headless = x.find("attr[@name='headless']/bool").get("value") == "true"
def __init__(self, xml): MachineDefinition.__init__(self, xml) x = xml.find("attrs/attr[@name='ec2']/attrs") assert x is not None self.access_key_id = x.find("attr[@name='accessKeyId']/string").get("value") self.type = x.find("attr[@name='type']/string").get("value") self.region = x.find("attr[@name='region']/string").get("value") self.zone = x.find("attr[@name='zone']/string").get("value") self.controller = x.find("attr[@name='controller']/string").get("value") self.ami = x.find("attr[@name='ami']/string").get("value") if self.ami == "": raise Exception("no AMI defined for EC2 machine ‘{0}’".format(self.name)) self.instance_type = x.find("attr[@name='instanceType']/string").get("value") self.key_pair = x.find("attr[@name='keyPair']/string").get("value") self.private_key = x.find("attr[@name='privateKey']/string").get("value") self.security_groups = [e.get("value") for e in x.findall("attr[@name='securityGroups']/list/string")] self.instance_profile = x.find("attr[@name='instanceProfile']/string").get("value") self.tags = {k.get("name"): k.find("string").get("value") for k in x.findall("attr[@name='tags']/attrs/attr")} def f(xml): return {'disk': xml.find("attrs/attr[@name='disk']/string").get("value"), 'size': int(xml.find("attrs/attr[@name='size']/int").get("value")), 'iops': int(xml.find("attrs/attr[@name='iops']/int").get("value")), 'fsType': xml.find("attrs/attr[@name='fsType']/string").get("value"), 'deleteOnTermination': xml.find("attrs/attr[@name='deleteOnTermination']/bool").get("value") == "true", 'encrypt': xml.find("attrs/attr[@name='encrypt']/bool").get("value") == "true", 'passphrase': xml.find("attrs/attr[@name='passphrase']/string").get("value")} self.block_device_mapping = {_xvd_to_sd(k.get("name")): f(k) for k in x.findall("attr[@name='blockDeviceMapping']/attrs/attr")} self.elastic_ipv4 = x.find("attr[@name='elasticIPv4']/string").get("value") x = xml.find("attrs/attr[@name='route53']/attrs") assert x is not None self.dns_hostname = x.find("attr[@name='hostName']/string").get("value") self.dns_ttl = x.find("attr[@name='ttl']/int").get("value") self.route53_access_key_id = x.find("attr[@name='accessKeyId']/string").get("value")
def __init__(self, xml): MachineDefinition.__init__(self, xml) self._target_host = xml.find("attrs/attr[@name='targetHost']/string").get("value")