当前位置: 首页>>代码示例>>Python>>正文


Python boto.vpc方法代码示例

本文整理汇总了Python中boto.vpc方法的典型用法代码示例。如果您正苦于以下问题:Python boto.vpc方法的具体用法?Python boto.vpc怎么用?Python boto.vpc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在boto的用法示例。


在下文中一共展示了boto.vpc方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_sg_subnets

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_sg_subnets(name, vpc_id, region, profile=None):
    """
    Args:
        name (str): The name of the security group you are looking for.
        vpc_id (str): The VPC id where this security group resides.
        region (str): The AWS region.

    Basic Usage:
        >>> name = 'ProductionELB'
        >>> region = 'us-west-2'
        >>> vpc_id = 'vpc-123456'
        >>> subnets = get_sg_subnets(name, vpc_id, region)
        >>> print subnets

    Returns:
        String
    """
    cidrs = get_sg_cidrs(name, vpc_id, region, profile)
    subnets = list()
    for subnet in cidrs:
        subnets.append(subnet.split("/")[0])
    return subnets 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:24,代码来源:aws.py

示例2: get_vpc_ids_from_names

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_vpc_ids_from_names(vpc_names, region=None, profile=None):
    """Return a list of vpc ids from the list of vpc names that were matched.
    Args:
        vpc_names (list): List of vpc names you are searching for.
        client (Boto3.Client): The instantiated boto3 client.
    """
    vpc_ids = list()
    client = aws_client(region, 'ec2', profile)
    vpcs = client.describe_vpcs()
    for vpc in vpcs['Vpcs']:
        if 'Tags' in vpc:
            for tag in vpc['Tags']:
                if tag['Key'] == 'Name':
                    for name in vpc_names:
                        if re.search(name, tag['Value'], re.IGNORECASE):
                            vpc_ids.append(vpc['VpcId'])
    return vpc_ids 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:19,代码来源:aws.py

示例3: vpc_exists

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def vpc_exists(name, region):
    """
    Args:
        name (str): The name of the vpc you are retrieving the id for.
        region (str): The AWS region.

    Basic Usage:
        >>> vpc_name = 'test'
        >>> aws_region = 'us-west-2'
        >>> vpc_id = vpc_exists(vpc_name, aws_region)
        'vpc-1234567'

    Returns:
        VPC ID
    """
    vpc_id = None
    try:
        vpc_id = get_vpc_id_by_name(name, region)
    except Exception:
        vpc_id = 'does not exist'
    return vpc_id 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:23,代码来源:aws.py

示例4: __init__

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def __init__(self, region):

        self.uid='ut_{}'.format(random.randint(1, 10000000000))
        self.region_name = region
        self.ec2_conn = boto.ec2.connect_to_region(region)
        self.vpc_conn = boto.vpc.connect_to_region(region)

        self.key_name = self.uid+'_kp' 
        
        self.vpc_id = ''
        self.vpc_name = self.uid+'_vpc'
        self.vpc_netmask = '10.0.0.0/24'

        self.subnet_id = ''
        self.subnet_name = self.uid+'_subnet'
        self.subnet_netmask = self.vpc_netmask 
开发者ID:f5devcentral,项目名称:aws-deployments,代码行数:18,代码来源:utils.py

示例5: _get_net_info

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def _get_net_info(self, server, resources):
        """
        Look up the IP address, gateway, and subnet range. 
        """
        # gw_type, gw_info = self._get_nat_info(server["vpc"], server["subnet"])
        # gw = gw_info["nics"][0]["ip_address"]
        # gw = "0.0.0.0"
        cidr = server["cidr"].split("/")[1]
        ip = self._get_data_ip(server)
        gw_info = server["cidr"].split("/")[0].split(".")
        gw = "%s.%s.%s.1" % (gw_info[0], gw_info[1], gw_info[2])

        # We want to use the host NIC, so modify LXC to use phys networking, and
        # then start the docker containers on the server. 
        lxc_opts = ["lxc.network.type = phys",
                    "lxc.network.ipv4 = %s/%s" % (ip, cidr),
                    "lxc.network.ipv4.gateway = %s" % gw,
                    "lxc.network.link = eth1",
                    "lxc.network.name = eth1", 
                    "lxc.network.flags = up"]
        return lxc_opts, ip 
开发者ID:jhorey,项目名称:ferry,代码行数:23,代码来源:awslauncher.py

