Allow to delete a resource type
Change-Id: I7d078e879988a735fe28b0d8bef6ad2d4ca8a354
This commit is contained in:
parent
5e48d938ca
commit
bb6e446fa1
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue