diff --git a/geant_service_orchestrator/migrations/__pycache__/env.cpython-39.pyc b/geant_service_orchestrator/migrations/__pycache__/env.cpython-39.pyc
index a3f1f38bec2618de40ae47f038c6ae77f2e29148..5a87fcf4262da58b73bdab13e78aa986d57e6ca9 100644
Binary files a/geant_service_orchestrator/migrations/__pycache__/env.cpython-39.pyc and b/geant_service_orchestrator/migrations/__pycache__/env.cpython-39.pyc differ
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
new file mode 100644
index 0000000000000000000000000000000000000000..2155ed87f4124fdd4207306c0eabfc2099a2655a
--- /dev/null
+++ b/geant_service_orchestrator/migrations/versions/schema/2023-03-15_6005995d6eec_update_products.py
@@ -0,0 +1,239 @@
+"""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/trunk.py b/geant_service_orchestrator/products/product_blocks/trunk.py
index 76237c83a0d8e70003e6a301ce566de5c0dfb4f5..f9ced4b4f7f6477f2e51feb1bf5c5718d6ab3d60 100644
--- a/geant_service_orchestrator/products/product_blocks/trunk.py
+++ b/geant_service_orchestrator/products/product_blocks/trunk.py
@@ -12,7 +12,7 @@ class TrunkBlockInactive(ProductBlockModel, lifecycle=[SubscriptionLifecycle.INI
 
 class TrunkBlockProvisioning(TrunkBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
     trunk_id: Optional[int] = None
-    geant_s_sid: Optional[str] = None
+    geant_s_sid: str
     trunk_name: str
 
 
diff --git a/geant_service_orchestrator/products/product_blocks/trunk_config_common.py b/geant_service_orchestrator/products/product_blocks/trunk_config_common.py
index c2c18b985bf66078b27b91350e4e586b0a193ed7..b6e3a520a98024c6578ca40ca8362e9c7c9ecaf1 100644
--- a/geant_service_orchestrator/products/product_blocks/trunk_config_common.py
+++ b/geant_service_orchestrator/products/product_blocks/trunk_config_common.py
@@ -19,7 +19,7 @@ class TrunkConfigCommonBlockProvisioning(TrunkConfigCommonBlockInactive, lifecyc
     trunk_config: TrunkConfigBlockProvisioning
     trunk_config_common_id: Optional[int] = None
     speed: str
-    is_leased_line: Optional[bool] = None
+    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
index 8bf1b039a315a6ef254ef33367e6965526c8dbb3..4aa45dd885d9bb6660090c0baf393629c8790292 100644
--- a/geant_service_orchestrator/products/product_blocks/trunk_config_side.py
+++ b/geant_service_orchestrator/products/product_blocks/trunk_config_side.py
@@ -1,4 +1,4 @@
-from typing import Optional
+from typing import List, Optional
 
 from orchestrator.domain.base import ProductBlockModel
 from orchestrator.types import SubscriptionLifecycle
@@ -14,18 +14,18 @@ class TrunkConfigSideBlockInactive(ProductBlockModel, lifecycle=[SubscriptionLif
     geant_a_sid: Optional[str] = None
     ipv4_address: Optional[str] = None
     ipv6_address: Optional[str] = None
-    members: Optional[list] = 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: Optional[str] = None
-    geant_a_sid: Optional[str] = None
-    ipv4_address: Optional[str] = None
-    ipv6_address: Optional[str] = None
-    members: Optional[list] = None
+    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]):
@@ -36,4 +36,4 @@ class TrunkConfigSideBlock(TrunkConfigSideBlockProvisioning, lifecycle=[Subscrip
     geant_a_sid: str
     ipv4_address: str
     ipv6_address: str
-    members: list
+    members: List[str]
diff --git a/geant_service_orchestrator/workflows/trunk/create_trunk.py b/geant_service_orchestrator/workflows/trunk/create_trunk.py
index f994aff805ec02c799ff96bdade5a27cda4b5ada..78a2604a47b2b710d684459c71dd040108f35d86 100644
--- a/geant_service_orchestrator/workflows/trunk/create_trunk.py
+++ b/geant_service_orchestrator/workflows/trunk/create_trunk.py
@@ -1,4 +1,3 @@
-from typing import Optional
 from uuid import uuid4
 
 from orchestrator.forms import FormPage
@@ -17,7 +16,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
             title = product_name
 
         trunk_name: str
-        geant_s_sid: Optional[str]
+        geant_s_sid: str
 
     user_input = yield CreateTrunkForm
 
diff --git a/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py b/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py
index 6338f7704d0915ce54d3ca54c67e80f2c3beabbc..a038329b04cf4864dbda325e8200d562dacac4b1 100644
--- a/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py
+++ b/geant_service_orchestrator/workflows/trunk_config/create_trunk_config.py
@@ -1,4 +1,4 @@
-from typing import List, Optional
+from typing import List
 from uuid import uuid4
 from random import randint
 
@@ -49,7 +49,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
 
 def _provision_in_gap() -> int:
 
-    return random.randint(0, 2147483648)
+    return randint(0, 2147483648)
 
 
 @step("Create subscription")
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
index 7569b462e1fb30a86486bfe5a46705851191af1c..ba3b60b53b5c31aa24108471c2b43f11eaf6aadd 100644
--- 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
@@ -1,5 +1,6 @@
-from typing import List, Optional
+from typing import List
 from uuid import uuid4
+from random import randint
 
 from orchestrator.db.models import ProductTable, SubscriptionTable
 from orchestrator.forms import FormPage
@@ -40,7 +41,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
             title = product_name
 
         speed: str
-        is_leased_line: Optional[bool]
+        is_leased_line: bool
         isis_metric: int
         minimum_links: int
         trunk_config_ids: trunk_config_selector()  # type:ignore
@@ -52,7 +53,7 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
 
 def _provision_in_gap() -> int:
 
-    return random.randint(0, 2147483648)
+    return randint(0, 2147483648)
 
 
 @step("Create subscription")
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
index c7a89ef64685b10f909c3da5772252dbd66d2554..b0f57fa00e8e6ab8413c01044556f2aabe4c5e73 100644
--- 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
@@ -40,11 +40,11 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
             title = product_name
 
         fqdn: str
-        ae_name: Optional[str]
-        geant_a_sid: Optional[str]
+        ae_name: str
+        geant_a_sid: str
         ipv4_address: Optional[str]
         ipv6_address: Optional[str]
-        members: Optional[list]
+        members: List[str]
         trunk_config_ids: trunk_config_selector()  # type:ignore
 
     user_input = yield CreateTrunkConfigSideForm