示例6: vpc

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def vpc(self):
        """
            fetch vpc connection, open if necessary
        """
        if self._region['vpc_conn']:
            return self._region['vpc_conn']
        region = self.region()
        if self._region['vpc_conn'] is None:
            log.debug("Connecting to VPC region {}".format(region))
            self._region['vpc_conn'] = boto.vpc.connect_to_region(
                region,
                is_secure=False
            )
        assert self._region['vpc_conn'] is not None, (
               ("Failed to connect to VPC service in region {!r}"
                .format(region)))
        return self._region['vpc_conn'] 
开发者ID:smithfarm,项目名称:ceph-auto-aws,代码行数:19,代码来源:region.py

示例7: get_sg

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_sg(name, vpc_id, region, profile=None):
    """
    Args:
        name (str): The name of the security group you are looking for.
        vpc_id (str): The VPC id where this security group resides.
        region (str): The AWS region.

    Basic Usage:
        >>> name = 'ProductionELB'
        >>> region = 'us-west-2'
        >>> vpc_id = 'vpc-123456'
        >>> security_group_id = get_sg(name, vpc_id, region)
        >>> print security_group_id

    Returns:
        String
    """
    connect = boto.ec2.connect_to_region(region)
    filter_by = {
        "tag-key": "Name",
        "tag-value": name,
        "vpc-id": vpc_id
    }
    try:
        sg_groups = connect.get_all_security_groups(filters=filter_by)
        if len(sg_groups) == 1:
            return sg_groups[0].id
        elif len(sg_groups) > 1:
            raise errors.AnsibleFilterError(
                "Too many results for {0}: {1}".format(
                    name, ",".join(sg_groups)
                )
            )
        else:
            raise errors.AnsibleFilterError(
                "Security Group {0} was not found".format(name)
            )
    except botocore.exceptions.ClientError as e:
        raise e 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:41,代码来源:aws.py

示例8: get_route_table_ids

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_route_table_ids(vpc_id, region=None, profile=None):
    """
    Args:
        vpc_id (str): The vpc id in which the subnet you are looking
            for lives in,

    Basic Usage:
        >>> vpc_id = 'vpc-12345678'
        >>> get_route_table_ids(vpc_id)
        ['rtb-1234567a']

    Returns:
        List of route table ids
    """
    route_ids = list()
    client = aws_client(region, 'ec2', profile)
    params = {
        'Filters': [
            {
                'Name': 'vpc-id',
                'Values': [vpc_id],
            },
            {
                'Name': 'association.main',
                'Values': ['false']
            }
        ]
    }
    routes = client.describe_route_tables(**params)
    if routes:
        route_ids = (
            map(lambda route: route['RouteTableId'], routes['RouteTables'])
        )
        return route_ids
    else:
        raise errors.AnsibleFilterError("No routes were found") 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:38,代码来源:aws.py

示例9: get_all_route_table_ids_except

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_all_route_table_ids_except(vpc_id, region=None, profile=None):
    """
    Args:
        vpc_id (str): The vpc you want to exclude routes from.

    Basic Usage:
        >>> vpc_id = 'vpc-98c797fd'
        >>> get_all_route_table_ids_except(vpc_id)
        ['rtb-5f78343a']

    Returns:
        List of route table ids
    """
    route_ids = list()
    client = aws_client(region, 'ec2', profile)
    params = {
        'Filters': [
            {
                'Name': 'association.main',
                'Values': ['false']
            }
        ]
    }
    routes = client.describe_route_tables(**params)
    if routes:
        for route in routes['RouteTables']:
            if route['VpcId'] != vpc_id:
                route_ids.append(route['RouteTableId'])
        if len(route_ids) > 0:
            return route_ids
        else:
            raise errors.AnsibleFilterError("No routes were found")
    else:
        raise errors.AnsibleFilterError("No routes were found") 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:36,代码来源:aws.py

示例10: get_all_route_table_ids_except_vpc_names

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_all_route_table_ids_except_vpc_names(vpc_names, region=None,
                                             profile=None):
    """
    Args:
        vpc_names (list): List of vpc names you are searching for.

    Kwargs:
        region (str): The AWS region.

    Basic Usage:
        >>> vpc_names = ['test', 'foo']
        >>> get_all_route_table_ids_except_vpc_names(vpc_names)
        ['rtb-123456']

    Returns:
        List of route table ids
    """
    route_ids = list()
    client = aws_client(region, 'ec2', profile)
    vpc_ids = get_vpc_ids_from_names(vpc_names, region, profile)
    params = {
        'Filters': [
            {
                'Name': 'association.main',
                'Values': ['false']
            }
        ]
    }
    routes = client.describe_route_tables(**params)
    if routes:
        for route in routes['RouteTables']:
            if route['VpcId'] not in vpc_ids:
                route_ids.append(route['RouteTableId'])
        if len(route_ids) > 0:
            return route_ids
        else:
            raise errors.AnsibleFilterError("No routes were found")
    else:
        raise errors.AnsibleFilterError("No routes were found") 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:41,代码来源:aws.py

