Esempio n. 1
0
    def run_instances(self):
        min_count = int(self._get_param('MinCount', if_none='1'))
        image_id = self._get_param('ImageId')
        user_data = self._get_param('UserData')
        security_group_names = self._get_multi_param('SecurityGroup')
        security_group_ids = self._get_multi_param('SecurityGroupId')
        nics = dict_from_querystring("NetworkInterface", self.querystring)
        instance_type = self._get_param('InstanceType', if_none='m1.small')
        placement = self._get_param('Placement.AvailabilityZone')
        subnet_id = self._get_param('SubnetId')
        private_ip = self._get_param('PrivateIpAddress')
        associate_public_ip = self._get_param('AssociatePublicIpAddress')
        key_name = self._get_param('KeyName')
        tags = self._parse_tag_specification("TagSpecification")
        region_name = self.region

        if self.is_not_dryrun('RunInstance'):
            new_reservation = self.ec2_backend.add_instances(
                image_id,
                min_count,
                user_data,
                security_group_names,
                instance_type=instance_type,
                placement=placement,
                region_name=region_name,
                subnet_id=subnet_id,
                key_name=key_name,
                security_group_ids=security_group_ids,
                nics=nics,
                private_ip=private_ip,
                associate_public_ip=associate_public_ip,
                tags=tags)

            template = self.response_template(EC2_RUN_INSTANCES)
            return template.render(reservation=new_reservation)
Esempio n. 2
0
    def run_instances(self):
        min_count = int(self.querystring.get('MinCount', ['1'])[0])
        image_id = self.querystring.get('ImageId')[0]
        user_data = self.querystring.get('UserData')
        security_group_names = self._get_multi_param('SecurityGroup')
        security_group_ids = self._get_multi_param('SecurityGroupId')
        nics = dict_from_querystring("NetworkInterface", self.querystring)
        instance_type = self.querystring.get("InstanceType", ["m1.small"])[0]
        placement = self.querystring.get("Placement.AvailabilityZone",
                                         [None])[0]
        subnet_id = self.querystring.get("SubnetId", [None])[0]
        private_ip = self.querystring.get("PrivateIpAddress", [None])[0]
        associate_public_ip = self.querystring.get("AssociatePublicIpAddress",
                                                   [None])[0]
        key_name = self.querystring.get("KeyName", [None])[0]

        if self.is_not_dryrun('RunInstance'):
            new_reservation = self.ec2_backend.add_instances(
                image_id,
                min_count,
                user_data,
                security_group_names,
                instance_type=instance_type,
                placement=placement,
                subnet_id=subnet_id,
                key_name=key_name,
                security_group_ids=security_group_ids,
                nics=nics,
                private_ip=private_ip,
                associate_public_ip=associate_public_ip)

            template = self.response_template(EC2_RUN_INSTANCES)
            return template.render(reservation=new_reservation)
Esempio n. 3
0
    def run_instances(self):
        min_count = int(self._get_param('MinCount', if_none='1'))
        image_id = self._get_param('ImageId')
        owner_id = self._get_param('OwnerId')
        user_data = self._get_param('UserData')
        security_group_names = self._get_multi_param('SecurityGroup')
        security_group_ids = self._get_multi_param('SecurityGroupId')
        nics = dict_from_querystring("NetworkInterface", self.querystring)
        instance_type = self._get_param('InstanceType', if_none='m1.small')
        placement = self._get_param('Placement.AvailabilityZone')
        subnet_id = self._get_param('SubnetId')
        private_ip = self._get_param('PrivateIpAddress')
        associate_public_ip = self._get_param('AssociatePublicIpAddress')
        key_name = self._get_param('KeyName')
        ebs_optimized = self._get_param('EbsOptimized')
        tags = self._parse_tag_specification("TagSpecification")
        region_name = self.region

        if self.is_not_dryrun('RunInstance'):
            new_reservation = self.ec2_backend.add_instances(
                image_id, min_count, user_data, security_group_names,
                instance_type=instance_type, placement=placement, region_name=region_name, subnet_id=subnet_id,
                owner_id=owner_id, key_name=key_name, security_group_ids=security_group_ids,
                nics=nics, private_ip=private_ip, associate_public_ip=associate_public_ip,
                tags=tags, ebs_optimized=ebs_optimized)

            template = self.response_template(EC2_RUN_INSTANCES)
            return template.render(reservation=new_reservation)
Esempio n. 4
0
    def run_instances(self):
        min_count = int(self.querystring.get('MinCount', ['1'])[0])
        image_id = self.querystring.get('ImageId')[0]
        user_data = self.querystring.get('UserData')
        security_group_names = self._get_multi_param('SecurityGroup')
        security_group_ids = self._get_multi_param('SecurityGroupId')
        nics = dict_from_querystring("NetworkInterface", self.querystring)
        instance_type = self.querystring.get("InstanceType", ["m1.small"])[0]
        placement = self.querystring.get(
            "Placement.AvailabilityZone", [None])[0]
        subnet_id = self.querystring.get("SubnetId", [None])[0]
        private_ip = self.querystring.get("PrivateIpAddress", [None])[0]
        associate_public_ip = self.querystring.get(
            "AssociatePublicIpAddress", [None])[0]
        key_name = self.querystring.get("KeyName", [None])[0]

        if self.is_not_dryrun('RunInstance'):
            new_reservation = self.ec2_backend.add_instances(
                image_id, min_count, user_data, security_group_names,
                instance_type=instance_type, placement=placement, subnet_id=subnet_id,
                key_name=key_name, security_group_ids=security_group_ids,
                nics=nics, private_ip=private_ip, associate_public_ip=associate_public_ip)

            template = self.response_template(EC2_RUN_INSTANCES)
            return template.render(reservation=new_reservation)
