Module pypowerautomate.actions.flowmanagement
Expand source code
import uuid
from typing import List, Dict
from .base import BaseAction
from ..connections import Connections
class CreateFlowAction(BaseAction):
"""
Class to define the action of creating a flow. It translates defined string variables into JSON and aims to create a flow based on this JSON.
Attributes:
connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API.
"""
connection_host = {
"apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement",
"connectionName": "shared_flowmanagement",
"operationId": "CreateFlow"
}
def __init__(self, name: str):
"""
Initializes a new instance of the CreateFlowAction.
Args:
name (str): The name of the action.
"""
super().__init__(name)
self.type = "OpenApiConnection"
self.inputs = {}
self.parameters = {}
self.inputs["host"] = CreateFlowAction.connection_host
self.inputs["parameters"] = {}
def set_parameters(self, display_name: str, var_name: str, connection_ref: Connections):
"""
Sets the parameters required for the flow creation.
Args:
display_name (str): The display name of the flow.
var_name (str): The variable name in the workflow that holds the flow definition.
connection_ref (Connections): The connection references needed for the flow.
"""
self.parameters["environmentName"] = "@workflow()?['tags/environmentName']"
self.parameters["Flow/properties/displayName"] = display_name
self.parameters["Flow/properties/definition"] = f"@json(variables('{var_name}'))"
self.parameters["Flow/properties/state"] = "Started"
self.parameters["Flow/properties/connectionReferences"] = connection_ref.export()
self.inputs["parameters"] = self.parameters
def export(self) -> Dict:
"""
Exports the current state and parameters of this action in a dictionary format.
Returns:
Dict: The dictionary containing action details and parameters.
"""
d = {}
d["metadata"] = self.metadata
d["type"] = self.type
d["runAfter"] = self.runafter
d["inputs"] = self.inputs
return d
class DeleteFlowAction(BaseAction):
"""
Class to define the action of deleting a flow.
Attributes:
connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API.
"""
connection_host = {
"apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement",
"connectionName": "shared_flowmanagement",
"operationId": "DeleteFlow"
}
def __init__(self, name: str):
"""
Initializes a new instance of the DeleteFlowAction.
Args:
name (str): The name of the action.
"""
super().__init__(name)
self.type = "OpenApiConnection"
self.inputs = {}
self.parameters = {}
self.inputs["host"] = DeleteFlowAction.connection_host
self.inputs["parameters"] = {
"environmentName": "@workflow()?['tags/environmentName']",
"flowName": "@workflow()?['tags']?['logicAppName']"
}
def export(self) -> Dict:
"""
Exports the current state and parameters of this action in a dictionary format.
Returns:
Dict: The dictionary containing action details and parameters.
"""
d = {}
d["metadata"] = self.metadata
d["runAfter"] = self.runafter
d["type"] = self.type
d["inputs"] = self.inputs
return d
class ListConnectionsAction(BaseAction):
"""
Class to define the action to retrieve a list of active connections in an account.
Attributes:
connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API.
"""
connection_host = {
"apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement",
"connectionName": "shared_flowmanagement",
"operationId": "ListConnections"
}
def __init__(self, name: str):
"""
Initializes a new instance of the ListConnectionsAction.
Args:
name (str): The name of the action.
"""
super().__init__(name)
self.type = "OpenApiConnection"
self.inputs = {}
self.parameters = {}
self.inputs["host"] = ListConnectionsAction.connection_host
self.inputs["parameters"] = {
"environmentName": "@workflow()?['tags/environmentName']",
}
def export(self) -> Dict:
"""
Exports the current state and parameters of this action in a dictionary format.
Returns:
Dict: The dictionary containing action details and parameters.
"""
d = {}
d["metadata"] = self.metadata
d["runAfter"] = self.runafter
d["type"] = self.type
d["inputs"] = self.inputs
return d
class ListUserEnvironmentsAction(BaseAction):
"""
Class to define the action to list all user environments in an account.
Attributes:
connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API.
"""
connection_host = {
"apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement",
"connectionName": "shared_flowmanagement",
"operationId": "ListUserEnvironments"
}
def __init__(self, name: str):
"""
Initializes a new instance of the ListUserEnvironmentsAction.
Args:
name (str): The name of the action.
"""
super().__init__(name)
self.type = "OpenApiConnection"
self.inputs = {}
self.parameters = {}
def export(self) -> Dict:
"""
Exports the current state and parameters of this action in a dictionary format.
Returns:
Dict: The dictionary containing action details and parameters.
"""
d = {}
d["metadata"] = self.metadata
d["runAfter"] = self.runafter
d["type"] = self.type
d["inputs"] = self.inputs
return d
Classes
class CreateFlowAction (name: str)
-
Class to define the action of creating a flow. It translates defined string variables into JSON and aims to create a flow based on this JSON.
Attributes
connection_host
:dict
- Predefined connection details for Microsoft PowerApps flow management API.
Initializes a new instance of the CreateFlowAction.
Args
name
:str
- The name of the action.
Expand source code
class CreateFlowAction(BaseAction): """ Class to define the action of creating a flow. It translates defined string variables into JSON and aims to create a flow based on this JSON. Attributes: connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API. """ connection_host = { "apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement", "connectionName": "shared_flowmanagement", "operationId": "CreateFlow" } def __init__(self, name: str): """ Initializes a new instance of the CreateFlowAction. Args: name (str): The name of the action. """ super().__init__(name) self.type = "OpenApiConnection" self.inputs = {} self.parameters = {} self.inputs["host"] = CreateFlowAction.connection_host self.inputs["parameters"] = {} def set_parameters(self, display_name: str, var_name: str, connection_ref: Connections): """ Sets the parameters required for the flow creation. Args: display_name (str): The display name of the flow. var_name (str): The variable name in the workflow that holds the flow definition. connection_ref (Connections): The connection references needed for the flow. """ self.parameters["environmentName"] = "@workflow()?['tags/environmentName']" self.parameters["Flow/properties/displayName"] = display_name self.parameters["Flow/properties/definition"] = f"@json(variables('{var_name}'))" self.parameters["Flow/properties/state"] = "Started" self.parameters["Flow/properties/connectionReferences"] = connection_ref.export() self.inputs["parameters"] = self.parameters def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["type"] = self.type d["runAfter"] = self.runafter d["inputs"] = self.inputs return d
Ancestors
Class variables
var connection_host
Methods
def export(self) ‑> Dict
-
Exports the current state and parameters of this action in a dictionary format.
Returns
Dict
- The dictionary containing action details and parameters.
Expand source code
def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["type"] = self.type d["runAfter"] = self.runafter d["inputs"] = self.inputs return d
def set_parameters(self, display_name: str, var_name: str, connection_ref: Connections)
-
Sets the parameters required for the flow creation.
Args
display_name
:str
- The display name of the flow.
var_name
:str
- The variable name in the workflow that holds the flow definition.
connection_ref
:Connections
- The connection references needed for the flow.
Expand source code
def set_parameters(self, display_name: str, var_name: str, connection_ref: Connections): """ Sets the parameters required for the flow creation. Args: display_name (str): The display name of the flow. var_name (str): The variable name in the workflow that holds the flow definition. connection_ref (Connections): The connection references needed for the flow. """ self.parameters["environmentName"] = "@workflow()?['tags/environmentName']" self.parameters["Flow/properties/displayName"] = display_name self.parameters["Flow/properties/definition"] = f"@json(variables('{var_name}'))" self.parameters["Flow/properties/state"] = "Started" self.parameters["Flow/properties/connectionReferences"] = connection_ref.export() self.inputs["parameters"] = self.parameters
Inherited members
class DeleteFlowAction (name: str)
-
Class to define the action of deleting a flow.
Attributes
connection_host
:dict
- Predefined connection details for Microsoft PowerApps flow management API.
Initializes a new instance of the DeleteFlowAction.
Args
name
:str
- The name of the action.
Expand source code
class DeleteFlowAction(BaseAction): """ Class to define the action of deleting a flow. Attributes: connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API. """ connection_host = { "apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement", "connectionName": "shared_flowmanagement", "operationId": "DeleteFlow" } def __init__(self, name: str): """ Initializes a new instance of the DeleteFlowAction. Args: name (str): The name of the action. """ super().__init__(name) self.type = "OpenApiConnection" self.inputs = {} self.parameters = {} self.inputs["host"] = DeleteFlowAction.connection_host self.inputs["parameters"] = { "environmentName": "@workflow()?['tags/environmentName']", "flowName": "@workflow()?['tags']?['logicAppName']" } def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["runAfter"] = self.runafter d["type"] = self.type d["inputs"] = self.inputs return d
Ancestors
Class variables
var connection_host
Methods
def export(self) ‑> Dict
-
Exports the current state and parameters of this action in a dictionary format.
Returns
Dict
- The dictionary containing action details and parameters.
Expand source code
def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["runAfter"] = self.runafter d["type"] = self.type d["inputs"] = self.inputs return d
Inherited members
class ListConnectionsAction (name: str)
-
Class to define the action to retrieve a list of active connections in an account.
Attributes
connection_host
:dict
- Predefined connection details for Microsoft PowerApps flow management API.
Initializes a new instance of the ListConnectionsAction.
Args
name
:str
- The name of the action.
Expand source code
class ListConnectionsAction(BaseAction): """ Class to define the action to retrieve a list of active connections in an account. Attributes: connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API. """ connection_host = { "apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement", "connectionName": "shared_flowmanagement", "operationId": "ListConnections" } def __init__(self, name: str): """ Initializes a new instance of the ListConnectionsAction. Args: name (str): The name of the action. """ super().__init__(name) self.type = "OpenApiConnection" self.inputs = {} self.parameters = {} self.inputs["host"] = ListConnectionsAction.connection_host self.inputs["parameters"] = { "environmentName": "@workflow()?['tags/environmentName']", } def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["runAfter"] = self.runafter d["type"] = self.type d["inputs"] = self.inputs return d
Ancestors
Class variables
var connection_host
Methods
def export(self) ‑> Dict
-
Exports the current state and parameters of this action in a dictionary format.
Returns
Dict
- The dictionary containing action details and parameters.
Expand source code
def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["runAfter"] = self.runafter d["type"] = self.type d["inputs"] = self.inputs return d
Inherited members
class ListUserEnvironmentsAction (name: str)
-
Class to define the action to list all user environments in an account.
Attributes
connection_host
:dict
- Predefined connection details for Microsoft PowerApps flow management API.
Initializes a new instance of the ListUserEnvironmentsAction.
Args
name
:str
- The name of the action.
Expand source code
class ListUserEnvironmentsAction(BaseAction): """ Class to define the action to list all user environments in an account. Attributes: connection_host (dict): Predefined connection details for Microsoft PowerApps flow management API. """ connection_host = { "apiId": "/providers/Microsoft.PowerApps/apis/shared_flowmanagement", "connectionName": "shared_flowmanagement", "operationId": "ListUserEnvironments" } def __init__(self, name: str): """ Initializes a new instance of the ListUserEnvironmentsAction. Args: name (str): The name of the action. """ super().__init__(name) self.type = "OpenApiConnection" self.inputs = {} self.parameters = {} def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["runAfter"] = self.runafter d["type"] = self.type d["inputs"] = self.inputs return d
Ancestors
Class variables
var connection_host
Methods
def export(self) ‑> Dict
-
Exports the current state and parameters of this action in a dictionary format.
Returns
Dict
- The dictionary containing action details and parameters.
Expand source code
def export(self) -> Dict: """ Exports the current state and parameters of this action in a dictionary format. Returns: Dict: The dictionary containing action details and parameters. """ d = {} d["metadata"] = self.metadata d["runAfter"] = self.runafter d["type"] = self.type d["inputs"] = self.inputs return d
Inherited members