181bc75bbbbb3ae7f5aac22b11bbd8a18a32335a
1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
18 from abc
import abstractmethod
19 from dataclasses
import dataclass
21 from osm_common
.temporal
.dataclasses_common
import CharmInfo
, VduComputeConstraints
22 from osm_common
.temporal
.workflows
.base
import BaseWorkflow
25 class VduInstantiateWorkflow(BaseWorkflow
):
26 """Instantiate a VDU"""
31 Input dataclass for workflow that instantiates a VDU.
37 charm_info : CharmInfo
39 constraints: VduComputeConstraints
43 config: Config details of application
49 constraints
: VduComputeConstraints
54 async def run(self
, workflow_input
: Input
) -> None:
58 class VduTerminateWorkflow(BaseWorkflow
):
64 Input dataclass for workflow that terminates a VDU.
67 The UUID of the VIM as stored in the OSM vim_accounts
71 Name of the model in Juju where the charm to be removed.
74 Name of the application whose removal is going to be
83 async def run(self
, workflow_input
: Input
) -> None: