# Copyright 2014 NEC Corporation. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. get_limit = { 'status_code': [200], 'response_body': { 'type': 'object', 'properties': { 'limits': { 'type': 'object', 'properties': { 'absolute': { 'type': 'object', 'properties': { 'maxTotalRAMSize': {'type': 'integer'}, 'totalCoresUsed': {'type': 'integer'}, 'maxTotalInstances': {'type': 'integer'}, 'maxTotalFloatingIps': {'type': 'integer'}, 'totalSecurityGroupsUsed': {'type': 'integer'}, 'maxTotalCores': {'type': 'integer'}, 'totalFloatingIpsUsed': {'type': 'integer'}, 'maxSecurityGroups': {'type': 'integer'}, 'maxServerMeta': {'type': 'integer'}, 'maxPersonality': {'type': 'integer'}, 'maxImageMeta': {'type': 'integer'}, 'maxPersonalitySize': {'type': 'integer'}, 'maxSecurityGroupRules': {'type': 'integer'}, 'maxTotalKeypairs': {'type': 'integer'}, 'totalRAMUsed': {'type': 'integer'}, 'totalInstancesUsed': {'type': 'integer'}, 'maxServerGroupMembers': {'type': 'integer'}, 'maxServerGroups': {'type': 'integer'}, 'totalServerGroupsUsed': {'type': 'integer'} }, 'additionalProperties': False, # NOTE(gmann): maxServerGroupMembers, maxServerGroups # and totalServerGroupsUsed are API extension, # and some environments return a response without these # attributes.So they are not 'required'. 'required': ['maxImageMeta', 'maxPersonality', 'maxPersonalitySize', 'maxSecurityGroupRules', 'maxSecurityGroups', 'maxServerMeta', 'maxTotalCores', 'maxTotalFloatingIps', 'maxTotalInstances', 'maxTotalKeypairs', 'maxTotalRAMSize', 'totalCoresUsed', 'totalFloatingIpsUsed', 'totalInstancesUsed', 'totalRAMUsed', 'totalSecurityGroupsUsed'] }, 'rate': { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'limit': { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'next-available': {'type': 'string'}, 'remaining': {'type': 'integer'}, 'unit': {'type': 'string'}, 'value': {'type': 'integer'}, 'verb': {'type': 'string'} }, 'additionalProperties': False, } }, 'regex': {'type': 'string'}, 'uri': {'type': 'string'} }, 'additionalProperties': False, } } }, 'additionalProperties': False, 'required': ['absolute', 'rate'] } }, 'additionalProperties': False, 'required': ['limits'] } }