Esempio n. 5
0
    def run_instances(self):
        min_count = int(self.querystring.get("MinCount", ["1"])[0])
        image_id = self.querystring.get("ImageId")[0]
        user_data = self.querystring.get("UserData")
        security_group_names = self._get_multi_param("SecurityGroup")
        security_group_ids = self._get_multi_param("SecurityGroupId")
        nics = dict_from_querystring("NetworkInterface", self.querystring)
        instance_type = self.querystring.get("InstanceType", ["m1.small"])[0]
        subnet_id = self.querystring.get("SubnetId", [None])[0]
        private_ip = self.querystring.get("PrivateIpAddress", [None])[0]
        associate_public_ip = self.querystring.get("AssociatePublicIpAddress", [None])[0]
        key_name = self.querystring.get("KeyName", [None])[0]

        new_reservation = self.ec2_backend.add_instances(
            image_id,
            min_count,
            user_data,
            security_group_names,
            instance_type=instance_type,
            subnet_id=subnet_id,
            key_name=key_name,
            security_group_ids=security_group_ids,
            nics=nics,
            private_ip=private_ip,
            associate_public_ip=associate_public_ip,
        )

        template = self.response_template(EC2_RUN_INSTANCES)
        return template.render(reservation=new_reservation)
Esempio n. 6
0
    def run_instances(self):
        min_count = int(self._get_param("MinCount", if_none="1"))
        image_id = self._get_param("ImageId")
        owner_id = self._get_param("OwnerId")
        user_data = self._get_param("UserData")
        security_group_names = self._get_multi_param("SecurityGroup")
        kwargs = {
            "instance_type": self._get_param("InstanceType", if_none="m1.small"),
            "placement": self._get_param("Placement.AvailabilityZone"),
            "region_name": self.region,
            "subnet_id": self._get_param("SubnetId"),
            "owner_id": owner_id,
            "key_name": self._get_param("KeyName"),
            "security_group_ids": self._get_multi_param("SecurityGroupId"),
            "nics": dict_from_querystring("NetworkInterface", self.querystring),
            "private_ip": self._get_param("PrivateIpAddress"),
            "associate_public_ip": self._get_param("AssociatePublicIpAddress"),
            "tags": self._parse_tag_specification("TagSpecification"),
            "ebs_optimized": self._get_param("EbsOptimized") or False,
            "instance_initiated_shutdown_behavior": self._get_param(
                "InstanceInitiatedShutdownBehavior"
            ),
        }

        mappings = self._parse_block_device_mapping()
        if mappings:
            kwargs["block_device_mappings"] = mappings

        if self.is_not_dryrun("RunInstance"):
            new_reservation = self.ec2_backend.add_instances(
                image_id, min_count, user_data, security_group_names, **kwargs
            )

            template = self.response_template(EC2_RUN_INSTANCES)
            return template.render(reservation=new_reservation)
Esempio n. 7
0
    def run_instances(self):
        min_count = int(self._get_param("MinCount", if_none="1"))
        image_id = self._get_param("ImageId")
        owner_id = self._get_param("OwnerId")
        user_data = self._get_param("UserData")
        security_group_names = self._get_multi_param("SecurityGroup")
        security_group_ids = self._get_multi_param("SecurityGroupId")
        nics = dict_from_querystring("NetworkInterface", self.querystring)
        instance_type = self._get_param("InstanceType", if_none="m1.small")
        placement = self._get_param("Placement.AvailabilityZone")
        subnet_id = self._get_param("SubnetId")
        private_ip = self._get_param("PrivateIpAddress")
        associate_public_ip = self._get_param("AssociatePublicIpAddress")
        key_name = self._get_param("KeyName")
        ebs_optimized = self._get_param("EbsOptimized")
        instance_initiated_shutdown_behavior = self._get_param(
            "InstanceInitiatedShutdownBehavior")
        tags = self._parse_tag_specification("TagSpecification")
        region_name = self.region

        if self.is_not_dryrun("RunInstance"):
            new_reservation = self.ec2_backend.add_instances(
                image_id,
                min_count,
                user_data,
                security_group_names,
                instance_type=instance_type,
                placement=placement,
                region_name=region_name,
                subnet_id=subnet_id,
                owner_id=owner_id,
                key_name=key_name,
                security_group_ids=security_group_ids,
                nics=nics,
                private_ip=private_ip,
                associate_public_ip=associate_public_ip,
                tags=tags,
                ebs_optimized=ebs_optimized,
                instance_initiated_shutdown_behavior=
                instance_initiated_shutdown_behavior,
            )

            template = self.response_template(EC2_RUN_INSTANCES)
            return template.render(reservation=new_reservation)