<?php
// This file was auto-generated
return [
//    'version' => '',
    'metadata' =>
    [
//        'apiVersion' => '',
//        'endpointPrefix' => 'quota',
        'protocol' => 'json',
//        'serviceFullName' => 'quota',
//        'serviceId' => 'quota',
    ],
    'operations' => [
        'VerifyUserQuota' => [
            'name' => 'VerifyUserQuota',
            'http' => [
                'method' => 'POST',
                'requestUri' => '/v2/regions/{regionId}/userQuota:verify',
            ],
            'input' => [ 'shape' => 'VerifyUserQuotaRequestShape', ],
            'output' => [ 'shape' => 'VerifyUserQuotaResponseShape', ],
        ],
        'GetUserQuotaDetail' => [
            'name' => 'GetUserQuotaDetail',
            'http' => [
                'method' => 'POST',
                'requestUri' => '/v2/regions/{regionId}/userQuota:getDetail',
            ],
            'input' => [ 'shape' => 'GetUserQuotaDetailRequestShape', ],
            'output' => [ 'shape' => 'GetUserQuotaDetailResponseShape', ],
        ],
    ],
    'shapes' => [
        'UserQuotaResVo' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'serviceName' => [ 'type' => 'string', 'locationName' => 'serviceName', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'regionName' => [ 'type' => 'string', 'locationName' => 'regionName', ],
                'userQuota' => [ 'type' => 'integer', 'locationName' => 'userQuota', ],
                'maxUserQuota' => [ 'type' => 'integer', 'locationName' => 'maxUserQuota', ],
                'expireTime' => [ 'type' => 'string', 'locationName' => 'expireTime', ],
                'availableQuota' => [ 'type' => 'integer', 'locationName' => 'availableQuota', ],
                'preOccupyAmount' => [ 'type' => 'integer', 'locationName' => 'preOccupyAmount', ],
                'createdTime' => [ 'type' => 'string', 'locationName' => 'createdTime', ],
                'updatedTime' => [ 'type' => 'string', 'locationName' => 'updatedTime', ],
                'resourceId' => [ 'type' => 'string', 'locationName' => 'resourceId', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'productName' => [ 'type' => 'string', 'locationName' => 'productName', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'quotaAmount' => [ 'type' => 'integer', 'locationName' => 'quotaAmount', ],
                'quotaBeyondFlag' => [ 'type' => 'boolean', 'locationName' => 'quotaBeyondFlag', ],
                'isSubResource' => [ 'type' => 'string', 'locationName' => 'isSubResource', ],
                'failReason' => [ 'type' => 'string', 'locationName' => 'failReason', ],
            ],
        ],
        'VerifyUserQuotaResultShape' => [
            'type' => 'structure',
            'members' => [
                'success' => [ 'type' => 'boolean', 'locationName' => 'success', ],
                'code' => [ 'type' => 'integer', 'locationName' => 'code', ],
                'message' => [ 'type' => 'string', 'locationName' => 'message', ],
                'data' =>  [ 'shape' => 'VerifyQuotaResVo', ],
                'requestId' => [ 'type' => 'string', 'locationName' => 'requestId', ],
            ],
        ],
        'VerifyUserQuotaResponseShape' => [
            'type' => 'structure',
            'members' => [
                'result' =>  [ 'shape' => 'VerifyUserQuotaResultShape', ],
            ],
        ],
        'GetUserQuotaDetailResultShape' => [
            'type' => 'structure',
            'members' => [
                'success' => [ 'type' => 'boolean', 'locationName' => 'success', ],
                'code' => [ 'type' => 'integer', 'locationName' => 'code', ],
                'message' => [ 'type' => 'string', 'locationName' => 'message', ],
                'data' =>  [ 'shape' => 'UserQuotaResVo', ],
                'requestId' => [ 'type' => 'string', 'locationName' => 'requestId', ],
            ],
        ],
        'GetUserQuotaDetailResponseShape' => [
            'type' => 'structure',
            'members' => [
                'result' =>  [ 'shape' => 'GetUserQuotaDetailResultShape', ],
            ],
        ],
        'QuotaQueryReqVo' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'uid' => [ 'type' => 'string', 'locationName' => 'uid', ],
                'quotaAmount' => [ 'type' => 'integer', 'locationName' => 'quotaAmount', ],
            ],
        ],
        'QuotaVerifyReqVo' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'uid' => [ 'type' => 'string', 'locationName' => 'uid', ],
                'quotaAmount' => [ 'type' => 'integer', 'locationName' => 'quotaAmount', ],
            ],
        ],
        'Vo' => [
            'type' => 'structure',
            'members' => [
                'resources' => [ 'type' => 'list', 'member' => [ 'shape' => 'QuotaReqVo', ], ],
                'opType' => [ 'type' => 'string', 'locationName' => 'opType', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
            ],
        ],
        'VerifyUserQuotaRequestShape' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'uid' => [ 'type' => 'string', 'locationName' => 'uid', ],
                'quotaAmount' => [ 'type' => 'integer', 'locationName' => 'quotaAmount', ],
                'regionId' => [ 'type' => 'string', 'locationName' => 'regionId', ],
            ],
        ],
        'GetUserQuotaDetailRequestShape' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'uid' => [ 'type' => 'string', 'locationName' => 'uid', ],
                'quotaAmount' => [ 'type' => 'integer', 'locationName' => 'quotaAmount', ],
                'regionId' => [ 'type' => 'string', 'locationName' => 'regionId', ],
            ],
        ],
        'VerifyQuotaResVo' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'serviceName' => [ 'type' => 'string', 'locationName' => 'serviceName', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'regionName' => [ 'type' => 'string', 'locationName' => 'regionName', ],
                'userQuota' => [ 'type' => 'integer', 'locationName' => 'userQuota', ],
            ],
        ],
        'QuotaReqVo' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'userQuota' => [ 'type' => 'long', 'locationName' => 'userQuota', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'uid' => [ 'type' => 'string', 'locationName' => 'uid', ],
                'opType' => [ 'type' => 'int32', 'locationName' => 'opType', ],
                'preoccupyAmount' => [ 'type' => 'integer', 'locationName' => 'preoccupyAmount', ],
                'quotaAmount' => [ 'type' => 'integer', 'locationName' => 'quotaAmount', ],
                'parentResourceName' => [ 'type' => 'string', 'locationName' => 'parentResourceName', ],
            ],
        ],
        'UserQuotaReqVo' => [
            'type' => 'structure',
            'members' => [
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'availableQuota' => [ 'type' => 'integer', 'locationName' => 'availableQuota', ],
                'countSql' => [ 'type' => 'boolean', 'locationName' => 'countSql', ],
                'expireTime' => [ 'type' => 'string', 'locationName' => 'expireTime', ],
                'id' => [ 'type' => 'long', 'locationName' => 'id', ],
                'orderBy' => [ 'type' => 'string', 'locationName' => 'orderBy', ],
                'pageNum' => [ 'type' => 'integer', 'locationName' => 'pageNum', ],
                'pageSize' => [ 'type' => 'integer', 'locationName' => 'pageSize', ],
                'pageSizeZero' => [ 'type' => 'boolean', 'locationName' => 'pageSizeZero', ],
                'resourceId' => [ 'type' => 'string', 'locationName' => 'resourceId', ],
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'productName' => [ 'type' => 'string', 'locationName' => 'productName', ],
                'reasonable' => [ 'type' => 'boolean', 'locationName' => 'reasonable', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'regionQuota' => [ 'type' => 'long', 'locationName' => 'regionQuota', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'siteType' => [ 'type' => 'integer', 'locationName' => 'siteType', ],
                'usedQuota' => [ 'type' => 'integer', 'locationName' => 'usedQuota', ],
                'userQuota' => [ 'type' => 'long', 'locationName' => 'userQuota', ],
                'extraInfo' => [ 'type' => 'string', 'locationName' => 'extraInfo', ],
            ],
        ],
        'RemoteQuota' => [
            'type' => 'structure',
            'members' => [
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'name' => [ 'type' => 'string', 'locationName' => 'name', ],
                'totalInventory' => [ 'type' => 'string', 'locationName' => 'totalInventory', ],
                'usedAmount' => [ 'type' => 'string', 'locationName' => 'usedAmount', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'availableAmount' => [ 'type' => 'string', 'locationName' => 'availableAmount', ],
            ],
        ],
        'QueryRemoteQuotaResVo' => [
            'type' => 'structure',
            'members' => [
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'serviceName' => [ 'type' => 'string', 'locationName' => 'serviceName', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'regionName' => [ 'type' => 'string', 'locationName' => 'regionName', ],
                'userQuota' => [ 'type' => 'integer', 'locationName' => 'userQuota', ],
                'availableQuota' => [ 'type' => 'integer', 'locationName' => 'availableQuota', ],
                'usedQuota' => [ 'type' => 'integer', 'locationName' => 'usedQuota', ],
                'parentResourceId' => [ 'type' => 'string', 'locationName' => 'parentResourceId', ],
                'quotaBeyondFlag' => [ 'type' => 'boolean', 'locationName' => 'quotaBeyondFlag', ],
                'failReason' => [ 'type' => 'string', 'locationName' => 'failReason', ],
            ],
        ],
        'RemoteQuotaReq' => [
            'type' => 'structure',
            'members' => [
                'id' => [ 'type' => 'long', 'locationName' => 'id', ],
                'pin' => [ 'type' => 'string', 'locationName' => 'pin', ],
                'appCode' => [ 'type' => 'string', 'locationName' => 'appCode', ],
                'serviceCode' => [ 'type' => 'string', 'locationName' => 'serviceCode', ],
                'parentCode' => [ 'type' => 'string', 'locationName' => 'parentCode', ],
                'region' => [ 'type' => 'string', 'locationName' => 'region', ],
                'resourceId' => [ 'type' => 'string', 'locationName' => 'resourceId', ],
                'userQuota' => [ 'type' => 'integer', 'locationName' => 'userQuota', ],
                'reason' => [ 'type' => 'string', 'locationName' => 'reason', ],
                'expireTime' => [ 'type' => 'string', 'locationName' => 'expireTime', ],
                'updateTime' => [ 'type' => 'string', 'locationName' => 'updateTime', ],
                'extraInfo' => [ 'type' => 'string', 'locationName' => 'extraInfo', ],
            ],
        ],
    ],
];
