blob: 997d20120fce637d826764ff72e8c11f9da87c8d [file] [log] [blame]
Matthew Treinish9e26ca82016-02-23 11:43:20 -05001# Copyright 2015 NEC Corporation. All rights reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
15from tempest.lib.services.network import base
16
17
18class QuotasClient(base.BaseNetworkClient):
19
20 def update_quotas(self, tenant_id, **kwargs):
jeremy.zhang84b51f32017-12-21 20:20:15 +080021 """Update quota for a project.
22
23 For a full list of available parameters, please refer to the official
24 API reference:
Andreas Jaegerbf30ae72019-07-22 19:22:57 +020025 https://docs.openstack.org/api-ref/network/v2/index.html#update-quota-for-a-project
jeremy.zhang84b51f32017-12-21 20:20:15 +080026 """
Matthew Treinish9e26ca82016-02-23 11:43:20 -050027 put_body = {'quota': kwargs}
28 uri = '/quotas/%s' % tenant_id
29 return self.update_resource(uri, put_body)
30
Ken'ichi Ohmichi12b28e92016-04-06 10:43:51 -070031 def reset_quotas(self, tenant_id): # noqa
32 # NOTE: This noqa is for passing T111 check and we cannot rename
33 # to keep backwards compatibility.
Matthew Treinish9e26ca82016-02-23 11:43:20 -050034 uri = '/quotas/%s' % tenant_id
35 return self.delete_resource(uri)
36
37 def show_quotas(self, tenant_id, **fields):
linanbj9ae6ef82019-08-09 10:08:43 +080038 """Show quota for a project.
39
40 For a full list of available parameters, please refer to the official
41 API reference:
42 https://docs.openstack.org/api-ref/network/v2/index.html#list-quotas-for-a-project
43 """
Matthew Treinish9e26ca82016-02-23 11:43:20 -050044 uri = '/quotas/%s' % tenant_id
45 return self.show_resource(uri, **fields)
46
47 def list_quotas(self, **filters):
linanbj9ae6ef82019-08-09 10:08:43 +080048 """List quotas for projects with non default quota values.
49
50 For a full list of available parameters, please refer to the official
51 API reference:
52 https://docs.openstack.org/api-ref/network/v2/index.html#list-quotas-for-projects-with-non-default-quota-values
53 """
Matthew Treinish9e26ca82016-02-23 11:43:20 -050054 uri = '/quotas'
55 return self.list_resources(uri, **filters)
jeremy.zhang6e695c92017-12-21 23:52:48 +080056
57 def show_default_quotas(self, tenant_id):
58 """List default quotas for a project."""
59 uri = '/quotas/%s/default' % tenant_id
60 return self.show_resource(uri)
jeremy.zhang1ac13b22018-02-09 15:17:21 +080061
62 def show_quota_details(self, tenant_id):
63 """Show quota details for a project."""
64 uri = '/quotas/%s/details.json' % tenant_id
65 return self.show_resource(uri)