Completed
Pull Request — master (#474)
by
unknown
02:46
created

GetBuildPlans.run()   B

Complexity

Conditions 5

Size

Total Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
dl 0
loc 18
rs 8.5454
c 1
b 0
f 0
1
# Licensed to the StackStorm, Inc ('StackStorm') under one or more
2
# contributor license agreements.  See the NOTICE file distributed with
3
# this work for additional information regarding copyright ownership.
4
# The ASF licenses this file to You under the Apache License, Version 2.0
5
# (the "License"); you may not use this file except in compliance with
6
# the License.  You may obtain a copy of the License at
7
#
8
#     http://www.apache.org/licenses/LICENSE-2.0
9
#
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 implied.
13
# See the License for the specific language governing permissions and
14
# limitations under the License.
15
16
from lib.icsp import ICSPBaseActions
17
18
19
class GetBuildPlans(ICSPBaseActions):
20
    def run(self, plan_names=None, connection_details=None):
21
        self.set_connection(connection_details)
22
        self.get_sessionid()
23
24
        endpoint = "/rest/os-deployment-build-plans"
25
        results = self.icsp_get(endpoint)
26
        plans = []
27
        for plan in results["members"]:
28
            if plan_names:
29
                for name in plan_names:
30
                    if name.lower() == str(plan["name"]).lower():
31
                        uri = self.extract_id(plan["uri"])
32
                        plans.append({"name": plan["name"], "uri": uri})
33
            else:
34
                uri = self.extract_id(plan["uri"])
35
                plans.append({"name": plan["name"], "uri": uri})
36
37
        return {"plans": plans}
38