Beispiel #1
0
def test_get_all_elbs_v2():
    from lemur.plugins.lemur_aws.elb import get_all_elbs_v2

    ec2 = boto3.resource("ec2", region_name="us-east-1")
    elbv2 = boto3.client("elbv2", region_name="us-east-1")

    elbs = get_all_elbs_v2(account_number="123456789012", region="us-east-1")
    assert not elbs

    vpc = ec2.create_vpc(CidrBlock="10.0.1.0/24")
    subnet1 = ec2.create_subnet(VpcId=vpc.id,
                                CidrBlock="10.0.1.128/25",
                                AvailabilityZone="us-east-1b")
    elbv2.create_load_balancer(
        Name="test-lbv2",
        Subnets=[
            subnet1.id,
        ],
    )

    elbs = get_all_elbs_v2(account_number="123456789012", region="us-east-1")
    assert "test-lbv2" in [elb["LoadBalancerName"] for elb in elbs]

    elbv2.create_load_balancer(Name="test-lbv2-ignored",
                               Subnets=[
                                   subnet1.id,
                               ],
                               Tags=[{
                                   "Key": "lemur-test-ignore",
                                   "Value": "",
                               }])
    elbs = get_all_elbs_v2(account_number="123456789012", region="us-east-1")

    assert "test-lbv2" in [elb["LoadBalancerName"] for elb in elbs]
    assert "test-lbv2-ignored" not in [elb["LoadBalancerName"] for elb in elbs]
Beispiel #2
0
    def get_endpoints(self, options, **kwargs):
        endpoints = []
        account_number = self.get_option("accountNumber", options)
        regions = self.get_option("regions", options)

        if not regions:
            regions = ec2.get_regions(account_number=account_number)
        else:
            regions = regions.split(",")

        for region in regions:
            elbs = elb.get_all_elbs(account_number=account_number,
                                    region=region)
            current_app.logger.info(
                "Describing classic load balancers in {0}-{1}".format(
                    account_number, region))

            for e in elbs:
                endpoints.extend(get_elb_endpoints(account_number, region, e))

            # fetch advanced ELBs
            elbs_v2 = elb.get_all_elbs_v2(account_number=account_number,
                                          region=region)
            current_app.logger.info(
                "Describing advanced load balancers in {0}-{1}".format(
                    account_number, region))

            for e in elbs_v2:
                endpoints.extend(
                    get_elb_endpoints_v2(account_number, region, e))

        return endpoints
Beispiel #3
0
    def get_endpoints(self, options, **kwargs):
        endpoints = []
        account_number = self.get_option('accountNumber', options)
        regions = self.get_option('regions', options)

        if not regions:
            regions = ec2.get_regions(account_number=account_number)
        else:
            regions = regions.split(',')

        for region in regions:
            elbs = elb.get_all_elbs(account_number=account_number, region=region)
            current_app.logger.info("Describing classic load balancers in {0}-{1}".format(account_number, region))

            for e in elbs:
                endpoints.extend(get_elb_endpoints(account_number, region, e))

            # fetch advanced ELBs
            elbs_v2 = elb.get_all_elbs_v2(account_number=account_number, region=region)
            current_app.logger.info("Describing advanced load balancers in {0}-{1}".format(account_number, region))

            for e in elbs_v2:
                endpoints.extend(get_elb_endpoints_v2(account_number, region, e))

        return endpoints
Beispiel #4
0
    def get_endpoints(self, options, **kwargs):
        endpoints = []
        account_number = self.get_option("accountNumber", options)
        regions = self.get_option("regions", options)

        if not regions:
            regions = ec2.get_regions(account_number=account_number)
        else:
            regions = "".join(regions.split()).split(",")

        for region in regions:
            elbs = elb.get_all_elbs(account_number=account_number, region=region)
            current_app.logger.info({
                "message": "Describing classic load balancers",
                "account_number": account_number,
                "region": region,
                "number_of_load_balancers": len(elbs)
            })

            for e in elbs:
                endpoints.extend(get_elb_endpoints(account_number, region, e))

            # fetch advanced ELBs
            elbs_v2 = elb.get_all_elbs_v2(account_number=account_number, region=region)
            current_app.logger.info({
                "message": "Describing advanced load balancers",
                "account_number": account_number,
                "region": region,
                "number_of_load_balancers": len(elbs_v2)
            })

            for e in elbs_v2:
                endpoints.extend(get_elb_endpoints_v2(account_number, region, e))

        return endpoints
Beispiel #5
0
def test_get_all_elbs_v2():
    from lemur.plugins.lemur_aws.elb import get_all_elbs_v2

    elbs = get_all_elbs_v2(account_number="123456789012", region="us-east-1")
    assert elbs