def create_lex_bot_aliases()

in lex_exporter/create_lex_template.py [0:0]


def create_lex_bot_aliases(resource_type,
                           name_contains,
                           service_token,
                           alias,
                           dependent_resources):
    depends_on = list(dependent_resources)
    paginator = client.get_paginator('get_bots')
    marker = None
    pages = paginator.paginate(nameContains=name_contains, PaginationConfig={
        'MaxItems': 1000,
        'PageSize': 10,
        'StartingToken': marker
    })
    for page in pages:
        for bot in page["bots"]:
            bot_resource_name = re.sub(r'[\W_]+', '', bot["name"])
            template["Resources"].update(
                    {bot_resource_name + "Alias": {
                        "Type": resource_type,
                        "DependsOn": list(set(depends_on) - set([bot_resource_name + "Alias"])),
                        "Properties": {
                            "ServiceToken": {"Fn::ImportValue": service_token},
                            "name": {"Fn::Sub": alias + "${ResourceSuffix}"},
                            "botVersion": "$LATEST",
                            "botName": bot["name"]
                        }
                    }})
            depends_on.append(bot_resource_name + "Alias")