Import and Export functionality
Import and Export functionality
- Author: Sam Eure
- April 4, 2025
Import
Import from an export file
import timefrom air_sdk import AirApifrom air_sdk.endpoints import Simulationapi = AirApi.with_ngc_config()# Or use SAK directly# api = AirApi.with_api_key(api_key='nvapi-xyz')file_path = '../files/exports/export_without_oob.json'sim: Simulation = api.simulations.import_from_export(file_path)print(f'Current state of simulation: {sim.state}')print('waiting for simulation to finish importing...', end='')while sim.state == 'IMPORTING':sim.refresh()time.sleep(1)print('.', end='')print()print(f'Current state of simulation: {sim.state}')
Current state of simulation: IMPORTINGwaiting for simulation to finish importing....Current state of simulation: INACTIVE
Import from data
import timefrom air_sdk.endpoints import Simulationztp_script_path = '../files/ztp/basic_script.sh'with open(ztp_script_path, 'r') as f:ztp_script = f.read()json_data = {'format': 'JSON','name': 'JSON Sim','content': {'nodes': {'node1': {'cpu': 2,'memory': 1024,'storage': 10,'os': 'generic/ubuntu2204','cpu_arch': 'x86',},},'oob': False,},'ztp': ztp_script,}sim: Simulation = api.simulations.import_from_data(**json_data)print(f'Current state of simulation: {sim.state}')print('waiting for simulation to finish importing...', end='')while sim.state == 'IMPORTING':sim.refresh()time.sleep(1)print('.', end='')print()print(f'Current state of simulation: {sim.state}')
Current state of simulation: IMPORTINGwaiting for simulation to finish importing....Current state of simulation: INACTIVE
Export
Export an existing simulation
import jsonfrom air_sdk.endpoints import Simulationsim_id = ... # Replace with your simulation IDsim: Simulation = api.simulations.get(sim_id)export_data = sim.export()with open('my_export.json', 'w') as f:json.dump(export_data, f)