@@ -299,6 +299,7 @@ def create_notebook_session(
299299 subnet_id = None ,
300300 ocpus = None ,
301301 memory_in_gbs = None ,
302+ private_endpoint_id = None ,
302303 ** kwargs ,
303304 ):
304305 """
@@ -335,64 +336,32 @@ def create_notebook_session(
335336 KeyError: If the resource was not found or do not have authorization to access that resource.
336337 """
337338
338- project_id = PROJECT_OCID if project_id is None else project_id
339-
340- if ocpus and memory_in_gbs :
341- if subnet_id :
342- notebook_session_configuration_details = NotebookSessionConfigurationDetails (
343- shape = shape ,
344- block_storage_size_in_gbs = block_storage_size_in_gbs ,
345- subnet_id = subnet_id ,
346- notebook_session_shape_config_details = oci .data_science .models .NotebookSessionShapeConfigDetails (
347- ocpus = ocpus ,
348- memory_in_gbs = memory_in_gbs )
349- )
350- create_notebook_details = CreateNotebookSessionDetails (
351- display_name = display_name ,
352- project_id = project_id ,
353- compartment_id = self .compartment_id ,
354- notebook_session_configuration_details = notebook_session_configuration_details ,)
339+ # build configuration kwargs
340+ config_kwargs = dict (shape = shape ,)
355341
356- else :
357- notebook_session_configuration_details = NotebookSessionConfigDetails (
358- shape = shape ,
359- block_storage_size_in_gbs = block_storage_size_in_gbs ,
360- notebook_session_shape_config_details = oci .data_science .models .NotebookSessionShapeConfigDetails (
361- ocpus = ocpus ,
362- memory_in_gbs = memory_in_gbs )
363- )
364- create_notebook_details = CreateNotebookSessionDetails (
365- display_name = display_name ,
366- project_id = project_id ,
367- compartment_id = self .compartment_id ,
368- notebook_session_config_details = notebook_session_configuration_details ,
369- )
342+ project_id = PROJECT_OCID if project_id is None else project_id
370343
344+ if block_storage_size_in_gbs :
345+ config_kwargs ["block_storage_size_in_gbs" ] = block_storage_size_in_gbs
371346
372- else :
373-
374- if subnet_id :
375- notebook_session_configuration_details = NotebookSessionConfigurationDetails (
376- shape = shape ,
377- block_storage_size_in_gbs = block_storage_size_in_gbs ,
378- subnet_id = subnet_id ,
379- )
380- create_notebook_details = CreateNotebookSessionDetails (
381- display_name = display_name ,
382- project_id = project_id ,
383- compartment_id = self .compartment_id ,
384- notebook_session_configuration_details = notebook_session_configuration_details ,)
385- else :
386- notebook_session_configuration_details = NotebookSessionConfigDetails (
387- shape = shape ,
388- block_storage_size_in_gbs = block_storage_size_in_gbs ,
389- )
390- create_notebook_details = CreateNotebookSessionDetails (
391- display_name = display_name ,
392- project_id = project_id ,
393- compartment_id = self .compartment_id ,
394- notebook_session_config_details = notebook_session_configuration_details ,
395- )
347+
348+ if subnet_id :
349+ config_kwargs ["subnet_id" ] = subnet_id
350+ if private_endpoint_id :
351+ config_kwargs ["private_endpoint_id" ] = private_endpoint_id
352+ if ocpus is not None and memory_in_gbs is not None :
353+ config_kwargs ["notebook_session_shape_config_details" ] = NotebookSessionShapeConfigDetails (ocpus = ocpus , memory_in_gbs = memory_in_gbs )
354+
355+ # notebook config object
356+ notebook_cfg = NotebookSessionConfigDetails (** config_kwargs )
357+
358+ # create request details
359+ create_notebook_details = CreateNotebookSessionDetails (
360+ display_name = display_name ,
361+ project_id = project_id ,
362+ compartment_id = self .compartment_id ,
363+ notebook_session_config_details = notebook_cfg ,
364+ )
396365
397366 try :
398367 create_notebook_response = self .ds_client .create_notebook_session (
0 commit comments