def print_cf_ros_mapping()

in tools/utils.py [0:0]


def print_cf_ros_mapping(cf_types=None, ros_types=None):
    from tools.settings import CF_ROS_GENERATE_MAPPINGS

    if not cf_types:
        cf_types = list_cf_types()
    cf_types = set(cf_types)

    if not ros_types:
        ros_types = list_ros_types()
    ros_types = set(ros_types)

    mapping = CF_ROS_GENERATE_MAPPINGS.copy()
    for cf_type in cf_types:
        if cf_type in mapping:
            continue

        if not cf_type.startswith("AWS::"):
            continue

        cf_type_splits = cf_type.split("::")
        cf_prod = cf_type_splits[1]
        ros_prod = CF_ROS_PROD_MAPPINGS.get(cf_prod) or cf_prod
        ros_type = "ALIYUN::{}::{}".format(ros_prod, cf_type_splits[2])
        if ros_type not in ros_types:
            mapping[cf_type] = None
        else:
            mapping[cf_type] = ros_type

    _print_mapping_orderly(mapping)