'1.0', 'info' => ['style' => 'RPC', 'product' => 'opt', 'version' => '2021-07-30'], 'directories' => [ [ 'children' => ['GetOpenStatus'], 'type' => 'directory', 'title' => 'Service', ], [ 'children' => ['GetOrderInfo', 'GetOrderUsage'], 'type' => 'directory', 'title' => 'License', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'GetOpenStatus' => [ 'summary' => 'Retrieves the activation status of all services in Optimization Solver, currently including the mathematical programming service.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATUREoptZKJ6K3'], ], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The result status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Message' => ['description' => 'The result message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => ['description' => 'The detailed data. mpStatus: the activation status of the mathematical programming service. A value of 1 indicates activated, and a value of 0 indicates not activated. pk: the Alibaba Cloud account ID. parentPk: the parent account ID.', 'type' => 'object', 'example' => '{"gmtModified":"2021-07-27T04:00:00.000+00:00","mpStatus":1,"id":11,"pk":"1084126944995576","gmtCreate":"2021-07-27T04:00:00.000+00:00","parentPk":"1084126944995576"}', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0EB-FCAC-1B78-BBB8-500ED951E9EB', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid. Please check again.', 'description' => ''], ], [ ['errorCode' => 'LicenseKeyInvalid', 'errorMessage' => 'The license key format is invalid, or the license key does not belong to the user.', 'description' => ''], ], 403 => [ ['errorCode' => 'Unauthorized', 'errorMessage' => 'The user has not passed RAM verification and is not authorized to perform the operation.', 'description' => ''], ], 409 => [ ['errorCode' => 'ConcurrencyOverLimit', 'errorMessage' => 'The concurrency exceeds the upper limit allowed by the license key.', 'description' => ''], ], [ ['errorCode' => 'LicenseKeyExpired', 'errorMessage' => 'LicenseKey has expired.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Message\\": \\"success\\",\\n \\"Data\\": {\\n \\"gmtModified\\": \\"2021-07-27T04:00:00.000+00:00\\",\\n \\"mpStatus\\": 1,\\n \\"id\\": 11,\\n \\"pk\\": \\"1084126944995576\\",\\n \\"gmtCreate\\": \\"2021-07-27T04:00:00.000+00:00\\",\\n \\"parentPk\\": \\"1084126944995576\\"\\n },\\n \\"RequestId\\": \\"0EB-FCAC-1B78-BBB8-500ED951E9EB\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Retrieve activation status of all services', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetOpenStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetOrderInfo' => [ 'summary' => 'Retrieves information about purchased licenses.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATUREoptZKJ6K3'], ], 'parameters' => [ [ 'name' => 'RelService', 'in' => 'query', 'schema' => ['description' => 'The category of the purchased Optimization Solver license. Valid values:'."\n" ."\n" .'- `MP`: mathematical programming.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MP', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The version of the purchased solver. Only one value is supported:'."\n" ."\n" .'- `1`: local runtime edition.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '1', 'minimum' => '1', 'enum' => ['1'], 'example' => '1', 'title' => '', ], ], [ 'name' => 'ListReleased', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to include released instances.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The response code.', 'type' => 'string', 'example' => '0', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ 'description' => 'The business data. licenseKey: the license key. currentConcurrency: the concurrency. instanceId: the instance ID. totalDays: the total number of purchased days. currentDays: the number of remaining days.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'currentConcurrency' => ['description' => 'The concurrency.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'totalDays' => ['description' => 'The total number of purchased days.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'currentDays' => ['description' => 'The number of remaining days.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'licenseKey' => ['description' => 'The license key.', 'type' => 'string', 'example' => 'xxxxxxxx', 'title' => ''], 'instanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'opt_mplicense_public_cn-xxxxxx', 'title' => ''], 'bizType' => ['description' => 'The commodity type.', 'type' => 'string', 'example' => '0', 'title' => ''], 'remark' => ['description' => 'The instance remarks.', 'type' => 'string', 'example' => 'remark', 'title' => ''], 'isReleased' => ['description' => 'Indicates whether the instance is released.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'example' => '{"licenseKey":"eems7ri3b1u5nui*****","currentConcurrency":2,"instanceId":"opt_mplicense_public_cn-****","totalDays":124,"currentDays":103}', 'title' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5D6653C5-CA2B-14EC-9CF0-50AA0FF49C31', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid. Please check again.', 'description' => ''], ], [ ['errorCode' => 'LicenseKeyInvalid', 'errorMessage' => 'The license key format is invalid, or the license key does not belong to the user.', 'description' => ''], ], 403 => [ ['errorCode' => 'Unauthorized', 'errorMessage' => 'The user has not passed RAM verification and is not authorized to perform the operation.', 'description' => ''], ], 409 => [ ['errorCode' => 'ConcurrencyOverLimit', 'errorMessage' => 'The concurrency exceeds the upper limit allowed by the license key.', 'description' => ''], ], [ ['errorCode' => 'LicenseKeyExpired', 'errorMessage' => 'LicenseKey has expired.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"0\\",\\n \\"Message\\": \\"success\\",\\n \\"Data\\": [\\n {\\n \\"currentConcurrency\\": 1,\\n \\"totalDays\\": 10,\\n \\"currentDays\\": 1,\\n \\"licenseKey\\": \\"xxxxxxxx\\",\\n \\"instanceId\\": \\"opt_mplicense_public_cn-xxxxxx\\",\\n \\"bizType\\": \\"0\\",\\n \\"remark\\": \\"remark\\",\\n \\"isReleased\\": true\\n }\\n ],\\n \\"RequestId\\": \\"5D6653C5-CA2B-14EC-9CF0-50AA0FF49C31\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Query purchased license information', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetOrderInfo', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetOrderUsage' => [ 'summary' => 'Retrieves the License usage.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeNodes' => ['FEATUREoptZKJ6K3'], ], 'parameters' => [ [ 'name' => 'RelService', 'in' => 'query', 'schema' => ['description' => 'The category of the purchased Optimization Solver License. The following category is supported:'."\n" ."\n" .'- `MP`: mathematical programming.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'MP', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ 'description' => 'The version of the purchased solver. Only the following value is supported:'."\n" ."\n" .'- `1`: local runtime edition.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '1', 'minimum' => '1', 'enum' => ['1'], 'example' => '1', 'title' => '', ], ], [ 'name' => 'LicenseKey', 'in' => 'query', 'schema' => ['description' => 'The LicenseKey of the solver.', 'type' => 'string', 'required' => true, 'example' => 'eya5169y2bg96zef03s7', 'title' => ''], ], [ 'name' => 'TimeRange', 'in' => 'query', 'schema' => ['description' => '* `1`: one day before and after'."\n" .'* `2`: one week before and after'."\n" .'* `3`: one month before and after.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Message' => ['description' => 'The result message.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'Data' => [ 'description' => 'The usage data.', 'type' => 'array', 'items' => ['description' => 'The data item. The fields are described as follows:'."\n" ."\n" .'- `dateTime`: the corresponding time.'."\n" .'- `actualConcurrency`: the actual concurrency.'."\n" .'- `maxConcurrency`: the maximum concurrency.', 'type' => 'object', 'example' => '[{"dateTime":"2021-08-17 15:00:00","actualConcurrency":0,"maxConcurrency":2},{"dateTime":"2021-08-17 16:00:00","actualConcurrency":0,"maxConcurrency":2},{"dateTime":"2021-08-17 17:00:00","actualConcurrency":0,"maxConcurrency":2}]', 'title' => ''], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5D6653C5-CA2B-14EC-9CF0-50AA0FF49C31', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid. Please check again.', 'description' => ''], ], [ ['errorCode' => 'LicenseKeyInvalid', 'errorMessage' => 'The license key format is invalid, or the license key does not belong to the user.', 'description' => ''], ], 403 => [ ['errorCode' => 'Unauthorized', 'errorMessage' => 'The user has not passed RAM verification and is not authorized to perform the operation.', 'description' => ''], ], 409 => [ ['errorCode' => 'ConcurrencyOverLimit', 'errorMessage' => 'The concurrency exceeds the upper limit allowed by the license key.', 'description' => ''], ], [ ['errorCode' => 'LicenseKeyExpired', 'errorMessage' => 'LicenseKey has expired.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"Data\\": [\\n [\\n {\\n \\"dateTime\\": \\"2021-08-17 15:00:00\\",\\n \\"actualConcurrency\\": 0,\\n \\"maxConcurrency\\": 2\\n },\\n {\\n \\"dateTime\\": \\"2021-08-17 16:00:00\\",\\n \\"actualConcurrency\\": 0,\\n \\"maxConcurrency\\": 2\\n },\\n {\\n \\"dateTime\\": \\"2021-08-17 17:00:00\\",\\n \\"actualConcurrency\\": 0,\\n \\"maxConcurrency\\": 2\\n }\\n ]\\n ],\\n \\"RequestId\\": \\"5D6653C5-CA2B-14EC-9CF0-50AA0FF49C31\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Query license usage', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetOrderUsage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], ], 'endpoints' => [ ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'opt.cn-beijing.aliyuncs.com', 'endpoint' => 'opt.cn-beijing.aliyuncs.com', 'vpc' => 'opt-vpc.cn-beijing.aliyuncs.com'], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'opt.us-east-1.aliyuncs.com', 'endpoint' => 'opt.us-east-1.aliyuncs.com', 'vpc' => 'opt-vpc.us-east-1.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'ConcurrencyOverLimit', 'message' => 'The concurrency exceeds the upper limit allowed by the license key.', 'http_code' => 409, 'description' => ''], ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => ''], ['code' => 'InvalidParameter', 'message' => 'The parameter is invalid. Please check again.', 'http_code' => 400, 'description' => ''], ['code' => 'LicenseKeyExpired', 'message' => 'LicenseKey has expired.', 'http_code' => 410, 'description' => ''], ['code' => 'LicenseKeyInvaild', 'message' => 'The license key format is invalid, or the license key does not belong to the user.', 'http_code' => 401, 'description' => ''], ['code' => 'LicenseKeyInvalid', 'message' => 'The licence key format is invalid, or the licence key does not belong to the user.', 'http_code' => 401, 'description' => 'The authorization certificate is in the wrong format or does not belong to this user.'], ['code' => 'Unauthorized', 'message' => 'The user has not passed RAM verification and is not authorized to perform the operation.', 'http_code' => 403, 'description' => ''], ], 'changeSet' => [], 'ram' => [ 'productCode' => 'OPT', 'productName' => 'Optimization Solver', 'ramCodes' => ['opt', 'opt-inner'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'ReleaseLicense', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'opt:ReleaseLicense', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListFixedLicense', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'opt:ListFixedLicense', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AcquireToken', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'opt:AcquireToken', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'MpLicense', 'arn' => 'acs:opt:{#regionId}:{#accountId}:mplicense/{#LicenseKey}'], ], ], ], [ 'apiName' => 'GenerateFixedLicense', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'opt:GenerateFixedLicense', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetUsage', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetUsage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'Remark', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'opt:Remark', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetOpenStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetOpenStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetOrderUsage', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetOrderUsage', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'FixedLicenseRefund', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'opt:FixedLicenseRefund', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseWholeKey', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'opt:ReleaseWholeKey', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'MpLicense', 'arn' => 'acs:opt:{#regionId}:{#accountId}:mplicense/{#LicenseKey}'], ], ], ], [ 'apiName' => 'GetOrderInfo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'opt:GetOrderInfo', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ReleaseToken', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'opt:ReleaseToken', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'OPT', 'resourceType' => 'MpLicense', 'arn' => 'acs:opt:{#regionId}:{#accountId}:mplicense/{#LicenseKey}'], ], ], ], ], 'resourceTypes' => [ ['validationType' => 'always', 'resourceType' => 'MpLicense', 'arn' => 'acs:opt:{#regionId}:{#accountId}:mplicense/{#LicenseKey}'], ['validationType' => 'conditional', 'resourceType' => 'MpLicense', 'arn' => 'acs:opt:{#regionId}:{#accountId}:mplicense/*'], ], ], ];