Skip to content
Snippets Groups Projects
Commit 4ea0b717 authored by JORGE SASIAIN's avatar JORGE SASIAIN
Browse files

Register workflows

parent 8855b523
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ from orchestrator.cli.main import app as core_cli
from orchestrator.settings import AppSettings
import products
import workflows
app = OrchestratorCore(base_settings=AppSettings())
......
"""add workflows.
Revision ID: 69a2eb84aae4
Revises: b815abc87ce9
Create Date: 2023-01-16 08:33:12.302351
"""
import sqlalchemy as sa
from alembic import op
from orchestrator.migrations.helpers import create_workflow, delete_workflow
from orchestrator.targets import Target
# revision identifiers, used by Alembic.
revision = '69a2eb84aae4'
down_revision = 'b815abc87ce9'
branch_labels = None
depends_on = None
new_workflows = [
{
"name": "create_node",
"target": Target.CREATE,
"description": "Create node",
"product_type": "Node",
},
{
"name": "modify_node",
"target": Target.MODIFY,
"description": "Modify node",
"product_type": "Node",
},
{
"name": "terminate_node",
"target": Target.TERMINATE,
"description": "Terminate node",
"product_type": "Node",
},
{
"name": "create_line_card",
"target": Target.CREATE,
"description": "Create line card",
"product_type": "LineCard",
},
{
"name": "modify_line_card",
"target": Target.MODIFY,
"description": "Modify line card",
"product_type": "LineCard",
},
{
"name": "terminate_node",
"target": Target.TERMINATE,
"description": "Terminate line card",
"product_type": "LineCard",
},
{
"name": "create_port",
"target": Target.CREATE,
"description": "Create port",
"product_type": "Port",
},
{
"name": "modify_port",
"target": Target.MODIFY,
"description": "Modify port",
"product_type": "Port",
},
{
"name": "terminate_port",
"target": Target.TERMINATE,
"description": "Terminate port",
"product_type": "Port",
},
]
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"])
from orchestrator.workflows import LazyWorkflowInstance
LazyWorkflowInstance("workflows.user_group.create_node", "create_node")
LazyWorkflowInstance("workflows.user_group.modify_node", "modify_node")
LazyWorkflowInstance("workflows.user_group.terminate_node", "terminate_node")
LazyWorkflowInstance("workflows.user.create_line_card", "create_line_card")
LazyWorkflowInstance("workflows.user.modify_line_card", "modify_line_card")
LazyWorkflowInstance("workflows.user.terminate_line_card", "terminate_line_card")
LazyWorkflowInstance("workflows.user_group.create_port", "create_port")
LazyWorkflowInstance("workflows.user_group.modify_port", "modify_port")
LazyWorkflowInstance("workflows.user_group.terminate_port", "terminate_port")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment