def parse(self, workflow_plugins_to_install, deployment_plugins_to_install, scaling_groups): return models.Plan({ constants.DESCRIPTION: self.child(misc.Description).value, constants.NODES: self.child(node_templates.NodeTemplates).value, constants.RELATIONSHIPS: self.child(relationships.Relationships).value, constants.WORKFLOWS: self.child(workflows.Workflows).value, constants.POLICY_TYPES: self.child(policies.PolicyTypes).value, constants.POLICY_TRIGGERS: self.child(policies.PolicyTriggers).value, constants.POLICIES: self.child(policies.Policies).value, constants.GROUPS: self.child(policies.Groups).value, constants.SCALING_GROUPS: scaling_groups or {}, constants.INPUTS: self.child(misc.Inputs).value, constants.OUTPUTS: self.child(misc.Outputs).value, constants.DEPLOYMENT_PLUGINS_TO_INSTALL: deployment_plugins_to_install, constants.WORKFLOW_PLUGINS_TO_INSTALL: workflow_plugins_to_install, constants.VERSION: self.child(_version.ToscaDefinitionsVersion).value })
def prepare_deployment_plan(plan, inputs=None, **kwargs): """ Prepare a plan for deployment """ plan = models.Plan(copy.deepcopy(plan)) _set_plan_inputs(plan, inputs) _process_functions(plan) return multi_instance.create_deployment_plan(plan)
def prepare_deployment_plan(plan, get_secret_method=None, inputs=None, **_): """ Prepare a plan for deployment """ plan = models.Plan(copy.deepcopy(plan)) _set_plan_inputs(plan, inputs) _process_functions(plan) _validate_secrets(plan, get_secret_method) return multi_instance.create_deployment_plan(plan)
def create_multi_instance_plan(plan): """ Expand node instances based on number of instances to deploy and defined relationships """ graph = rel_graph.build_initial_node_graph(plan) m_graph = rel_graph.build_multi_instance_node_graph(graph) m_plan = rel_graph.create_multi_instance_plan_from_multi_instance_graph( plan, m_graph) return models.Plan(m_plan)
def parse(self, workflow_plugins_to_install, plugins_to_install, scaling_groups): return models.Plan({ constants.DESCRIPTION: self.child(misc.Description).value, constants.METADATA: self.child(misc.Metadata).value, constants.NODES: self.child(node_templates.NodeTemplates).value, constants.RELATIONSHIPS: self.child(relationships.Relationships).value, constants.WORKFLOWS: self.child(workflows.Workflows).value, constants.POLICY_TYPES: self.child(policies.PolicyTypes).value, constants.POLICY_TRIGGERS: self.child(policies.PolicyTriggers).value, constants.POLICIES: self.child(policies.Policies).value, constants.GROUPS: self.child(policies.Groups).value, constants.SCALING_GROUPS: scaling_groups or {}, constants.INPUTS: self.child(inputs.Inputs).value, constants.OUTPUTS: self.child(misc.Outputs).value, constants.DEPLOYMENT_PLUGINS_TO_INSTALL: plugins_to_install[constants.DEPLOYMENT_PLUGINS_TO_INSTALL], constants.WORKFLOW_PLUGINS_TO_INSTALL: workflow_plugins_to_install, constants.HOST_AGENT_PLUGINS_TO_INSTALL: plugins_to_install[constants.HOST_AGENT_PLUGINS_TO_INSTALL], constants.VERSION: self.child(_version.ToscaDefinitionsVersion).value, constants.CAPABILITIES: self.child(misc.Capabilities).value, constants.IMPORTED_BLUEPRINTS: self.child(misc.ImportedBlueprints).value, constants.NAMESPACES_MAPPING: self.child(misc.NamespacesMapping).value, constants.DATA_TYPES: self.child(data_types.DataTypes).value, constants.LABELS: self.child(misc.Labels).value, constants.BLUEPRINT_LABELS: self.child(misc.BlueprintLabels).value, constants.RESOURCE_TAGS: self.child(misc.ResourceTags).value, constants.DEPLOYMENT_SETTINGS: self.child(misc.DeploymentSettings).value })
def create_deployment_plan(plan): """ Expand node instances based on number of instances to deploy and defined relationships """ plan_node_graph = rel_graph.build_node_graph(plan['nodes']) deployment_node_graph = rel_graph.build_deployment_node_graph( plan_node_graph) node_instances = rel_graph.extract_node_instances( node_instances_graph=deployment_node_graph) deployment_plan = copy.deepcopy(plan) deployment_plan[constants.NODE_INSTANCES] = node_instances return models.Plan(deployment_plan)
def create_deployment_plan(plan, existing_ni_ids=None): """ Expand node instances based on number of instances to deploy and defined relationships """ deployment_plan = copy.deepcopy(plan) plan_node_graph = rel_graph.build_node_graph( nodes=deployment_plan['nodes'], scaling_groups=deployment_plan['scaling_groups']) deployment_node_graph, ctx = rel_graph.build_deployment_node_graph( plan_node_graph, existing_ni_ids=existing_ni_ids) node_instances = rel_graph.extract_node_instances( node_instances_graph=deployment_node_graph, ctx=ctx) deployment_plan[constants.NODE_INSTANCES] = node_instances return models.Plan(deployment_plan)
def prepare_deployment_plan(plan, get_secret_method=None, inputs=None, runtime_only_evaluation=False, auto_correct_types=False, values_getter=None, existing_ni_ids=None, **_): """ Prepare a plan for deployment """ plan = models.Plan(copy.deepcopy(plan)) _set_plan_inputs(plan, inputs, auto_correct_types, values_getter) _process_functions(plan, runtime_only_evaluation) _validate_secrets(plan, get_secret_method) return multi_instance.create_deployment_plan(plan, existing_ni_ids)