123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import os
- import kscore.session
- SESSION = kscore.session.get_session()
- KNOWN_SERVICES = SESSION.get_available_services()
- # For the services where the tag name doesn't match
- # the name we use to create_client(), we need to maintain
- # a map until we can get these changes pushed upstream.
- TAG_TO_ENDPOINT_PREFIX = {
- 'tag': 'endpoint',
- }
- REGION = 'cn-beijing-6'
- REGION_OVERRIDES = {
- 'global': 'cn-beijing-6',
- }
- SKIP_SERVICES = set([
- 'kec',
- ])
- def before_feature(context, feature):
- for tag in feature.tags:
- if tag in TAG_TO_ENDPOINT_PREFIX:
- service_name = TAG_TO_ENDPOINT_PREFIX[tag]
- break
- elif tag in KNOWN_SERVICES:
- service_name = tag
- break
- else:
- raise RuntimeError("Unable to create a client for "
- "feature: %s" % feature)
- if service_name in SKIP_SERVICES:
- feature.mark_skipped()
- return
- region_name = _get_region_for_service(service_name)
- context.client = SESSION.create_client(service_name, region_name)
- def _get_region_for_service(service_name):
- if os.environ.get('AWS_SMOKE_TEST_REGION', ''):
- region_name = os.environ['AWS_SMOKE_TEST_REGION']
- else:
- region_name = REGION_OVERRIDES.get(service_name, REGION)
- return region_name
|