from __future__ import unicode_literals from moto.acm import acm_backends from moto.apigateway import apigateway_backends from moto.athena import athena_backends from moto.autoscaling import autoscaling_backends from moto.awslambda import lambda_backends from moto.batch import batch_backends from moto.cloudformation import cloudformation_backends from moto.cloudwatch import cloudwatch_backends from moto.cognitoidentity import cognitoidentity_backends from moto.cognitoidp import cognitoidp_backends from moto.config import config_backends from moto.core import moto_api_backends from moto.datapipeline import datapipeline_backends from moto.datasync import datasync_backends from moto.dynamodb import dynamodb_backends from moto.dynamodb2 import dynamodb_backends2 from moto.dynamodbstreams import dynamodbstreams_backends from moto.ec2 import ec2_backends from moto.ecr import ecr_backends from moto.ecs import ecs_backends from moto.elb import elb_backends from moto.elbv2 import elbv2_backends from moto.emr import emr_backends from moto.events import events_backends from moto.glacier import glacier_backends from moto.glue import glue_backends from moto.iam import iam_backends from moto.instance_metadata import instance_metadata_backends from moto.iot import iot_backends from moto.iotdata import iotdata_backends from moto.kinesis import kinesis_backends from moto.kms import kms_backends from moto.logs import logs_backends from moto.opsworks import opsworks_backends from moto.organizations import organizations_backends from moto.polly import polly_backends from moto.rds2 import rds2_backends from moto.redshift import redshift_backends from moto.resourcegroups import resourcegroups_backends from moto.resourcegroupstaggingapi import resourcegroupstaggingapi_backends from moto.route53 import route53_backends from moto.s3 import s3_backends from moto.secretsmanager import secretsmanager_backends from moto.ses import ses_backends from moto.sns import sns_backends from moto.sqs import sqs_backends from moto.ssm import ssm_backends from moto.stepfunctions import stepfunction_backends from moto.sts import sts_backends from moto.swf import swf_backends from moto.xray import xray_backends BACKENDS = { "acm": acm_backends, "apigateway": apigateway_backends, "athena": athena_backends, "autoscaling": autoscaling_backends, "batch": batch_backends, "cloudformation": cloudformation_backends, "cloudwatch": cloudwatch_backends, "cognito-identity": cognitoidentity_backends, "cognito-idp": cognitoidp_backends, "config": config_backends, "datapipeline": datapipeline_backends, "datasync": datasync_backends, "dynamodb": dynamodb_backends, "dynamodb2": dynamodb_backends2, "dynamodbstreams": dynamodbstreams_backends, "ec2": ec2_backends, "ecr": ecr_backends, "ecs": ecs_backends, "elb": elb_backends, "elbv2": elbv2_backends, "events": events_backends, "emr": emr_backends, "glacier": glacier_backends, "glue": glue_backends, "iam": iam_backends, "moto_api": moto_api_backends, "instance_metadata": instance_metadata_backends, "logs": logs_backends, "kinesis": kinesis_backends, "kms": kms_backends, "opsworks": opsworks_backends, "organizations": organizations_backends, "polly": polly_backends, "redshift": redshift_backends, "resource-groups": resourcegroups_backends, "rds": rds2_backends, "s3": s3_backends, "s3bucket_path": s3_backends, "ses": ses_backends, "secretsmanager": secretsmanager_backends, "sns": sns_backends, "sqs": sqs_backends, "ssm": ssm_backends, "stepfunctions": stepfunction_backends, "sts": sts_backends, "swf": swf_backends, "route53": route53_backends, "lambda": lambda_backends, "xray": xray_backends, "resourcegroupstaggingapi": resourcegroupstaggingapi_backends, "iot": iot_backends, "iot-data": iotdata_backends, } def get_model(name, region_name): for backends in BACKENDS.values(): for region, backend in backends.items(): if region == region_name: models = getattr(backend.__class__, "__models__", {}) if name in models: return list(getattr(backend, models[name])())