示例11: get_subnet_ids_in_zone

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def get_subnet_ids_in_zone(vpc_id, zone, region=None, profile=None):
    """
    Args:
        vpc_id (str): The vpc id in which the subnet you are looking
            for lives in,
        zone (str): The region in which the subnet resides.

    Basic Usage:
        >>> vpc_id = 'vpc-12345678'
        >>> aws_region = 'us-west-2'
        >>> zone = 'us-west-2c'
        >>> get_subnet_ids_in_zone(vpc_id, zone, aws_region)
        [u'subnet-4324567', u'subnet-12345678', u'subnet-6543210']

    Returns:
        List of subnet ids
    """
    subnet_ids = list()
    client = aws_client(region, 'ec2', profile)
    params = {
        'Filters': [
            {
                'Name': 'vpc-id',
                'Values': [vpc_id],
            },
            {
                'Name': 'availabilityZone',
                'Values': [zone],
            }
        ]
    }
    subnets = client.describe_subnets(**params)['Subnets']
    if subnets:
        subnet_ids = map(lambda subnet: subnet['SubnetId'], subnets)
        return subnet_ids
    else:
        raise errors.AnsibleFilterError("No subnets were found") 
开发者ID:PacktPublishing,项目名称:-Deploying-Jenkins-to-the-Cloud-with-DevOps-Tools,代码行数:39,代码来源:aws.py

示例12: vpc

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def vpc(self):
        """
        :rtype: VPCConnection
        """
        if self.__vpc is None:
            self.__vpc = self.__aws_connect(vpc)
        return self.__vpc

    # ec2 = vpc works, too, but confuses the type hinter in PyCharm 
开发者ID:DataBiosphere,项目名称:toil,代码行数:11,代码来源:context.py

示例13: _init_aws_clients

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def _init_aws_clients(self):
        # We will need to use both EC2 and VPC. 
        self.ec2 = boto.ec2.connect_to_region(self.default_dc,
                                              aws_access_key_id = self.aws_access_key,
                                              aws_secret_access_key = self.aws_secret_key)
        self.vpc = boto.vpc.VPCConnection(aws_access_key_id = self.aws_access_key,
                                          aws_secret_access_key = self.aws_secret_key)
        self.cf = boto.cloudformation.connect_to_region(self.default_dc, 
                                                        aws_access_key_id = self.aws_access_key,
                                                        aws_secret_access_key = self.aws_secret_key) 
开发者ID:jhorey,项目名称:ferry,代码行数:12,代码来源:awslauncher.py

示例14: _create_routetable

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def _create_routetable(self, name, subnet, vpc):
        plan = { name : { "Type" : "AWS::EC2::RouteTable",
                          "Properties" : { "VpcId" : vpc}}}
        desc = { name : { "type" : "AWS::EC2::RouteTable",
                          "vpc" : vpc }}
        return plan, desc 
开发者ID:jhorey,项目名称:ferry,代码行数:8,代码来源:awslauncher.py

示例15: _create_floatingip_plan

# 需要导入模块: import boto [as 别名]
# 或者: from boto import vpc [as 别名]
def _create_floatingip_plan(self, cluster_uuid, instances):
        """
        Assign an elastic IP to the secondary device of each instance. 
        """
        plan = { "AWSTemplateFormatVersion" : "2010-09-09",
                 "Description" : "Ferry generated CloudFormation plan",
                 "Resources" :  {} }
        desc = {}
        for instance in instances:
            eip_name = "FerryEIP" + instance["name"]
            assoc_name = "FerryEIPAssoc" + instance["name"]
            eip_resource = {
                "Type" : "AWS::EC2::EIP",
                "Properties" : {
                    "Domain" : "vpc"
                }
            }
            assoc_resource = {
                "Type": "AWS::EC2::EIPAssociation",
                "Properties": {
                    "AllocationId" : { "Fn::GetAtt" : [ eip_name, "AllocationId" ]},
                    "NetworkInterfaceId": { "Ref" : instance["data_nic"] }
                    # "InstanceId": { "Ref" : instance["name"] }
                }
            }
            plan["Resources"][eip_name] = eip_resource
            plan["Resources"][assoc_name] = assoc_resource
            desc[eip_name] = { "type" : "AWS::EC2::EIP" }

        return plan, desc 
开发者ID:jhorey,项目名称:ferry,代码行数:32,代码来源:awslauncher.py


注:本文中的boto.vpc方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。