Completed
Pull Request — master (#2836)
by Edward
08:46
created

PackBranch.__init__()   A

Complexity

Conditions 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 1
dl 0
loc 13
rs 9.4285
c 2
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 st2client.models import Pack
17
from st2client.commands import resource
18
19
20
class PackBranch(resource.ResourceBranch):
21
    def __init__(self, description, app, subparsers, parent_parser=None):
22
        super(PackBranch, self).__init__(
23
            Pack, description, app, subparsers,
24
            parent_parser=parent_parser,
25
            read_only=True,
26
            commands={
27
                'list': PackListCommand
28
            })
29
30
        self.commands['search'] = PackSearchCommand(self.resource, self.app, self.subparsers)
31
        self.commands['install'] = PackInstallCommand(self.resource, self.app, self.subparsers)
32
        self.commands['uninstall'] = PackUninstallCommand(self.resource, self.app, self.subparsers)
33
        self.commands['register'] = PackRegisterCommand(self.resource, self.app, self.subparsers)
34
35
36
class PackSearchCommand(resource.ContentPackResourceListCommand):
37
    display_attributes = ['all']
38
39
40
class PackListCommand(resource.ContentPackResourceListCommand):
41
    display_attributes = ['all']
42
43
44
class PackInstallCommand(resource.ContentPackResourceListCommand):
45
    display_attributes = ['all']
46
47
48
class PackUninstallCommand(resource.ContentPackResourceGetCommand):
49
    display_attributes = ['all']
50
51
52
class PackRegisterCommand(resource.ContentPackResourceEnableCommand):
53
    display_attributes = ['all']
54