summaryrefslogtreecommitdiffstats
path: root/conductor/conductor/data/plugins/inventory_provider/candidates/candidate.py
diff options
context:
space:
mode:
Diffstat (limited to 'conductor/conductor/data/plugins/inventory_provider/candidates/candidate.py')
-rw-r--r--conductor/conductor/data/plugins/inventory_provider/candidates/candidate.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/conductor/conductor/data/plugins/inventory_provider/candidates/candidate.py b/conductor/conductor/data/plugins/inventory_provider/candidates/candidate.py
new file mode 100644
index 0000000..7f241c3
--- /dev/null
+++ b/conductor/conductor/data/plugins/inventory_provider/candidates/candidate.py
@@ -0,0 +1,52 @@
+#
+# -------------------------------------------------------------------------
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# -------------------------------------------------------------------------
+#
+
+class Candidate:
+ def __init__(self, info):
+ self.candidate_id = info.get('candidate_id')
+ if info.get('candidate_type'):
+ self.candidate_type = info.get('candidate_type')
+ self.inventory_provider = info.get('inventory_provider')
+ self.inventory_type = info.get('inventory_type')
+ self.uniqueness = info.get('uniqueness')
+ self.cost = info.get('cost')
+ self.service_resource_id = info.get('service_resource_id', None)
+
+ def convert_nested_dict_to_dict(self):
+ candidate = dict()
+ nested_dict = self.__dict__
+ keys = nested_dict.keys()
+ for key in keys:
+ if type(nested_dict.get(key)) == dict:
+ candidate.update(nested_dict.get(key, {}))
+ else:
+ candidate[key] = nested_dict.get(key, "")
+ return candidate
+
+ @staticmethod
+ def build_candidate_info(inv_prov, inv_type, cost, uniqueness, id, service_resource_id=None):
+ info = dict()
+ info['candidate_id'] = id
+ # info['candidate_type']
+ info['inventory_provider'] = inv_prov
+ info['inventory_type'] = inv_type
+ info['uniqueness'] = uniqueness
+ info['cost'] = cost
+ info['service_resource_id'] = service_resource_id
+ return info