def METHOD_NAME():
    """Entry point"""
    main_args = _parse_args()
    session = boto3.Session(region_name='us-west-2', profile_name=main_args.profile_name)
    ec2_resource = session.resource('ec2')
    ec2_client = session.client('ec2')
    fuzzy_ami_name = 'encdami-{}'.format(
        main_args.deployment_type,
    )
    date_now = str(datetime.now())
    date_str = date_now.split('.')[0].replace(' ', '_').replace(':', '')
    ami_name = '{}-{}'.format(
        fuzzy_ami_name,
        date_str,
    )
    similar_amis = []
    print('\nLooking for similar amis: ', fuzzy_ami_name + '*')
    similar_amis = _find_similar_amis(ec2_client, fuzzy_ami_name + '*')
    instance_id_found = False
    for i, ami_obj in enumerate(similar_amis, 1):
        if ami_obj['instance_id'] == main_args.instance_id:
            instance_id_found = True
            print(
                '!!', i, ami_obj['ami_name'], 
                'instance_id=' + ami_obj['instance_id'], 
                'ami_id=' + ami_obj['ami_id'],
                ami_obj['state']
            )
        else:
            print(i, ami_obj['ami_name'], ami_obj['instance_id'], ami_obj['state'])
    if instance_id_found:
        print('\n ^^Ami for instance id already exists')
        return
    print('\nCreating ', ami_name, ' with instance ', main_args.instance_id)
    ami_id = _create_ami(ec2_client, ami_name, main_args.instance_id)
    sleep(10.0)
    if ami_id:
        print('\tWaiting for ami to be available')
        tick_max = 30
        ticks = 0
        while True:
            state = _get_ami_status(ec2_client, ami_id)
            if state == 'available':
                msg = "\t\t{}\t{}\t{}".format(ticks, ami_id, state)
                print(msg)
                _tag_ami(
                    ec2_resource,
                    ami_id,
                    ami_name,
                    main_args.created_by,
                    main_args.deployment_type,
                    main_args.instance_id,
                    date_now,
                )
                break
            sleep(1.0)
            if ticks == 0 or ticks >= tick_max:
                msg = "\t\t{}\t{}\t{}".format(ticks, ami_id, state)
                print(msg)
                ticks = 0
            ticks += 1
        key_name = main_args.deployment_type
        if main_args.profile_name == 'production':
            key_name += '-prod'
        print('\nAdd below to ami map in deploy script')
        print("# {} build on {}: {}".format(fuzzy_ami_name, date_now, ami_name))
        print("'{}': '{}',".format(key_name, ami_id))