Esempio n. 1
0
def import_elb(proxy: ServiceProxy, elb):
    result = elb.copy()
    elb_name = elb['LoadBalancerName']
    for resource in proxy.resource_names():
        canonical_name = proxy.canonical_name(resource)
        is_tags = canonical_name == 'DescribeTags'
        if is_tags:
            kwargs = {'LoadBalancerNames': [elb_name]}
        else:
            kwargs = {'LoadBalancerName': elb_name}
        list_result = proxy.list(resource, **kwargs)
        if list_result is not None:
            if is_tags:
                tag_descriptions = list_result[1]['TagDescriptions']
                if len(tag_descriptions) > 0:
                    result['Tags'] = tag_descriptions[0]['Tags']
                else:
                    result['Tags'] = []
            else:
                key = canonical_name[len('DescribeLoadBalancer'):]
                result[key] = list_result[1]
    return result
Esempio n. 2
0
def _import_ec2_region(
        proxy: ServiceProxy, region: str,
        spec: ServiceSpec) -> Generator[Tuple[str, Any], None, None]:
    for resource in proxy.resource_names():
        _log.info(f'importing {resource}')
        op_name = proxy._impl._client._PY_TO_OP_NAME[resource]
        op_resource = op_name[len('Describe'):]
        if op_resource in RESOURCES:
            if resource_gate(spec, op_resource):
                result = proxy.list(resource)
                if result is not None:
                    if resource == 'describe_instances':
                        _add_user_data(proxy, result[1])
                    elif resource == 'describe_snapshots':
                        _add_launch_permissions(proxy, result[1])
                    elif resource == 'describe_images':
                        _add_image_attributes(proxy, result[1])
                    elif resource == 'describe_security_groups':
                        _add_security_group_references(proxy, result[1])
                    yield result[0], result[1]
                _log.info(f'done with {resource}')
    if resource_gate(spec, 'Defaults'):
        yield from _synthesize_defaults(proxy, region)