def create_engine()

in movie_search_metadata/demo_app/_vais_setup.py [0:0]


def create_engine(project_id, location, datastore_id, engine_id):
    client_options = (
        ClientOptions(api_endpoint=f'{location}-discoveryengine.googleapis.com')
        if location != 'global'
        else None
    )
    client = discoveryengine.EngineServiceClient(client_options=client_options)

    parent = client.collection_path(
        project=project_id,
        location=location,
        collection='default_collection'
    )

    engine = discoveryengine.Engine(
        display_name='Movie Search Engine',
        industry_vertical=discoveryengine.IndustryVertical.GENERIC,
        solution_type=discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH,
        search_engine_config=discoveryengine.Engine.SearchEngineConfig(
            search_tier=discoveryengine.SearchTier.SEARCH_TIER_ENTERPRISE,
            search_add_ons=[discoveryengine.SearchAddOn.SEARCH_ADD_ON_LLM],
        ),
        data_store_ids=[datastore_id],
    )

    request = discoveryengine.CreateEngineRequest(
        parent=parent,
        engine=engine,
        engine_id=engine_id,
    )

    operation = client.create_engine(request=request)
    print(f'Waiting for operation to complete: {operation.operation.name}')
    response = operation.result()

    return response