def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument("apikey", type=str, help="Mashery V3 API Key")
    parser.add_argument("secret", type=str, help="Mashery V3 API Secret")
    parser.add_argument("redirect_uri", type=str, help="Mashery V3 API Secret")
    parser.add_argument("area_id", type=str, help="Mashery Area/Site ID")
    parser.add_argument("area_uuid", type=str, help="Mashery Area/Site UUID")
    parser.add_argument("username", type=str, help="Mashery Administration Username")
    parser.add_argument("public_domain", type=str, help="Source of external definition")
    parser.add_argument("external_api_definition_source", type=str, help="Source of external definition")
    parser.add_argument('--createpackage', action='store_true', default=False, help='specify to create a starter package and plan')
    parser.add_argument('--createiodoc', action='store_true', default=False, help='specify to create iodoc')

    args = parser.parse_args()
    apikey = args.apikey
    secret = args.secret
    redirect_uri = args.redirect_uri
    area_id = args.area_id
    area_uuid = args.area_uuid
    username = args.username

    public_domain = args.public_domain
    external_api_definition_source = args.external_api_definition_source
    createpackage = args.createpackage
    createiodoc = args.createiodoc

    mashery_v3 = Base('https', 'api.mashery.com', 'ImportExternalApiDefinitions')
    mashery_auth = Auth('https', 'api.mashery.com', area_id, area_uuid, apikey, secret, 'ImportExternalApiDefinitions')
    auth_code = mashery_auth.get_authorization_code('qzwwye5qd9yyshzjzbjyuupn', apikey, redirect_uri, area_uuid, username)
    access_token = mashery_auth.get_access_token(auth_code, area_uuid, redirect_uri)
    import_external_api_definitions = ImportExternalApiDefinitions(mashery_v3)

    import_external_api_definitions.import_definition(access_token, external_api_definition_source, public_domain, createpackage, createiodoc)