Allow to delete a resource type

Change-Id: I7d078e879988a735fe28b0d8bef6ad2d4ca8a354
This commit is contained in:
Mehdi Abaakouk 2016-04-13 09:30:02 +02:00
parent 5e48d938ca
commit bb6e446fa1
4 changed files with 43 additions and 0 deletions

View File

@ -50,6 +50,7 @@ class GnocchiCommandManager(commandmanager.CommandManager):
"resource-type list": resource_type_cli.CliResourceTypeList,
"resource-type create": resource_type_cli.CliResourceTypeCreate,
"resource-type show": resource_type_cli.CliResourceTypeShow,
"resource-type delete": resource_type_cli.CliResourceTypeDelete,
"archive-policy list": archive_policy_cli.CliArchivePolicyList,
"archive-policy show": archive_policy_cli.CliArchivePolicyShow,
"archive-policy create": archive_policy_cli.CliArchivePolicyCreate,

View File

@ -46,3 +46,24 @@ class ResourceTypeClientTest(base.ClientTestBase):
self.assertEqual(
"max_length=16, min_length=0, required=True, type=string",
resource["attributes/foo"])
# DELETE
result = self.gnocchi('resource-type',
params="delete %s" % self.RESOURCE_TYPE)
self.assertEqual("", result)
# DELETE AGAIN
result = self.gnocchi('resource-type',
params="delete %s" % self.RESOURCE_TYPE,
fail_ok=True, merge_stderr=True)
self.assertFirstLineStartsWith(
result.split('\n'),
"Resource type %s does not exist (HTTP 404)" % self.RESOURCE_TYPE)
# SHOW AGAIN
result = self.gnocchi(u'resource-type',
params=u"show %s" % self.RESOURCE_TYPE,
fail_ok=True, merge_stderr=True)
self.assertFirstLineStartsWith(
result.split('\n'),
"Resource type %s does not exist (HTTP 404)" % self.RESOURCE_TYPE)

View File

@ -42,3 +42,11 @@ class ResourceTypeManager(base.Manager):
"""
return self._get(self.url + name,
headers={'Content-Type': "application/json"}).json()
def delete(self, name):
"""Delete a resource type
:param resource_type: Resource type
:type resource_type: dict
"""
self._delete(self.url + name)

View File

@ -10,6 +10,7 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from cliff import command
from cliff import lister
from cliff import show
from oslo_utils import strutils
@ -91,3 +92,15 @@ class CliResourceTypeShow(show.ShowOne):
res = self.app.client.resource_type.get(name=parsed_args.name)
utils.format_resource_type(res)
return self.dict2columns(res)
class CliResourceTypeDelete(command.Command):
"""Delete a resource type"""
def get_parser(self, prog_name):
parser = super(CliResourceTypeDelete, self).get_parser(prog_name)
parser.add_argument("name", help="name of the resource type")
return parser
def take_action(self, parsed_args):
self.app.client.resource_type.delete(parsed_args.name)