From 254ddc1401a34fdda5b16cb6d7686c6334129776 Mon Sep 17 00:00:00 2001
From: root <root@simone03.dev.gap.geant.org>
Date: Fri, 31 Mar 2023 13:54:40 +0000
Subject: [PATCH] Initial cleanup: remove all trunk leftovers

---
 ...a061b2ad_add_products_for_trunk_service.py | 302 ------------------
 ...add_delete_workflows_and_update_create_.py |  81 -----
 ...03-13_aa49bed10737_add_create_workflows.py |  57 ----
 ...2023-03-15_6005995d6eec_update_products.py | 239 --------------
 .../products/product_blocks/__init__.py       |   0
 .../products/product_blocks/trunk.py          |  29 --
 .../products/product_blocks/trunk_config.py   |  29 --
 .../product_blocks/trunk_config_common.py     |  42 ---
 .../product_blocks/trunk_config_side.py       |  48 ---
 .../products/product_types/__init__.py        |   0
 .../products/product_types/trunk.py           |  23 --
 .../products/product_types/trunk_config.py    |  24 --
 .../product_types/trunk_config_common.py      |  25 --
 .../product_types/trunk_config_side.py        |  25 --
 .../workflows/__init__.py                     |  26 --
 .../workflows/trunk/__init__.py               |   0
 .../workflows/trunk/create_trunk.py           |  84 -----
 .../workflows/trunk/terminate_trunk.py        |  49 ---
 .../workflows/trunk_config/__init__.py        |   0
 .../trunk_config/create_trunk_config.py       | 113 -------
 .../trunk_config/terminate_trunk_config.py    |  50 ---
 .../workflows/trunk_config_common/__init__.py |   0
 .../create_trunk_config_common.py             | 127 --------
 .../terminate_trunk_config_common.py          |  52 ---
 .../workflows/trunk_config_side/__init__.py   |   0
 .../create_trunk_config_side.py               | 150 ---------
 .../terminate_trunk_config_side.py            |  51 ---
 27 files changed, 1626 deletions(-)
 delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py
 delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py
 delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py
 delete mode 100644 geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py
 delete mode 100644 geant_service_orchestrator/products/product_blocks/__init__.py
 delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk.py
 delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk_config.py
 delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk_config_common.py
 delete mode 100644 geant_service_orchestrator/products/product_blocks/trunk_config_side.py
 delete mode 100644 geant_service_orchestrator/products/product_types/__init__.py
 delete mode 100644 geant_service_orchestrator/products/product_types/trunk.py
 delete mode 100644 geant_service_orchestrator/products/product_types/trunk_config.py
 delete mode 100644 geant_service_orchestrator/products/product_types/trunk_config_common.py
 delete mode 100644 geant_service_orchestrator/products/product_types/trunk_config_side.py
 delete mode 100644 geant_service_orchestrator/workflows/__init__.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk/__init__.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk/create_trunk.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk/terminate_trunk.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config/__init__.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config_common/__init__.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config_side/__init__.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py
 delete mode 100644 geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py

diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py
deleted file mode 100644
index 1e8465f8..00000000
--- a/geant_service_orchestrator/migrations/versions/schema/2023-03-08_431ca061b2ad_add_products_for_trunk_service.py
+++ /dev/null
@@ -1,302 +0,0 @@
-"""Add products for trunk service.
-
-Revision ID: 431ca061b2ad
-Revises:
-Create Date: 2023-03-08 19:21:13.139851
-
-"""
-import sqlalchemy as sa
-from alembic import op
-
-# revision identifiers, used by Alembic.
-revision = '431ca061b2ad'
-down_revision = None
-branch_labels = ('data',)
-depends_on = 'bed6bc0b197a'
-
-
-def upgrade() -> None:
-    conn = op.get_bind()
-    conn.execute("""
-INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk', 'A representation of a core link (IP-TRUNK) between two Geant Routers', 'Trunk', 'TRUNK', 'active') RETURNING products.product_id
-    """)
-    conn.execute("""
-INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk Config', 'The configuration attributes for the trunk', 'TrunkConfig', 'TRUNK_C', 'active') RETURNING products.product_id
-    """)
-    conn.execute("""
-INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk Config Common', 'The configuration attributes common between A side and B side', 'TrunkConfigCommon', 'TRUNK_CC', 'active') RETURNING products.product_id
-    """)
-    conn.execute("""
-INSERT INTO products (name, description, product_type, tag, status) VALUES ('Trunk Config Side', 'The configuration attributes necessary for a side', 'TrunkConfigSide', 'TRUNK_CS', 'active') RETURNING products.product_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Block', 'trunk block', 'TRUNK_B', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Config Block', 'trunk config block', 'TRUNK_CB', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Config Common Block', 'trunk config common block', 'TRUNK_CCB', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('Trunk Config Side Block', 'trunk config side block', 'TRUNK_CSB', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('members', 'The list of members of the AE') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('speed', 'The speed of the members') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('trunk_id', 'The identifier of the trunk') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('geant_a_sid', 'The Geant Access Port service ID') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('fqdn', 'The FQDN of the router') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('ae_name', 'The name of the Aggregated Ethernet') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('ipv6_address', 'The IPv6 address of the interface') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('trunk_config_common_id', 'ID of the object that contains the configuration attributes common between A side and B side') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('isis_metric', 'The ISIS metric of the link') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('is_leased_line', 'A switch to identify if the link is on leased capacity') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('minimum_links', 'The minimum links number for the LAG') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('geant_s_sid', 'The Geant Service Identifier for the trunk') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('trunk_config_side_id', 'ID of the object that contains the configuration attributes necessary for a side') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('ipv4_address', 'The IPv4 address of the interface') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('trunk_name', 'The name of the trunk') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO resource_types (resource_type, description) VALUES ('trunk_config_id', 'ID of the object that contains the configuration attributes for the trunk') RETURNING resource_types.resource_type_id
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')))
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')))
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')))
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))), ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members')))
-    """)
-
-
-def downgrade() -> None:
-    conn = op.get_bind()
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values WHERE subscription_instance_values.resource_type_id IN (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members', 'speed', 'trunk_id', 'geant_a_sid', 'fqdn', 'ae_name', 'ipv6_address', 'trunk_config_common_id', 'isis_metric', 'is_leased_line', 'minimum_links', 'geant_s_sid', 'trunk_config_side_id', 'ipv4_address', 'trunk_name', 'trunk_config_id'))
-    """)
-    conn.execute("""
-DELETE FROM resource_types WHERE resource_types.resource_type IN ('members', 'speed', 'trunk_id', 'geant_a_sid', 'fqdn', 'ae_name', 'ipv6_address', 'trunk_config_common_id', 'isis_metric', 'is_leased_line', 'minimum_links', 'geant_s_sid', 'trunk_config_side_id', 'ipv4_address', 'trunk_name', 'trunk_config_id')
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block', 'Trunk Config Common Block')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block', 'Trunk Block', 'Trunk Config Side Block', 'Trunk Config Common Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block', 'Trunk Block', 'Trunk Config Side Block', 'Trunk Config Common Block')
-    """)
-    conn.execute("""
-DELETE FROM processes WHERE processes.pid IN (SELECT processes_subscriptions.pid FROM processes_subscriptions WHERE processes_subscriptions.subscription_id IN (SELECT subscriptions.subscription_id FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config'))))
-    """)
-    conn.execute("""
-DELETE FROM processes_subscriptions WHERE processes_subscriptions.subscription_id IN (SELECT subscriptions.subscription_id FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config')))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instances WHERE subscription_instances.subscription_id IN (SELECT subscriptions.subscription_id FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config')))
-    """)
-    conn.execute("""
-DELETE FROM subscriptions WHERE subscriptions.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config'))
-    """)
-    conn.execute("""
-DELETE FROM products WHERE products.name IN ('Trunk Config Common', 'Trunk', 'Trunk Config Side', 'Trunk Config')
-    """)
diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py
deleted file mode 100644
index 88081814..00000000
--- a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_8329fa45157b_add_delete_workflows_and_update_create_.py
+++ /dev/null
@@ -1,81 +0,0 @@
-"""add DELETE workflows and update CREATE workflows.
-
-Revision ID: 8329fa45157b
-Revises: aa49bed10737
-Create Date: 2023-03-13 12:12:20.553551
-
-"""
-import sqlalchemy as sa
-from alembic import op
-
-# revision identifiers, used by Alembic.
-revision = '8329fa45157b'
-down_revision = 'aa49bed10737'
-branch_labels = None
-depends_on = None
-
-
-from orchestrator.migrations.helpers import create_workflow, delete_workflow
-
-new_workflows = [
-    {
-        "name": "create_trunk",
-        "target": "CREATE",
-        "description": "Create trunk",
-        "product_type": "Trunk"
-    },
-    {
-        "name": "terminate_trunk",
-        "target": "TERMINATE",
-        "description": "Terminate trunk",
-        "product_type": "Trunk"
-    },
-    {
-        "name": "create_trunk_config",
-        "target": "CREATE",
-        "description": "Create trunk config",
-        "product_type": "TrunkConfig"
-    },
-    {
-        "name": "terminate_trunk_config",
-        "target": "TERMINATE",
-        "description": "Terminate trunk config",
-        "product_type": "TrunkConfig"
-    },
-    {
-        "name": "create_trunk_config_common",
-        "target": "CREATE",
-        "description": "Create trunk config common",
-        "product_type": "TrunkConfigCommon"
-    },
-    {
-        "name": "terminate_trunk_config_common",
-        "target": "TERMINATE",
-        "description": "Terminate trunk config common",
-        "product_type": "TrunkConfigCommon"
-    },
-    {
-        "name": "create_trunk_config_side",
-        "target": "CREATE",
-        "description": "Create trunk config side",
-        "product_type": "TrunkConfigSide"
-    },
-    {
-        "name": "terminate_trunk_config_side",
-        "target": "TERMINATE",
-        "description": "Terminate trunk config side",
-        "product_type": "TrunkConfigSide"
-    }
-]
-
-
-def upgrade() -> None:
-    conn = op.get_bind()
-    for workflow in new_workflows:
-        create_workflow(conn, workflow)
-
-
-def downgrade() -> None:
-    conn = op.get_bind()
-    for workflow in new_workflows:
-        delete_workflow(conn, workflow["name"])
diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py
deleted file mode 100644
index 99f0af74..00000000
--- a/geant_service_orchestrator/migrations/versions/schema/2023-03-13_aa49bed10737_add_create_workflows.py
+++ /dev/null
@@ -1,57 +0,0 @@
-"""add CREATE workflows.
-
-Revision ID: aa49bed10737
-Revises: 431ca061b2ad
-Create Date: 2023-03-13 11:18:36.787981
-
-"""
-import sqlalchemy as sa
-from alembic import op
-
-# revision identifiers, used by Alembic.
-revision = 'aa49bed10737'
-down_revision = '431ca061b2ad'
-branch_labels = None
-depends_on = None
-
-
-from orchestrator.migrations.helpers import create_workflow, delete_workflow
-
-new_workflows = [
-    {
-        "name": "create_trunk",
-        "target": "CREATE",
-        "description": "Create trunk",
-        "product_type": "Trunk"
-    },
-    {
-        "name": "create_trunk_config",
-        "target": "CREATE",
-        "description": "Create trunk config",
-        "product_type": "TrunkConfig"
-    },
-    {
-        "name": "create_trunk_config_common",
-        "target": "CREATE",
-        "description": "Create trunk config common",
-        "product_type": "TrunkConfigCommon"
-    },
-    {
-        "name": "create_trunk_config_side",
-        "target": "CREATE",
-        "description": "Create trunk config side",
-        "product_type": "TrunkConfigSide"
-    }
-]
-
-
-def upgrade() -> None:
-    conn = op.get_bind()
-    for workflow in new_workflows:
-        create_workflow(conn, workflow)
-
-
-def downgrade() -> None:
-    conn = op.get_bind()
-    for workflow in new_workflows:
-        delete_workflow(conn, workflow["name"])
diff --git a/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py b/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py
deleted file mode 100644
index 2155ed87..00000000
--- a/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py
+++ /dev/null
@@ -1,239 +0,0 @@
-"""Update products.
-
-Revision ID: 6005995d6eec
-Revises: 8329fa45157b
-Create Date: 2023-03-15 08:38:09.080265
-
-"""
-import sqlalchemy as sa
-from alembic import op
-
-# revision identifiers, used by Alembic.
-revision = '6005995d6eec'
-down_revision = '8329fa45157b'
-branch_labels = None
-depends_on = None
-
-
-def upgrade() -> None:
-    conn = op.get_bind()
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Side Block'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block', 'Trunk Block', 'Trunk Config Block', 'Trunk Config Side Block'))
-    """)
-    conn.execute("""
-DELETE FROM product_blocks WHERE product_blocks.name IN ('Trunk Config Common Block', 'Trunk Block', 'Trunk Config Block', 'Trunk Config Side Block')
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkBlock', 'trunk block', 'TRUNK_B', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkConfigBlock', 'trunk config block', 'TRUNK_CB', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkConfigCommonBlock', 'trunk config common block', 'TRUNK_CCB', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_blocks (name, description, tag, status) VALUES ('TrunkConfigSideBlock', 'trunk config side block', 'TRUNK_CSB', 'active') RETURNING product_blocks.product_block_id
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')))
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')))
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')))
-    """)
-    conn.execute("""
-INSERT INTO product_product_blocks (product_id, product_block_id) VALUES ((SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_relations (in_use_by_id, depends_on_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))), ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id')))
-    """)
-    conn.execute("""
-INSERT INTO product_block_resource_types (product_block_id, resource_type_id) VALUES ((SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')), (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn')))
-    """)
-
-
-def downgrade() -> None:
-    conn = op.get_bind()
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_s_sid'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_name'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('isis_metric'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('speed'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('minimum_links'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_common_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('is_leased_line'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('members'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv6_address'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ae_name'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('ipv4_address'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('geant_a_sid'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('trunk_config_side_id'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_resource_types WHERE product_block_resource_types.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock')) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instance_values USING product_block_resource_types WHERE subscription_instance_values.subscription_instance_id IN (SELECT subscription_instances.subscription_instance_id FROM subscription_instances WHERE subscription_instances.subscription_instance_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))) AND product_block_resource_types.resource_type_id = (SELECT resource_types.resource_type_id FROM resource_types WHERE resource_types.resource_type IN ('fqdn'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Common')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigCommonBlock'))
-    """)
-    conn.execute("""
-DELETE FROM product_product_blocks WHERE product_product_blocks.product_id IN (SELECT products.product_id FROM products WHERE products.name IN ('Trunk Config Side')) AND product_product_blocks.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkBlock'))
-    """)
-    conn.execute("""
-DELETE FROM product_block_relations WHERE product_block_relations.in_use_by_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigSideBlock', 'TrunkConfigCommonBlock')) AND product_block_relations.depends_on_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock'))
-    """)
-    conn.execute("""
-DELETE FROM subscription_instances WHERE subscription_instances.product_block_id IN (SELECT product_blocks.product_block_id FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock', 'TrunkConfigCommonBlock', 'TrunkConfigSideBlock', 'TrunkBlock'))
-    """)
-    conn.execute("""
-DELETE FROM product_blocks WHERE product_blocks.name IN ('TrunkConfigBlock', 'TrunkConfigCommonBlock', 'TrunkConfigSideBlock', 'TrunkBlock')
-    """)
diff --git a/geant_service_orchestrator/products/product_blocks/__init__.py b/geant_service_orchestrator/products/product_blocks/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/geant_service_orchestrator/products/product_blocks/trunk.py b/geant_service_orchestrator/products/product_blocks/trunk.py
deleted file mode 100644
index d9a54bf2..00000000
--- a/geant_service_orchestrator/products/product_blocks/trunk.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from typing import Optional
-
-from orchestrator.domain.base import ProductBlockModel
-from orchestrator.types import SubscriptionLifecycle
-
-
-class TrunkBlockInactive(
-        ProductBlockModel,
-        lifecycle=[SubscriptionLifecycle.INITIAL],
-        product_block_name="TrunkBlock"):
-    trunk_id: Optional[int] = None
-    geant_s_sid: Optional[str] = None
-    trunk_name: Optional[str] = None
-
-
-class TrunkBlockProvisioning(
-        TrunkBlockInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk_id: Optional[int] = None
-    geant_s_sid: str
-    trunk_name: str
-
-
-class TrunkBlock(
-        TrunkBlockProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk_id: int
-    geant_s_sid: str
-    trunk_name: str
diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config.py b/geant_service_orchestrator/products/product_blocks/trunk_config.py
deleted file mode 100644
index 2c191cfb..00000000
--- a/geant_service_orchestrator/products/product_blocks/trunk_config.py
+++ /dev/null
@@ -1,29 +0,0 @@
-from typing import Optional
-
-from orchestrator.domain.base import ProductBlockModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk \
-    import TrunkBlock, TrunkBlockInactive, TrunkBlockProvisioning
-
-
-class TrunkConfigBlockInactive(
-        ProductBlockModel,
-        lifecycle=[SubscriptionLifecycle.INITIAL],
-        product_block_name="TrunkConfigBlock"):
-    trunk: TrunkBlockInactive
-    trunk_config_id: Optional[int] = None
-
-
-class TrunkConfigBlockProvisioning(
-        TrunkConfigBlockInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk: TrunkBlockProvisioning
-    trunk_config_id: Optional[int] = None
-
-
-class TrunkConfigBlock(
-        TrunkConfigBlockProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk: TrunkBlock
-    trunk_config_id: int
diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config_common.py b/geant_service_orchestrator/products/product_blocks/trunk_config_common.py
deleted file mode 100644
index cbae780e..00000000
--- a/geant_service_orchestrator/products/product_blocks/trunk_config_common.py
+++ /dev/null
@@ -1,42 +0,0 @@
-from typing import Optional
-
-from orchestrator.domain.base import ProductBlockModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk_config \
-    import TrunkConfigBlock, TrunkConfigBlockInactive, \
-    TrunkConfigBlockProvisioning
-
-
-class TrunkConfigCommonBlockInactive(
-        ProductBlockModel,
-        lifecycle=[SubscriptionLifecycle.INITIAL],
-        product_block_name="TrunkConfigCommonBlock"):
-    trunk_config: TrunkConfigBlockInactive
-    trunk_config_common_id: Optional[int] = None
-    speed: Optional[str] = None
-    is_leased_line: Optional[bool] = None
-    isis_metric: Optional[int] = None
-    minimum_links: Optional[int] = None
-
-
-class TrunkConfigCommonBlockProvisioning(
-        TrunkConfigCommonBlockInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk_config: TrunkConfigBlockProvisioning
-    trunk_config_common_id: Optional[int] = None
-    speed: str
-    is_leased_line: bool
-    isis_metric: int
-    minimum_links: int
-
-
-class TrunkConfigCommonBlock(
-        TrunkConfigCommonBlockProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk_config: TrunkConfigBlock
-    trunk_config_common_id: int
-    speed: str
-    is_leased_line: bool
-    isis_metric: int
-    minimum_links: int
diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config_side.py b/geant_service_orchestrator/products/product_blocks/trunk_config_side.py
deleted file mode 100644
index 7b016d15..00000000
--- a/geant_service_orchestrator/products/product_blocks/trunk_config_side.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from typing import List, Optional
-
-from orchestrator.domain.base import ProductBlockModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk_config \
-    import TrunkConfigBlock, TrunkConfigBlockInactive,\
-    TrunkConfigBlockProvisioning
-
-
-class TrunkConfigSideBlockInactive(
-        ProductBlockModel,
-        lifecycle=[SubscriptionLifecycle.INITIAL],
-        product_block_name="TrunkConfigSideBlock"):
-    trunk_config: TrunkConfigBlockInactive
-    trunk_config_side_id: Optional[int] = None
-    fqdn: Optional[str] = None
-    ae_name: Optional[str] = None
-    geant_a_sid: Optional[str] = None
-    ipv4_address: Optional[str] = None
-    ipv6_address: Optional[str] = None
-    members: Optional[List[str]] = None
-
-
-class TrunkConfigSideBlockProvisioning(
-        TrunkConfigSideBlockInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk_config: TrunkConfigBlockProvisioning
-    trunk_config_side_id: Optional[int] = None
-    fqdn: str
-    ae_name: str
-    geant_a_sid: str
-    ipv4_address: Optional[str] = "127.0.0.1"
-    ipv6_address: Optional[str] = "::1"
-    members: List[str]
-
-
-class TrunkConfigSideBlock(
-        TrunkConfigSideBlockProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk_config: TrunkConfigBlock
-    trunk_config_side_id: int
-    fqdn: str
-    ae_name: str
-    geant_a_sid: str
-    ipv4_address: str
-    ipv6_address: str
-    members: List[str]
diff --git a/geant_service_orchestrator/products/product_types/__init__.py b/geant_service_orchestrator/products/product_types/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/geant_service_orchestrator/products/product_types/trunk.py b/geant_service_orchestrator/products/product_types/trunk.py
deleted file mode 100644
index de30a398..00000000
--- a/geant_service_orchestrator/products/product_types/trunk.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from orchestrator.domain.base import SubscriptionModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk \
-    import TrunkBlock, TrunkBlockInactive, TrunkBlockProvisioning
-
-
-class TrunkInactive(
-        SubscriptionModel, is_base=True,
-        lifecycle=[SubscriptionLifecycle.INITIAL]):
-    trunk: TrunkBlockInactive
-
-
-class TrunkProvisioning(
-        TrunkInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk: TrunkBlockProvisioning
-
-
-class Trunk(
-        TrunkProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk: TrunkBlock
diff --git a/geant_service_orchestrator/products/product_types/trunk_config.py b/geant_service_orchestrator/products/product_types/trunk_config.py
deleted file mode 100644
index 6e33beba..00000000
--- a/geant_service_orchestrator/products/product_types/trunk_config.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from orchestrator.domain.base import SubscriptionModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk_config \
-    import TrunkConfigBlock, TrunkConfigBlockInactive,\
-    TrunkConfigBlockProvisioning
-
-
-class TrunkConfigInactive(
-        SubscriptionModel,
-        is_base=True, lifecycle=[SubscriptionLifecycle.INITIAL]):
-    trunk_config: TrunkConfigBlockInactive
-
-
-class TrunkConfigProvisioning(
-        TrunkConfigInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk_config: TrunkConfigBlockProvisioning
-
-
-class TrunkConfig(
-        TrunkConfigProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk_config: TrunkConfigBlock
diff --git a/geant_service_orchestrator/products/product_types/trunk_config_common.py b/geant_service_orchestrator/products/product_types/trunk_config_common.py
deleted file mode 100644
index 6d1d9480..00000000
--- a/geant_service_orchestrator/products/product_types/trunk_config_common.py
+++ /dev/null
@@ -1,25 +0,0 @@
-from orchestrator.domain.base import SubscriptionModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk_config_common \
-    import TrunkConfigCommonBlock, TrunkConfigCommonBlockInactive, \
-    TrunkConfigCommonBlockProvisioning
-
-
-class TrunkConfigCommonInactive(
-        SubscriptionModel,
-        is_base=True,
-        lifecycle=[SubscriptionLifecycle.INITIAL]):
-    trunk_config_common: TrunkConfigCommonBlockInactive
-
-
-class TrunkConfigCommonProvisioning(
-        TrunkConfigCommonInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk_config_common: TrunkConfigCommonBlockProvisioning
-
-
-class TrunkConfigCommon(
-        TrunkConfigCommonProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk_config_common: TrunkConfigCommonBlock
diff --git a/geant_service_orchestrator/products/product_types/trunk_config_side.py b/geant_service_orchestrator/products/product_types/trunk_config_side.py
deleted file mode 100644
index 943dfc35..00000000
--- a/geant_service_orchestrator/products/product_types/trunk_config_side.py
+++ /dev/null
@@ -1,25 +0,0 @@
-from orchestrator.domain.base import SubscriptionModel
-from orchestrator.types import SubscriptionLifecycle
-
-from geant_service_orchestrator.products.product_blocks.trunk_config_side \
-    import TrunkConfigSideBlock, TrunkConfigSideBlockInactive, \
-    TrunkConfigSideBlockProvisioning
-
-
-class TrunkConfigSideInactive(
-        SubscriptionModel,
-        is_base=True,
-        lifecycle=[SubscriptionLifecycle.INITIAL]):
-    trunk_config_side: TrunkConfigSideBlockInactive
-
-
-class TrunkConfigSideProvisioning(
-        TrunkConfigSideInactive,
-        lifecycle=[SubscriptionLifecycle.PROVISIONING]):
-    trunk_config_side: TrunkConfigSideBlockProvisioning
-
-
-class TrunkConfigSide(
-        TrunkConfigSideProvisioning,
-        lifecycle=[SubscriptionLifecycle.ACTIVE]):
-    trunk_config_side: TrunkConfigSideBlock
diff --git a/geant_service_orchestrator/workflows/__init__.py b/geant_service_orchestrator/workflows/__init__.py
deleted file mode 100644
index 282c688f..00000000
--- a/geant_service_orchestrator/workflows/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-from orchestrator.workflows import LazyWorkflowInstance
-
-LazyWorkflowInstance(
-    "workflows.trunk.create_trunk",
-    "create_trunk")
-LazyWorkflowInstance(
-    "workflows.trunk_config.create_trunk_config",
-    "create_trunk_config")
-LazyWorkflowInstance(
-    "workflows.trunk_config_common.create_trunk_config_common",
-    "create_trunk_config_common")
-LazyWorkflowInstance(
-    "workflows.trunk_config_side.create_trunk_config_side",
-    "create_trunk_config_side")
-LazyWorkflowInstance(
-    "workflows.trunk.terminate_trunk",
-    "terminate_trunk")
-LazyWorkflowInstance(
-    "workflows.trunk_config.terminate_trunk_config",
-    "terminate_trunk_config")
-LazyWorkflowInstance(
-    "workflows.trunk_config_common.terminate_trunk_config_common",
-    "terminate_trunk_config_common")
-LazyWorkflowInstance(
-    "workflows.trunk_config_side.terminate_trunk_config_side",
-    "terminate_trunk_config_side")
diff --git a/geant_service_orchestrator/workflows/trunk/__init__.py b/geant_service_orchestrator/workflows/trunk/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/geant_service_orchestrator/workflows/trunk/create_trunk.py b/geant_service_orchestrator/workflows/trunk/create_trunk.py
deleted file mode 100644
index 2061e906..00000000
--- a/geant_service_orchestrator/workflows/trunk/create_trunk.py
+++ /dev/null
@@ -1,84 +0,0 @@
-from uuid import uuid4
-
-from orchestrator.forms import FormPage
-from orchestrator.targets import Target
-from orchestrator.types \
-    import FormGenerator, State, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription
-from orchestrator.workflows.utils import wrap_create_initial_input_form
-
-from geant_service_orchestrator.products.product_types.trunk \
-    import TrunkInactive, TrunkProvisioning
-
-
-def initial_input_form_generator(product_name: str) -> FormGenerator:
-    class CreateTrunkForm(FormPage):
-        class Config:
-            title = product_name
-
-        trunk_name: str
-        geant_s_sid: str
-
-    user_input = yield CreateTrunkForm
-
-    return user_input.dict()
-
-
-def _provision_in_gap(trunk_name: str) -> int:
-
-    return abs(hash(trunk_name))
-
-
-@step("Create subscription")
-def create_subscription(product: UUIDstr) -> State:
-    subscription = TrunkInactive.from_product_id(product, uuid4())
-
-    return {
-        "subscription": subscription,
-        "subscription_id": subscription.subscription_id
-    }
-
-
-@step("Initialize subscription")
-def initialize_subscription(
-        subscription: TrunkInactive,
-        trunk_name: str,
-        geant_s_sid: str) -> State:
-    subscription.trunk.trunk_name = trunk_name
-    subscription.trunk.geant_s_sid = geant_s_sid
-    subscription.description = f"Trunk {trunk_name}"
-    subscription = TrunkProvisioning.from_other_lifecycle(
-        subscription, SubscriptionLifecycle.PROVISIONING)
-
-    return {"subscription": subscription}
-
-
-@step("Provision trunk")
-def provision_trunk(
-        subscription: TrunkProvisioning,
-        trunk_name: str) -> State:
-    trunk_id = _provision_in_gap(trunk_name)
-    subscription.trunk.trunk_id = trunk_id
-
-    return {"subscription": subscription}
-
-
-@workflow(
-    "Create trunk",
-    initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.CREATE,
-)
-def create_trunk():
-
-    return (
-        init
-        >> create_subscription
-        >> store_process_subscription(Target.CREATE)
-        >> initialize_subscription
-        >> provision_trunk
-        >> set_status(SubscriptionLifecycle.ACTIVE)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk/terminate_trunk.py b/geant_service_orchestrator/workflows/trunk/terminate_trunk.py
deleted file mode 100644
index 28277aa4..00000000
--- a/geant_service_orchestrator/workflows/trunk/terminate_trunk.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Label
-from orchestrator.targets import Target
-from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription, unsync
-from orchestrator.workflows.utils import wrap_modify_initial_input_form
-
-from geant_service_orchestrator.products import Trunk
-
-
-def initial_input_form_generator(
-        subscription_id: UUIDstr,
-        organisation: UUIDstr) -> InputForm:
-    subscription = Trunk.from_subscription(subscription_id)
-
-    class TerminateForm(FormPage):
-        are_you_sure: Label = 'Are you sure you want to remove ' \
-                              f'{subscription.description}?'  # type:ignore
-
-    return TerminateForm
-
-
-def _deprovision_in_gap(trunk_id: int) -> int:
-    pass
-
-
-@step("Deprovision trunk")
-def deprovision_trunk(subscription: Trunk) -> None:
-    _deprovision_in_gap(subscription.trunk.trunk_id)
-
-
-@workflow(
-    "Terminate trunk",
-    initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.TERMINATE,
-)
-def terminate_trunk():
-
-    return (
-        init
-        >> store_process_subscription(Target.TERMINATE)
-        >> unsync
-        >> deprovision_trunk
-        >> set_status(SubscriptionLifecycle.TERMINATED)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk_config/__init__.py b/geant_service_orchestrator/workflows/trunk_config/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py b/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py
deleted file mode 100644
index b1f39f95..00000000
--- a/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py
+++ /dev/null
@@ -1,113 +0,0 @@
-from random import randint
-from typing import List
-from uuid import uuid4
-
-from orchestrator.db.models import ProductTable, SubscriptionTable
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Choice, choice_list
-from orchestrator.targets import Target
-from orchestrator.types \
-    import FormGenerator, State, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription
-from orchestrator.workflows.utils import wrap_create_initial_input_form
-
-from geant_service_orchestrator.products.product_types.trunk_config \
-    import TrunkConfigInactive, TrunkConfigProvisioning
-from geant_service_orchestrator.products.product_types.trunk \
-    import Trunk
-
-
-def trunk_selector() -> list:
-    trunk_subscriptions = {}
-    for trunk_id, trunk_description in (
-        SubscriptionTable.query.join(ProductTable)
-        .filter(
-            ProductTable.product_type == "Trunk",
-            SubscriptionTable.status == "active",
-        )
-        .with_entities(
-            SubscriptionTable.subscription_id,
-            SubscriptionTable.description)
-        .all()
-    ):
-        trunk_subscriptions[str(trunk_id)] = trunk_description
-
-    return choice_list(
-        Choice("TrunkEnum", zip(
-            trunk_subscriptions.keys(),
-            trunk_subscriptions.items())),  # type:ignore
-        min_items=1,
-        max_items=1,
-    )
-
-
-def initial_input_form_generator(product_name: str) -> FormGenerator:
-    class CreateTrunkConfigForm(FormPage):
-        class Config:
-            title = product_name
-
-        trunk_ids: trunk_selector()  # type:ignore
-
-    user_input = yield CreateTrunkConfigForm
-
-    return user_input.dict()
-
-
-def _provision_in_gap() -> int:
-
-    return randint(0, 2147483648)
-
-
-@step("Create subscription")
-def create_subscription(product: UUIDstr) -> State:
-    subscription = TrunkConfigInactive.from_product_id(product, uuid4())
-
-    return {
-        "subscription": subscription,
-        "subscription_id": subscription.subscription_id
-    }
-
-
-@step("Initialize subscription")
-def initialize_subscription(
-        subscription: TrunkConfigInactive,
-        trunk_ids: List[str]) -> State:
-    subscription.trunk_config.trunk \
-        = Trunk.from_subscription(trunk_ids[0]).trunk
-    subscription.description =\
-        "TrunkConfig from Trunk " \
-        f"{subscription.trunk_config.trunk.trunk_name}"
-    subscription = TrunkConfigProvisioning.from_other_lifecycle(
-        subscription, SubscriptionLifecycle.PROVISIONING)
-
-    return {"subscription": subscription}
-
-
-@step("Provision trunk config")
-def provision_trunk_config(
-        subscription: TrunkConfigProvisioning) -> State:
-    trunk_config_id = _provision_in_gap()
-    subscription.trunk_config.trunk_config_id = trunk_config_id
-
-    return {"subscription": subscription}
-
-
-@workflow(
-    "Create trunk config",
-    initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.CREATE,
-)
-def create_trunk_config():
-
-    return (
-        init
-        >> create_subscription
-        >> store_process_subscription(Target.CREATE)
-        >> initialize_subscription
-        >> provision_trunk_config
-        >> set_status(SubscriptionLifecycle.ACTIVE)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py b/geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py
deleted file mode 100644
index 9671b563..00000000
--- a/geant_service_orchestrator/workflows/trunk_config/terminate_trunk_config.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Label
-from orchestrator.targets import Target
-from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription, unsync
-from orchestrator.workflows.utils import wrap_modify_initial_input_form
-
-from products import TrunkConfig
-
-
-def initial_input_form_generator(
-        subscription_id: UUIDstr,
-        organisation: UUIDstr) -> InputForm:
-    subscription = TrunkConfig.from_subscription(subscription_id)
-
-    class TerminateForm(FormPage):
-        are_you_sure: Label = \
-            "Are you sure you want to remove " \
-            f"{subscription.description}?"  # type:ignore
-
-    return TerminateForm
-
-
-def _deprovision_in_gap(trunk_config_id: int) -> int:
-    pass
-
-
-@step("Deprovision trunk config")
-def deprovision_trunk_config(subscription: TrunkConfig) -> None:
-    _deprovision_in_gap(subscription.trunk_config.trunk_config_id)
-
-
-@workflow(
-    "Terminate trunk config",
-    initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.TERMINATE,
-)
-def terminate_trunk_config():
-
-    return (
-        init
-        >> store_process_subscription(Target.TERMINATE)
-        >> unsync
-        >> deprovision_trunk_config
-        >> set_status(SubscriptionLifecycle.TERMINATED)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk_config_common/__init__.py b/geant_service_orchestrator/workflows/trunk_config_common/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py b/geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py
deleted file mode 100644
index 521b4aef..00000000
--- a/geant_service_orchestrator/workflows/trunk_config_common/create_trunk_config_common.py
+++ /dev/null
@@ -1,127 +0,0 @@
-from random import randint
-from typing import List
-from uuid import uuid4
-
-from orchestrator.db.models import ProductTable, SubscriptionTable
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Choice, choice_list
-from orchestrator.targets import Target
-from orchestrator.types \
-    import FormGenerator, State, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription
-from orchestrator.workflows.utils import wrap_create_initial_input_form
-
-from geant_service_orchestrator.products.product_types.trunk_config_common \
-    import TrunkConfigCommonInactive, TrunkConfigCommonProvisioning
-from geant_service_orchestrator.products.product_types.trunk_config \
-    import TrunkConfig
-
-
-def trunk_config_selector() -> list:
-    trunk_config_subscriptions = {}
-    for trunk_config_id, trunk_config_description in (
-        SubscriptionTable.query.join(ProductTable)
-        .filter(
-            ProductTable.product_type == "TrunkConfig",
-            SubscriptionTable.status == "active",
-        )
-        .with_entities(
-            SubscriptionTable.subscription_id,
-            SubscriptionTable.description)
-        .all()
-    ):
-        trunk_config_subscriptions[
-            str(trunk_config_id)] = trunk_config_description
-
-    return choice_list(
-        Choice("TrunkConfigEnum", zip(
-            trunk_config_subscriptions.keys(),
-            trunk_config_subscriptions.items())),  # type:ignore
-        min_items=1,
-        max_items=1,
-    )
-
-
-def initial_input_form_generator(product_name: str) -> FormGenerator:
-    class CreateTrunkConfigCommonForm(FormPage):
-        class Config:
-            title = product_name
-        speed: str
-        is_leased_line: bool
-        isis_metric: int
-        minimum_links: int
-        trunk_config_ids: trunk_config_selector()  # type:ignore
-
-    user_input = yield CreateTrunkConfigCommonForm
-    return user_input.dict()
-
-
-def _provision_in_gap() -> int:
-
-    return randint(0, 2147483648)
-
-
-@step("Create subscription")
-def create_subscription(product: UUIDstr) -> State:
-    subscription \
-        = TrunkConfigCommonInactive.from_product_id(product, uuid4())
-
-    return {
-        "subscription": subscription,
-        "subscription_id": subscription.subscription_id
-    }
-
-
-@step("Initialize subscription")
-def initialize_subscription(
-        subscription: TrunkConfigCommonInactive,
-        speed: str,
-        is_leased_line: bool,
-        isis_metric: int,
-        minimum_links: int,
-        trunk_config_ids: List[str]) -> State:
-    subscription.trunk_config_common.speed = speed
-    subscription.trunk_config_common.is_leased_line = is_leased_line
-    subscription.trunk_config_common.isis_metric = isis_metric
-    subscription.trunk_config_common.minimum_links = minimum_links
-    subscription.trunk_config_common.trunk_config \
-        = TrunkConfig.from_subscription(
-            trunk_config_ids[0]).trunk_config
-    subscription.description = \
-        "TrunkConfigCommon from TrunkConfig " \
-        f"{subscription.trunk_config_common.trunk_config.trunk_config_id}"
-    subscription = TrunkConfigCommonProvisioning.from_other_lifecycle(
-        subscription, SubscriptionLifecycle.PROVISIONING)
-
-    return {"subscription": subscription}
-
-
-@step("Provision trunk config common")
-def provision_trunk_config_common(
-        subscription: TrunkConfigCommonProvisioning) -> State:
-    trunk_config_common_id = _provision_in_gap()
-    subscription.trunk_config_common.trunk_config_common_id \
-        = trunk_config_common_id
-
-    return {"subscription": subscription}
-
-
-@workflow(
-    "Create trunk config common",
-    initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.CREATE,
-)
-def create_trunk_config_common():
-
-    return (
-        init
-        >> create_subscription
-        >> store_process_subscription(Target.CREATE)
-        >> initialize_subscription
-        >> provision_trunk_config_common
-        >> set_status(SubscriptionLifecycle.ACTIVE)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py b/geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py
deleted file mode 100644
index 976fe592..00000000
--- a/geant_service_orchestrator/workflows/trunk_config_common/terminate_trunk_config_common.py
+++ /dev/null
@@ -1,52 +0,0 @@
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Label
-from orchestrator.targets import Target
-from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription, unsync
-from orchestrator.workflows.utils import wrap_modify_initial_input_form
-
-from geant_service_orchestrator.products import TrunkConfigCommon
-
-
-def initial_input_form_generator(
-        subscription_id: UUIDstr,
-        organisation: UUIDstr) -> InputForm:
-    subscription = TrunkConfigCommon.from_subscription(subscription_id)
-
-    class TerminateForm(FormPage):
-        are_you_sure: Label = \
-            "Are you sure you want to remove " \
-            f"{subscription.description}?"  # type:ignore
-
-    return TerminateForm
-
-
-def _deprovision_in_gap(trunk_config_common_id: int) -> int:
-    pass
-
-
-@step("Deprovision trunk config common")
-def deprovision_trunk_config_common(
-        subscription: TrunkConfigCommon) -> None:
-    _deprovision_in_gap(
-        subscription.trunk_config_common.trunk_config_common_id)
-
-
-@workflow(
-    "Terminate trunk config common",
-    initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.TERMINATE,
-)
-def terminate_trunk_config_common():
-
-    return (
-        init
-        >> store_process_subscription(Target.TERMINATE)
-        >> unsync
-        >> deprovision_trunk_config_common
-        >> set_status(SubscriptionLifecycle.TERMINATED)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk_config_side/__init__.py b/geant_service_orchestrator/workflows/trunk_config_side/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py b/geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py
deleted file mode 100644
index fa35bc65..00000000
--- a/geant_service_orchestrator/workflows/trunk_config_side/create_trunk_config_side.py
+++ /dev/null
@@ -1,150 +0,0 @@
-from typing import List, Optional
-from uuid import uuid4
-
-from orchestrator.db.models import ProductTable, SubscriptionTable
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Choice, choice_list
-from orchestrator.targets import Target
-from orchestrator.types \
-    import FormGenerator, State, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription
-from orchestrator.workflows.utils import wrap_create_initial_input_form
-
-from geant_service_orchestrator.products.product_types.trunk_config_side \
-    import TrunkConfigSideInactive, TrunkConfigSideProvisioning
-from geant_service_orchestrator.products.product_types.trunk_config \
-    import TrunkConfig
-
-
-def trunk_config_selector() -> list:
-    trunk_config_subscriptions = {}
-    for trunk_config_id, trunk_config_description in (
-        SubscriptionTable.query.join(ProductTable)
-        .filter(
-            ProductTable.product_type == "TrunkConfig",
-            SubscriptionTable.status == "active",
-        )
-        .with_entities(
-            SubscriptionTable.subscription_id,
-            SubscriptionTable.description)
-        .all()
-    ):
-        trunk_config_subscriptions[
-            str(trunk_config_id)] = trunk_config_description
-
-    return choice_list(
-        Choice("TrunkConfigEnum", zip(
-            trunk_config_subscriptions.keys(),
-            trunk_config_subscriptions.items())),  # type:ignore
-        min_items=1,
-        max_items=1,
-    )
-
-
-def member_selector() -> list:
-    interfaces_dict = {
-        "ge-0/0/1": "ge-0/0/1",
-        "ge-0/0/2": "ge-0/0/2",
-        "ge-0/0/3": "ge-0/0/3",
-        "ge-0/0/4": "ge-0/0/4",
-        "ge-0/0/5": "ge-0/0/5"
-    }
-
-    return choice_list(
-        Choice("Member Interfaces", zip(
-            interfaces_dict.keys(),
-            interfaces_dict.items())),  # type:ignore
-        min_items=1,
-        max_items=4,
-        unique_items=True,
-    )
-
-
-def initial_input_form_generator(product_name: str) -> FormGenerator:
-    class CreateTrunkConfigSideForm(FormPage):
-        class Config:
-            title = product_name
-
-        fqdn: str
-        ae_name: str
-        geant_a_sid: str
-        ipv4_address: Optional[str]
-        ipv6_address: Optional[str]
-        members: member_selector()  # type:ignore
-        trunk_config_ids: trunk_config_selector()  # type:ignore
-
-    user_input = yield CreateTrunkConfigSideForm
-
-    return user_input.dict()
-
-
-def _provision_in_gap(fqdn: str) -> int:
-    return abs(hash(fqdn))
-
-
-@step("Create subscription")
-def create_subscription(product: UUIDstr) -> State:
-    subscription \
-        = TrunkConfigSideInactive.from_product_id(product, uuid4())
-
-    return {
-        "subscription": subscription,
-        "subscription_id": subscription.subscription_id
-    }
-
-
-@step("Initialize subscription")
-def initialize_subscription(
-        subscription: TrunkConfigSideInactive,
-        fqdn: str,
-        ae_name: str,
-        geant_a_sid: str,
-        ipv4_address: str,
-        ipv6_address: str,
-        members: list,
-        trunk_config_ids: List[str]) -> State:
-    subscription.trunk_config_side.fqdn = fqdn
-    subscription.trunk_config_side.ae_name = ae_name
-    subscription.trunk_config_side.geant_a_sid = geant_a_sid
-    subscription.trunk_config_side.ipv4_address = ipv4_address
-    subscription.trunk_config_side.ipv6_address = ipv6_address
-    subscription.trunk_config_side.members = members
-    subscription.trunk_config_side.trunk_config \
-        = TrunkConfig.from_subscription(trunk_config_ids[0]).trunk_config
-    subscription.description = \
-        "TrunkConfigSide from TrunkConfig " \
-        f"{subscription.trunk_config_side.trunk_config.trunk_config_id}"
-    subscription = TrunkConfigSideProvisioning.from_other_lifecycle(
-        subscription, SubscriptionLifecycle.PROVISIONING)
-
-    return {"subscription": subscription}
-
-
-@step("Provision trunk config side")
-def provision_trunk_config_side(
-        subscription: TrunkConfigSideProvisioning, fqdn: str) -> State:
-    trunk_config_side_id = _provision_in_gap(fqdn)
-    subscription.trunk_config_side.trunk_config_side_id = trunk_config_side_id
-
-    return {"subscription": subscription}
-
-
-@workflow(
-    "Create trunk config side",
-    initial_input_form=wrap_create_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.CREATE,
-)
-def create_trunk_config_side():
-
-    return (
-        init
-        >> create_subscription
-        >> store_process_subscription(Target.CREATE)
-        >> initialize_subscription
-        >> provision_trunk_config_side
-        >> set_status(SubscriptionLifecycle.ACTIVE)
-        >> resync
-        >> done
-    )
diff --git a/geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py b/geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py
deleted file mode 100644
index bed44309..00000000
--- a/geant_service_orchestrator/workflows/trunk_config_side/terminate_trunk_config_side.py
+++ /dev/null
@@ -1,51 +0,0 @@
-from orchestrator.forms import FormPage
-from orchestrator.forms.validators import Label
-from orchestrator.targets import Target
-from orchestrator.types import InputForm, SubscriptionLifecycle, UUIDstr
-from orchestrator.workflow import done, init, step, workflow
-from orchestrator.workflows.steps \
-    import resync, set_status, store_process_subscription, unsync
-from orchestrator.workflows.utils import wrap_modify_initial_input_form
-
-from geant_service_orchestrator.products import TrunkConfigSide
-
-
-def initial_input_form_generator(
-        subscription_id: UUIDstr,
-        organisation: UUIDstr) -> InputForm:
-    subscription = TrunkConfigSide.from_subscription(subscription_id)
-
-    class TerminateForm(FormPage):
-        are_you_sure: Label = \
-            "Are you sure you want to remove " \
-            f"{subscription.description}?"  # type:ignore
-
-    return TerminateForm
-
-
-def _deprovision_in_gap(trunk_config_side_id: int) -> int:
-    pass
-
-
-@step("Deprovision trunk config side")
-def deprovision_trunk_config_side(
-        subscription: TrunkConfigSide) -> None:
-    _deprovision_in_gap(subscription.trunk_config_side.trunk_config_side_id)
-
-
-@workflow(
-    "Terminate trunk config side",
-    initial_input_form=wrap_modify_initial_input_form(initial_input_form_generator),  # noqa: E501
-    target=Target.TERMINATE,
-)
-def terminate_trunk_config_side():
-
-    return (
-        init
-        >> store_process_subscription(Target.TERMINATE)
-        >> unsync
-        >> deprovision_trunk_config_side
-        >> set_status(SubscriptionLifecycle.TERMINATED)
-        >> resync
-        >> done
-    )
-- 
GitLab