Exemplo n.º 1
0
def main():
    # Generate the latest autocompletion indices from
    # boto3.  You'll need to do this if you pull in
    # a new boto3 version that has updated resource models.
    import sys
    import json
    import os
    import boto3.session
    data_dir = os.path.join(
        os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
        'data')
    if not os.path.isdir(data_dir):
        os.makedirs(data_dir)
    session = boto3.session.Session()
    loader = session._loader
    builder = ResourceIndexBuilder()
    for resource_name in session.get_available_resources():
        api_version = loader.determine_latest_version(
            resource_name, 'resources-1')
        model = loader.load_service_model(resource_name, 'resources-1',
                                          api_version)
        index = builder.build_index(model)
        output_file = os.path.join(data_dir, resource_name, api_version,
                                   'completions-1.json')
        if not os.path.isdir(os.path.dirname(output_file)):
            os.makedirs(os.path.dirname(output_file))
        with open(output_file, 'w') as f:
            f.write(json.dumps(index, indent=2))
Exemplo n.º 2
0
def all_collections():
    # This generator yields every collection on every available resource,
    # except those which have been blocklisted.
    session = boto3.session.Session()
    for service_name in session.get_available_resources():
        resource = session.resource(
            service_name,
            region_name=REGION_MAP.get(service_name, 'us-west-2'))

        for key in dir(resource):
            if key in BLOCKLIST.get(service_name, []):
                continue

            value = getattr(resource, key)
            if isinstance(value, CollectionManager):
                yield value
Exemplo n.º 3
0
def test_all_collections():
    # This generator yields test functions for every collection
    # on every available resource, except those which have
    # been blacklisted.
    session = boto3.session.Session()
    for service_name in session.get_available_resources():
        resource = session.resource(
            service_name,
            region_name=REGION_MAP.get(service_name, 'us-west-2'))

        for key in dir(resource):
            if key in BLACKLIST.get(service_name, []):
                continue

            value = getattr(resource, key)
            if isinstance(value, CollectionManager):
                yield _test_collection, service_name, key, value