support template add and delete
support for template add and template delete not in use until vitrage backend support the changes. Change-Id: I07741ed100b9eb70b303567706b659d10a34b156 Implements: blueprint crud-templates
This commit is contained in:
parent
0c398e3704
commit
91c90350d1
@ -20,7 +20,9 @@ _vitrage()
|
|||||||
cmds_resource='list show'
|
cmds_resource='list show'
|
||||||
cmds_resource_list='-h --help -f --format -c --column --max-width --print-empty --noindent --quote --type --all-tenants'
|
cmds_resource_list='-h --help -f --format -c --column --max-width --print-empty --noindent --quote --type --all-tenants'
|
||||||
cmds_resource_show='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix'
|
cmds_resource_show='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix'
|
||||||
cmds_template='list show validate'
|
cmds_template='list show validate add delete'
|
||||||
|
cmds_template_add='-h --help --path --type'
|
||||||
|
cmds_template_delete='-h --help'
|
||||||
cmds_template_list='-h --help -f --format -c --column --max-width --print-empty --noindent --quote'
|
cmds_template_list='-h --help -f --format -c --column --max-width --print-empty --noindent --quote'
|
||||||
cmds_template_show='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix'
|
cmds_template_show='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix'
|
||||||
cmds_template_validate='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix --path'
|
cmds_template_validate='-h --help -f --format -c --column --max-width --print-empty --noindent --variable --prefix --path'
|
||||||
|
@ -58,6 +58,8 @@ class VitrageCommandManager(commandmanager.CommandManager):
|
|||||||
'template validate': template.TemplateValidate,
|
'template validate': template.TemplateValidate,
|
||||||
'template list': template.TemplateList,
|
'template list': template.TemplateList,
|
||||||
'template show': template.TemplateShow,
|
'template show': template.TemplateShow,
|
||||||
|
'template add': template.TemplateAdd,
|
||||||
|
'template delete': template.TemplateDelete,
|
||||||
'event post': event.EventPost,
|
'event post': event.EventPost,
|
||||||
'healthcheck': healthcheck.HealthCheck,
|
'healthcheck': healthcheck.HealthCheck,
|
||||||
'webhook delete': webhook.WebhookDelete,
|
'webhook delete': webhook.WebhookDelete,
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from cliff import command
|
||||||
from cliff import lister
|
from cliff import lister
|
||||||
from cliff import show
|
from cliff import show
|
||||||
|
|
||||||
@ -50,11 +51,15 @@ class TemplateList(lister.Lister):
|
|||||||
|
|
||||||
def take_action(self, parsed_args):
|
def take_action(self, parsed_args):
|
||||||
templates = utils.get_client(self).template.list()
|
templates = utils.get_client(self).template.list()
|
||||||
return utils.list2cols(('uuid',
|
# TODO(ikinory): add type to the table.
|
||||||
'name',
|
return utils.list2cols_with_rename(
|
||||||
'status',
|
(
|
||||||
'status details',
|
('UUID', 'uuid'),
|
||||||
'date'), templates)
|
('Name', 'name'),
|
||||||
|
('Status', 'status'),
|
||||||
|
('Status details', 'status details'),
|
||||||
|
('Date', 'date'),
|
||||||
|
), templates)
|
||||||
|
|
||||||
|
|
||||||
class TemplateShow(show.ShowOne):
|
class TemplateShow(show.ShowOne):
|
||||||
@ -73,3 +78,55 @@ class TemplateShow(show.ShowOne):
|
|||||||
uuid = parsed_args.uuid
|
uuid = parsed_args.uuid
|
||||||
template = utils.get_client(self).template.show(uuid=uuid)
|
template = utils.get_client(self).template.show(uuid=uuid)
|
||||||
return self.dict2columns(template)
|
return self.dict2columns(template)
|
||||||
|
|
||||||
|
|
||||||
|
class TemplateAdd(lister.Lister):
|
||||||
|
"""Template add
|
||||||
|
|
||||||
|
support 3 types of templates:
|
||||||
|
standard, definition, equivalence
|
||||||
|
"""
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(TemplateAdd, self).get_parser(prog_name)
|
||||||
|
parser.add_argument('--path',
|
||||||
|
required=True,
|
||||||
|
help='full path for template file or templates dir'
|
||||||
|
)
|
||||||
|
parser.add_argument('--type',
|
||||||
|
choices=['standard', 'definition', 'equivalence'],
|
||||||
|
help='Template type. Valid types:'
|
||||||
|
'[standard, definition, equivalence]')
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
path = parsed_args.path
|
||||||
|
template_type = parsed_args.type
|
||||||
|
templates = utils.get_client(self).template.add(
|
||||||
|
path=path, template_type=template_type)
|
||||||
|
return utils.list2cols_with_rename(
|
||||||
|
(
|
||||||
|
('UUID', 'uuid'),
|
||||||
|
('Name', 'name'),
|
||||||
|
('Status', 'status'),
|
||||||
|
('Status details', 'status details'),
|
||||||
|
('Date', 'date'),
|
||||||
|
('Type', 'type'),
|
||||||
|
), templates)
|
||||||
|
|
||||||
|
|
||||||
|
class TemplateDelete(command.Command):
|
||||||
|
"""Template delete"""
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(TemplateDelete, self).get_parser(prog_name)
|
||||||
|
parser.add_argument('uuid', help='ID of a template')
|
||||||
|
return parser
|
||||||
|
|
||||||
|
@property
|
||||||
|
def formatter_default(self):
|
||||||
|
return 'json'
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
uuid = parsed_args.uuid
|
||||||
|
utils.get_client(self).template.delete(uuid=uuid)
|
||||||
|
@ -35,6 +35,17 @@ class Template(object):
|
|||||||
url = self.url + uuid
|
url = self.url + uuid
|
||||||
return self.api.get(url).json()
|
return self.api.get(url).json()
|
||||||
|
|
||||||
|
def add(self, path, template_type):
|
||||||
|
"""Add a new template"""
|
||||||
|
|
||||||
|
params = dict(path=path, template_type=template_type)
|
||||||
|
return self.api.put(self.url, json=params).json()
|
||||||
|
|
||||||
|
def delete(self, uuid):
|
||||||
|
"""Delete existing"""
|
||||||
|
params = dict(uuid=uuid)
|
||||||
|
return self.api.delete(self.url, json=params).json()
|
||||||
|
|
||||||
def validate(self, path=None):
|
def validate(self, path=None):
|
||||||
"""Template validation
|
"""Template validation
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user