diff --git a/cinderclient/tests/v2/test_types.py b/cinderclient/tests/v2/test_types.py index 108cbbab3..674a13a50 100644 --- a/cinderclient/tests/v2/test_types.py +++ b/cinderclient/tests/v2/test_types.py @@ -54,8 +54,11 @@ class TypesTest(utils.TestCase): self.assertIsInstance(t, volume_types.VolumeType) def test_update(self): - t = cs.volume_types.update('1', 'test_desc_1') - cs.assert_called('PUT', '/types/1') + t = cs.volume_types.update('1', 'test_type_1', 'test_desc_1') + cs.assert_called('PUT', + '/types/1', + {'volume_type': {'name': 'test_type_1', + 'description': 'test_desc_1'}}) self.assertIsInstance(t, volume_types.VolumeType) def test_get(self): diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py index 6c3ab10f6..47811fa0a 100644 --- a/cinderclient/v2/shell.py +++ b/cinderclient/v2/shell.py @@ -752,13 +752,16 @@ def do_type_default(cs, args): @utils.arg('id', metavar='<id>', help="ID of the volume type.") -@utils.arg('description', +@utils.arg('--name', + metavar='<name>', + help="Name of the volume type.") +@utils.arg('--description', metavar='<description>', help="Description of the volume type.") @utils.service_type('volumev2') def do_type_update(cs, args): - """Updates volume type description.""" - vtype = cs.volume_types.update(args.id, args.description) + """Updates volume type name and/or description.""" + vtype = cs.volume_types.update(args.id, args.name, args.description) _print_volume_type_list([vtype]) diff --git a/cinderclient/v2/volume_types.py b/cinderclient/v2/volume_types.py index 34eb7ebe2..7eda7355b 100644 --- a/cinderclient/v2/volume_types.py +++ b/cinderclient/v2/volume_types.py @@ -128,16 +128,18 @@ class VolumeTypeManager(base.ManagerWithFind): return self._create("/types", body, "volume_type") - def update(self, volume_type, description): - """Update the description for a volume type. + def update(self, volume_type, name=None, description=None): + """Update the name and/or description for a volume type. :param volume_type: The ID of the :class:`VolumeType` to update. + :param name: Descriptive name of the volume type. :param description: Description of the the volume type. :rtype: :class:`VolumeType` """ body = { "volume_type": { + "name": name, "description": description } }