diff --git a/gso/cli/imports.py b/gso/cli/imports.py index f9dc660bd9b26058099954a9ed03aa583cf27846..0a41ac740ccd19cb64a1596994da5ec672eae4e3 100644 --- a/gso/cli/imports.py +++ b/gso/cli/imports.py @@ -218,7 +218,7 @@ def _generic_import_product( typer.echo(f"Creating imported {name_key}: {details[name_key]}") try: initial_data = import_model(**details) - start_process(f"create_imported_{workflow_suffix}", [initial_data.dict()]) + start_process(f"create_imported_{workflow_suffix}", [initial_data.model_dump()]) successfully_imported_data.append(getattr(initial_data, name_key)) typer.echo( f"Successfully created {name_key}: {getattr(initial_data, name_key)}", @@ -341,7 +341,7 @@ def import_iptrunks(filepath: str = common_filepath_option) -> None: iptrunk_ipv4_network=iptrunk_ipv4_network, iptrunk_ipv6_network=iptrunk_ipv6_network, ) - start_process("create_imported_iptrunk", [initial_data.dict()]) + start_process("create_imported_iptrunk", [initial_data.model_dump()]) successfully_imported_data.append(trunk["id"]) typer.echo(f"Successfully imported IP Trunk: {trunk['id']}") except ValidationError as e: diff --git a/gso/services/partners.py b/gso/services/partners.py index f2080380e30773156af456daa080ae1e37f0a7bc..6c425bdad2432634d27780c85541bd9a02b94b7f 100644 --- a/gso/services/partners.py +++ b/gso/services/partners.py @@ -38,7 +38,7 @@ def create_partner( :return: JSON representation of the created partner. """ try: - new_partner = PartnerTable(**partner_data.dict()) + new_partner = PartnerTable(**partner_data.model_dump()) db.session.add(new_partner) db.session.commit() diff --git a/gso/workflows/iptrunk/activate_iptrunk.py b/gso/workflows/iptrunk/activate_iptrunk.py index f229599f516df9ee59f09834be7de38800dc841c..4ec1dff03141debce5a1562fca55b189d5f8854e 100644 --- a/gso/workflows/iptrunk/activate_iptrunk.py +++ b/gso/workflows/iptrunk/activate_iptrunk.py @@ -20,7 +20,7 @@ def _initial_input_form(subscription_id: UUIDstr) -> FormGenerator: user_input = yield ActivateTrunkForm - return user_input.dict() | {"subscription": trunk} + return user_input.model_dump() | {"subscription": trunk} @inputstep("Verify checklist completion", assignee=Assignee.SYSTEM) @@ -33,7 +33,7 @@ def verify_complete_checklist() -> FormGenerator: user_input = yield VerifyCompleteForm - return {"checklist_url": user_input.dict()["checklist_url"]} + return {"checklist_url": user_input.model_dump()["checklist_url"]} @workflow( diff --git a/gso/workflows/iptrunk/create_imported_iptrunk.py b/gso/workflows/iptrunk/create_imported_iptrunk.py index dd5ceed0eee93d5e44401a12b72f094ce77765f6..9b0e6b87a8a095073875721e79d72c9e03baa66d 100644 --- a/gso/workflows/iptrunk/create_imported_iptrunk.py +++ b/gso/workflows/iptrunk/create_imported_iptrunk.py @@ -66,7 +66,7 @@ def initial_input_form_generator() -> FormGenerator: initial_user_input = yield CreateIptrunkForm - return initial_user_input.dict() + return initial_user_input.model_dump() @step("Create a new subscription") diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py index ae5a143248d7c381cdfd37fbf80ab5bb0b1bcca9..1b543753100ed31bb464bd6e54078f634b0442ae 100644 --- a/gso/workflows/iptrunk/create_iptrunk.py +++ b/gso/workflows/iptrunk/create_iptrunk.py @@ -189,12 +189,12 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: user_input_side_b = yield CreateIptrunkSideBForm return ( - initial_user_input.dict() - | verify_minimum_links.dict() - | user_input_router_side_a.dict() - | user_input_side_a.dict() - | user_input_router_side_b.dict() - | user_input_side_b.dict() + initial_user_input.model_dump() + | verify_minimum_links.model_dump() + | user_input_router_side_a.model_dump() + | user_input_side_a.model_dump() + | user_input_router_side_b.model_dump() + | user_input_side_b.model_dump() ) diff --git a/gso/workflows/iptrunk/deploy_twamp.py b/gso/workflows/iptrunk/deploy_twamp.py index 60e852cc0c88079782d5908ffaf2b98da76be18f..92e37fd5777105be180674296194ea24ae70cf8f 100644 --- a/gso/workflows/iptrunk/deploy_twamp.py +++ b/gso/workflows/iptrunk/deploy_twamp.py @@ -34,7 +34,7 @@ def _initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: user_input = yield DeployTWAMPForm - return user_input.dict() + return user_input.model_dump() @step("[DRY RUN] Deploy TWAMP on both sides") diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py index 913d78364087697b9d20b6df47ca7db5f28dcd03..908fcdbc1879b64e284914d6347c2ffa05640364 100644 --- a/gso/workflows/iptrunk/migrate_iptrunk.py +++ b/gso/workflows/iptrunk/migrate_iptrunk.py @@ -171,9 +171,9 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: new_side_input = yield NewSideIPTrunkForm return ( - migrate_form_input.dict() - | new_side_iptrunk_router_input.dict() - | new_side_input.dict() + migrate_form_input.model_dump() + | new_side_iptrunk_router_input.model_dump() + | new_side_input.model_dump() | {"replace_index": replace_index} ) diff --git a/gso/workflows/iptrunk/modify_isis_metric.py b/gso/workflows/iptrunk/modify_isis_metric.py index ed38b1be9f137021367aa6e29149e2c82ab9b01a..2e4a4586430cf3698d900924737c352463ed3343 100644 --- a/gso/workflows/iptrunk/modify_isis_metric.py +++ b/gso/workflows/iptrunk/modify_isis_metric.py @@ -24,7 +24,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: user_input = yield ModifyIptrunkForm - return user_input.dict() + return user_input.model_dump() @step("Update subscription") diff --git a/gso/workflows/iptrunk/modify_trunk_interface.py b/gso/workflows/iptrunk/modify_trunk_interface.py index b8f272a6106395ef4e784eba099bc1028c3faad6..d64331720fcb85cccc829f58d6d3d8b437e55b77 100644 --- a/gso/workflows/iptrunk/modify_trunk_interface.py +++ b/gso/workflows/iptrunk/modify_trunk_interface.py @@ -114,7 +114,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: info_label2: Label = "Please confirm or modify." verify_minimum_links = yield VerifyMinimumLinksForm - ae_members_side_a = initialize_ae_members(subscription, initial_user_input.dict(), 0) + ae_members_side_a = initialize_ae_members(subscription, initial_user_input.model_dump(), 0) class ModifyIptrunkSideAForm(FormPage): model_config = ConfigDict(title="Provide subscription details for side A of the trunk.") @@ -140,7 +140,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: return validate_interface_name_list(side_a_ae_members, vendor) user_input_side_a = yield ModifyIptrunkSideAForm - ae_members_side_b = initialize_ae_members(subscription, initial_user_input.dict(), 1) + ae_members_side_b = initialize_ae_members(subscription, initial_user_input.model_dump(), 1) class ModifyIptrunkSideBForm(FormPage): model_config = ConfigDict(title="Provide subscription details for side B of the trunk.") @@ -167,7 +167,12 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: user_input_side_b = yield ModifyIptrunkSideBForm - return initial_user_input.dict() | user_input_side_a.dict() | user_input_side_b.dict() | verify_minimum_links.dict() + return ( + initial_user_input.model_dump() + | user_input_side_a.model_dump() + | user_input_side_b.model_dump() + | verify_minimum_links.model_dump() + ) @step("Update subscription") diff --git a/gso/workflows/iptrunk/terminate_iptrunk.py b/gso/workflows/iptrunk/terminate_iptrunk.py index 0c8a2726526b2619699aa4bb240cf25f10bc51be..bee9739a9732ea3db1415e8d7955886b9dcaa2bb 100644 --- a/gso/workflows/iptrunk/terminate_iptrunk.py +++ b/gso/workflows/iptrunk/terminate_iptrunk.py @@ -51,7 +51,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: return validate_tt_number(tt_number) user_input = yield TerminateForm - return user_input.dict() + return user_input.model_dump() @step("[DRY RUN] Deprovision IP trunk") diff --git a/gso/workflows/office_router/create_imported_office_router.py b/gso/workflows/office_router/create_imported_office_router.py index c0abaebca2df730cbc45001349879e015ca0db6a..e82f69cbcb31ecc7eadfbd16c757232a3d47bb2a 100644 --- a/gso/workflows/office_router/create_imported_office_router.py +++ b/gso/workflows/office_router/create_imported_office_router.py @@ -44,7 +44,7 @@ def initial_input_form_generator() -> FormGenerator: user_input = yield ImportOfficeRouter - return user_input.dict() + return user_input.model_dump() @step("Initialize subscription") diff --git a/gso/workflows/router/activate_router.py b/gso/workflows/router/activate_router.py index d1efc7276bf7565bb0645d63dfd9ac359a1b65e8..751fc3568d8c18c59ded89815e2e02fdf53609b7 100644 --- a/gso/workflows/router/activate_router.py +++ b/gso/workflows/router/activate_router.py @@ -20,7 +20,7 @@ def _initial_input_form(subscription_id: UUIDstr) -> FormGenerator: user_input = yield ActivateRouterForm - return user_input.dict() | {"subscription": router} + return user_input.model_dump() | {"subscription": router} @inputstep("Verify checklist completion", assignee=Assignee.SYSTEM) @@ -33,7 +33,7 @@ def verify_complete_checklist() -> FormGenerator: user_input = yield VerifyCompleteForm - return {"checklist_url": user_input.dict()["checklist_url"]} + return {"checklist_url": user_input.model_dump()["checklist_url"]} @workflow( diff --git a/gso/workflows/router/create_imported_router.py b/gso/workflows/router/create_imported_router.py index 68b23a2c2644aa647e797c78c8df11ea8a535283..c8ba442bc30bf8d26b563e83f35b7d4fb1573774 100644 --- a/gso/workflows/router/create_imported_router.py +++ b/gso/workflows/router/create_imported_router.py @@ -48,7 +48,7 @@ def initial_input_form_generator() -> FormGenerator: user_input = yield ImportRouter - return user_input.dict() + return user_input.model_dump() @step("Initialize subscription") diff --git a/gso/workflows/router/create_router.py b/gso/workflows/router/create_router.py index 3ef4a6881c4fd5ee3802092cd44e942257c82659..8382e227181233c145371f00aeb835ba91797f58 100644 --- a/gso/workflows/router/create_router.py +++ b/gso/workflows/router/create_router.py @@ -73,7 +73,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: user_input = yield CreateRouterForm - return user_input.dict() + return user_input.model_dump() @step("Create subscription") diff --git a/gso/workflows/router/modify_connection_strategy.py b/gso/workflows/router/modify_connection_strategy.py index bff6fdc78cf17dea34c55fffcd9f108220b1500d..65b29b8d1b57851d925ffb89909c215e94889f06 100644 --- a/gso/workflows/router/modify_connection_strategy.py +++ b/gso/workflows/router/modify_connection_strategy.py @@ -27,7 +27,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: user_input = yield ModifyConnectionStrategyForm - return user_input.dict() + return user_input.model_dump() @step("Update subscription model") diff --git a/gso/workflows/router/redeploy_base_config.py b/gso/workflows/router/redeploy_base_config.py index 7af29e25743b08b6ab2bfdf3f6c1676e70aa5005..c1a24c8340dc6c129fa99c1bb93be528bd85bd18 100644 --- a/gso/workflows/router/redeploy_base_config.py +++ b/gso/workflows/router/redeploy_base_config.py @@ -22,7 +22,7 @@ def _initial_input_form(subscription_id: UUIDstr) -> FormGenerator: user_input = yield RedeployBaseConfigForm - return user_input.dict() | {"subscription": router} + return user_input.model_dump() | {"subscription": router} @workflow( diff --git a/gso/workflows/router/terminate_router.py b/gso/workflows/router/terminate_router.py index 3409ab7267637047997efb85f9087ca672b57b48..b9e521da831dbcc091286c21cb2d67862b963074 100644 --- a/gso/workflows/router/terminate_router.py +++ b/gso/workflows/router/terminate_router.py @@ -44,7 +44,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: remove_configuration: bool = True user_input = yield TerminateForm - return user_input.dict() | {"router_is_nokia": router.router.vendor == Vendor.NOKIA} + return user_input.model_dump() | {"router_is_nokia": router.router.vendor == Vendor.NOKIA} @step("Deprovision loopback IPs from IPAM") diff --git a/gso/workflows/router/update_ibgp_mesh.py b/gso/workflows/router/update_ibgp_mesh.py index ba8777bac1a3ab1ba44eb4e950721bf64e15e9e6..118eb2eecaaa18da37ad9e1200ff719ad30401d8 100644 --- a/gso/workflows/router/update_ibgp_mesh.py +++ b/gso/workflows/router/update_ibgp_mesh.py @@ -46,7 +46,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: user_input = yield AddBGPSessionForm - return user_input.dict() + return user_input.model_dump() @step("Calculate list of all active PE routers") diff --git a/gso/workflows/site/create_imported_site.py b/gso/workflows/site/create_imported_site.py index 4aec97f7995d7e3e3d8811e3936e4b179cac4b49..1fd9d59d7aeddbb04faac6131a0cc68533a7b1d4 100644 --- a/gso/workflows/site/create_imported_site.py +++ b/gso/workflows/site/create_imported_site.py @@ -37,7 +37,7 @@ def generate_initial_input_form() -> FormGenerator: model_config = ConfigDict(title="Import Site") user_input = yield ImportSite - return user_input.dict() + return user_input.model_dump() @step("Initialize subscription") diff --git a/gso/workflows/site/create_site.py b/gso/workflows/site/create_site.py index 9def57b5bea9e858204c0b489db998d54470d4b9..d2e99d510e678a7f7e654de4cbee1a162868ed2f 100644 --- a/gso/workflows/site/create_site.py +++ b/gso/workflows/site/create_site.py @@ -25,7 +25,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: user_input = yield CreateSiteForm - return user_input.dict() + return user_input.model_dump() @step("Create subscription") diff --git a/gso/workflows/site/modify_site.py b/gso/workflows/site/modify_site.py index 62a659ed1e4d4146e3d177a5b1594169249dd6f8..0fb2b50d3b54432138b2c15addfffddc39de4e66 100644 --- a/gso/workflows/site/modify_site.py +++ b/gso/workflows/site/modify_site.py @@ -60,7 +60,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: user_input = yield ModifySiteForm - return user_input.dict() + return user_input.model_dump() @step("Modify subscription") diff --git a/gso/workflows/site/terminate_site.py b/gso/workflows/site/terminate_site.py index f6caec6a3ce4a5e0b8e7a023504dfc11ac5b8138..cd710752f92f54a99f376e3b7643eb7275985cbc 100644 --- a/gso/workflows/site/terminate_site.py +++ b/gso/workflows/site/terminate_site.py @@ -31,7 +31,7 @@ def initial_input_form_generator(subscription_id: UUIDstr) -> FormGenerator: termination_label: Label = "Are you sure you want to delete this site?" user_input = yield TerminateForm - return user_input.dict() + return user_input.model_dump() @workflow( diff --git a/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py b/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py index 008fde911c7593450e7e71d3f76363f5cf80f04b..1cdb7d09d996baae8d1c186db35bfbf3fd27f676 100644 --- a/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py +++ b/gso/workflows/super_pop_switch/create_imported_super_pop_switch.py @@ -44,7 +44,7 @@ def initial_input_form_generator() -> FormGenerator: user_input = yield ImportSuperPopSwitch - return user_input.dict() + return user_input.model_dump() @step("Initialize subscription")