#!/usr/bin/env python
from setuptools import setup

entry_points = {
    "localstack.installer": ["ext=localstack_ext.bootstrap.install:ExtInstallerRepository"],
    "localstack.hooks.prepare_host": [
        "activate_pro_key_on_host=localstack_ext.plugins:activate_pro_key_on_host",
        "create_dns_forward=localstack_ext.plugins:create_dns_forward",
        "start_ec2_container=localstack_ext.plugins:start_ec2_daemon",
    ],
    "localstack.hooks.configure_localstack_container": [
        "configure_pro_container=localstack_ext.plugins:configure_pro_container"
    ],
    "localstack.hooks.install": ["install_pro_libs=localstack_ext.plugins:install_pro_libs"],
    "localstack.hooks.on_infra_start": ["setup_pro_infra=localstack_ext.plugins:setup_pro_infra"],
    "localstack.aws.provider": [
        "amplify:pro=localstack_ext.services.providers:amplify",
        "apigateway:pro=localstack_ext.services.providers:apigateway",
        "appconfig:pro=localstack_ext.services.providers:appconfig",
        "application-autoscaling:pro=localstack_ext.services.providers:application_autoscaling",
        "appsync:pro=localstack_ext.services.providers:appsync",
        "athena:pro=localstack_ext.services.providers:athena",
        "autoscaling:pro=localstack_ext.services.providers:autoscaling",
        "lambda:pro=localstack_ext.services.providers:awslambda",
        "azure:pro=localstack_ext.services.providers:azure",
        "backup:pro=localstack_ext.services.providers:backup",
        "batch:pro=localstack_ext.services.providers:batch",
        "ce:pro=localstack_ext.services.providers:ce",
        "cloudformation:pro=localstack_ext.services.providers:cloudformation",
        "cloudfront:pro=localstack_ext.services.providers:cloudfront",
        "cloudtrail:pro=localstack_ext.services.providers:cloudtrail",
        "codecommit:pro=localstack_ext.services.providers:codecommit",
        "cognito-identity:pro=localstack_ext.services.providers:cognito_identity",
        "cognito-idp:pro=localstack_ext.services.providers:cognito_idp",
        "docdb:pro=localstack_ext.services.providers:docdb",
        "dynamodb:pro=localstack_ext.services.providers:dynamodb",
        "ec2:pro=localstack_ext.services.providers:ec2",
        "ecr:pro=localstack_ext.services.providers:ecr",
        "ecs:pro=localstack_ext.services.providers:ecs",
        "efs:pro=localstack_ext.services.providers:efs",
        "eks:pro=localstack_ext.services.providers:eks",
        "elasticache:pro=localstack_ext.services.providers:elasticache",
        "elasticbeanstalk:pro=localstack_ext.services.providers:elasticbeanstalk",
        "elb:pro=localstack_ext.services.providers:elb",
        "elbv2:pro=localstack_ext.services.providers:elbv2",
        "emr:pro=localstack_ext.services.providers:emr",
        "events:pro=localstack_ext.services.providers:events",
        "glacier:pro=localstack_ext.services.providers:glacier",
        "glue:pro=localstack_ext.services.providers:glue",
        "iam:pro=localstack_ext.services.providers:iam",
        "iot:pro=localstack_ext.services.providers:iot",
        "iot-analytics:pro=localstack_ext.services.providers:iot_analytics",
        "iot-data:pro=localstack_ext.services.providers:iot_data",
        "kafka:pro=localstack_ext.services.providers:kafka",
        "kinesisanalytics:pro=localstack_ext.services.providers:kinesisanalytics",
        "kms:pro=localstack_ext.services.providers:kms",
        "lakeformation:pro=localstack_ext.services.providers:lakeformation",
        "mediastore:pro=localstack_ext.services.providers:mediastore",
        "neptune:pro=localstack_ext.services.providers:neptune",
        "organizations:pro=localstack_ext.services.providers:organizations",
        "qldb:pro=localstack_ext.services.providers:qldb",
        "rds:pro=localstack_ext.services.providers:rds",
        "rds-data:pro=localstack_ext.services.providers:rds_data",
        "redshift:pro=localstack_ext.services.providers:redshift",
        "redshift-data:pro=localstack_ext.services.providers:redshift_data",
        "route53:pro=localstack_ext.services.providers:route53",
        "s3:pro=localstack_ext.services.providers:s3",
        "sagemaker:pro=localstack_ext.services.providers:sagemaker",
        "secretsmanager:pro=localstack_ext.services.providers:secretsmanager",
        "serverlessrepo:pro=localstack_ext.services.providers:serverlessrepo",
        "servicediscovery:pro=localstack_ext.services.providers:servicediscovery",
        "ses:pro=localstack_ext.services.providers:ses",
        "sns:pro=localstack_ext.services.providers:sns",
        "sqs:pro=localstack_ext.services.providers:sqs",
        "sts:pro=localstack_ext.services.providers:sts",
        "timestream:pro=localstack_ext.services.providers:timestream",
        "timestream-query:pro=localstack_ext.services.providers:timestream_query",
        "timestream-write:pro=localstack_ext.services.providers:timestream_write",
        "transfer:pro=localstack_ext.services.providers:transfer",
        "xray:pro=localstack_ext.services.providers:xray",
    ],
    "localstack.plugins.cli": ["pro=localstack_ext.cli.localstack:ProCliPlugin"],
}

setup(entry_points=entry_points)
