cpp/include/alibabacloud/open_api.hpp (420 lines of code) (raw):
// This file is auto-generated, don't edit it. Thanks.
#ifndef ALIBABACLOUD_OPENAPI_H_
#define ALIBABACLOUD_OPENAPI_H_
#include <alibabacloud/credential.hpp>
#include <boost/any.hpp>
#include <boost/throw_exception.hpp>
#include <darabonba/core.hpp>
#include <darabonba/util.hpp>
#include <iostream>
#include <map>
using namespace std;
namespace Alibabacloud_OpenApi {
class Config : public Darabonba::Model {
public:
shared_ptr<string> accessKeyId{};
shared_ptr<string> accessKeySecret{};
shared_ptr<string> securityToken{};
shared_ptr<string> protocol{};
shared_ptr<string> regionId{};
shared_ptr<int> readTimeout{};
shared_ptr<int> connectTimeout{};
shared_ptr<string> httpProxy{};
shared_ptr<string> httpsProxy{};
shared_ptr<Alibabacloud_Credential::Client> credential{};
shared_ptr<string> endpoint{};
shared_ptr<string> noProxy{};
shared_ptr<int> maxIdleConns{};
shared_ptr<string> network{};
shared_ptr<string> userAgent{};
shared_ptr<string> suffix{};
shared_ptr<string> socks5Proxy{};
shared_ptr<string> socks5NetWork{};
shared_ptr<string> endpointType{};
shared_ptr<string> openPlatformEndpoint{};
shared_ptr<string> type{};
shared_ptr<string> signatureAlgorithm{};
Config() {}
explicit Config(const std::map<string, boost::any> &config)
: Darabonba::Model(config) {
fromMap(config);
};
void validate() override {}
map<string, boost::any> toMap() override {
map<string, boost::any> res;
if (accessKeyId) {
res["accessKeyId"] = boost::any(*accessKeyId);
}
if (accessKeySecret) {
res["accessKeySecret"] = boost::any(*accessKeySecret);
}
if (securityToken) {
res["securityToken"] = boost::any(*securityToken);
}
if (protocol) {
res["protocol"] = boost::any(*protocol);
}
if (regionId) {
res["regionId"] = boost::any(*regionId);
}
if (readTimeout) {
res["readTimeout"] = boost::any(*readTimeout);
}
if (connectTimeout) {
res["connectTimeout"] = boost::any(*connectTimeout);
}
if (httpProxy) {
res["httpProxy"] = boost::any(*httpProxy);
}
if (httpsProxy) {
res["httpsProxy"] = boost::any(*httpsProxy);
}
if (endpoint) {
res["endpoint"] = boost::any(*endpoint);
}
if (noProxy) {
res["noProxy"] = boost::any(*noProxy);
}
if (maxIdleConns) {
res["maxIdleConns"] = boost::any(*maxIdleConns);
}
if (network) {
res["network"] = boost::any(*network);
}
if (userAgent) {
res["userAgent"] = boost::any(*userAgent);
}
if (suffix) {
res["suffix"] = boost::any(*suffix);
}
if (socks5Proxy) {
res["socks5Proxy"] = boost::any(*socks5Proxy);
}
if (socks5NetWork) {
res["socks5NetWork"] = boost::any(*socks5NetWork);
}
if (endpointType) {
res["endpointType"] = boost::any(*endpointType);
}
if (openPlatformEndpoint) {
res["openPlatformEndpoint"] = boost::any(*openPlatformEndpoint);
}
if (type) {
res["type"] = boost::any(*type);
}
if (signatureAlgorithm) {
res["signatureAlgorithm"] = boost::any(*signatureAlgorithm);
}
return res;
}
void fromMap(map<string, boost::any> m) override {
if (m.find("accessKeyId") != m.end() && !m["accessKeyId"].empty()) {
accessKeyId =
make_shared<string>(boost::any_cast<string>(m["accessKeyId"]));
}
if (m.find("accessKeySecret") != m.end() && !m["accessKeySecret"].empty()) {
accessKeySecret =
make_shared<string>(boost::any_cast<string>(m["accessKeySecret"]));
}
if (m.find("securityToken") != m.end() && !m["securityToken"].empty()) {
securityToken =
make_shared<string>(boost::any_cast<string>(m["securityToken"]));
}
if (m.find("protocol") != m.end() && !m["protocol"].empty()) {
protocol = make_shared<string>(boost::any_cast<string>(m["protocol"]));
}
if (m.find("regionId") != m.end() && !m["regionId"].empty()) {
regionId = make_shared<string>(boost::any_cast<string>(m["regionId"]));
}
if (m.find("readTimeout") != m.end() && !m["readTimeout"].empty()) {
readTimeout = make_shared<int>(boost::any_cast<int>(m["readTimeout"]));
}
if (m.find("connectTimeout") != m.end() && !m["connectTimeout"].empty()) {
connectTimeout =
make_shared<int>(boost::any_cast<int>(m["connectTimeout"]));
}
if (m.find("httpProxy") != m.end() && !m["httpProxy"].empty()) {
httpProxy = make_shared<string>(boost::any_cast<string>(m["httpProxy"]));
}
if (m.find("httpsProxy") != m.end() && !m["httpsProxy"].empty()) {
httpsProxy =
make_shared<string>(boost::any_cast<string>(m["httpsProxy"]));
}
if (m.find("endpoint") != m.end() && !m["endpoint"].empty()) {
endpoint = make_shared<string>(boost::any_cast<string>(m["endpoint"]));
}
if (m.find("noProxy") != m.end() && !m["noProxy"].empty()) {
noProxy = make_shared<string>(boost::any_cast<string>(m["noProxy"]));
}
if (m.find("maxIdleConns") != m.end() && !m["maxIdleConns"].empty()) {
maxIdleConns = make_shared<int>(boost::any_cast<int>(m["maxIdleConns"]));
}
if (m.find("network") != m.end() && !m["network"].empty()) {
network = make_shared<string>(boost::any_cast<string>(m["network"]));
}
if (m.find("userAgent") != m.end() && !m["userAgent"].empty()) {
userAgent = make_shared<string>(boost::any_cast<string>(m["userAgent"]));
}
if (m.find("suffix") != m.end() && !m["suffix"].empty()) {
suffix = make_shared<string>(boost::any_cast<string>(m["suffix"]));
}
if (m.find("socks5Proxy") != m.end() && !m["socks5Proxy"].empty()) {
socks5Proxy =
make_shared<string>(boost::any_cast<string>(m["socks5Proxy"]));
}
if (m.find("socks5NetWork") != m.end() && !m["socks5NetWork"].empty()) {
socks5NetWork =
make_shared<string>(boost::any_cast<string>(m["socks5NetWork"]));
}
if (m.find("endpointType") != m.end() && !m["endpointType"].empty()) {
endpointType =
make_shared<string>(boost::any_cast<string>(m["endpointType"]));
}
if (m.find("openPlatformEndpoint") != m.end() &&
!m["openPlatformEndpoint"].empty()) {
openPlatformEndpoint = make_shared<string>(
boost::any_cast<string>(m["openPlatformEndpoint"]));
}
if (m.find("type") != m.end() && !m["type"].empty()) {
type = make_shared<string>(boost::any_cast<string>(m["type"]));
}
if (m.find("signatureAlgorithm") != m.end() &&
!m["signatureAlgorithm"].empty()) {
signatureAlgorithm =
make_shared<string>(boost::any_cast<string>(m["signatureAlgorithm"]));
}
}
virtual ~Config() = default;
};
class OpenApiRequest : public Darabonba::Model {
public:
shared_ptr<map<string, string>> headers{};
shared_ptr<map<string, string>> query{};
shared_ptr<boost::any> body{};
shared_ptr<Darabonba::Stream> stream{};
OpenApiRequest() {}
explicit OpenApiRequest(const std::map<string, boost::any> &config)
: Darabonba::Model(config) {
fromMap(config);
};
void validate() override {}
map<string, boost::any> toMap() override {
map<string, boost::any> res;
if (headers) {
res["headers"] = boost::any(*headers);
}
if (query) {
res["query"] = boost::any(*query);
}
if (body) {
res["body"] = boost::any(*body);
}
if (stream) {
res["stream"] = boost::any(*stream);
}
return res;
}
void fromMap(map<string, boost::any> m) override {
if (m.find("headers") != m.end() && !m["headers"].empty()) {
map<string, string> map1 =
boost::any_cast<map<string, string>>(m["headers"]);
map<string, string> toMap1;
for (auto item : map1) {
toMap1[item.first] = item.second;
}
headers = make_shared<map<string, string>>(toMap1);
}
if (m.find("query") != m.end() && !m["query"].empty()) {
map<string, string> map1 =
boost::any_cast<map<string, string>>(m["query"]);
map<string, string> toMap1;
for (auto item : map1) {
toMap1[item.first] = item.second;
}
query = make_shared<map<string, string>>(toMap1);
}
if (m.find("body") != m.end() && !m["body"].empty()) {
body = make_shared<boost::any>(m["body"]);
}
if (m.find("stream") != m.end() && !m["stream"].empty()) {
stream = make_shared<Darabonba::Stream>(
boost::any_cast<Darabonba::Stream>(m["stream"]));
}
}
virtual ~OpenApiRequest() = default;
};
class Params : public Darabonba::Model {
public:
shared_ptr<string> action{};
shared_ptr<string> version{};
shared_ptr<string> protocol{};
shared_ptr<string> pathname{};
shared_ptr<string> method{};
shared_ptr<string> authType{};
shared_ptr<string> bodyType{};
shared_ptr<string> reqBodyType{};
shared_ptr<string> style{};
Params() {}
explicit Params(const std::map<string, boost::any> &config)
: Darabonba::Model(config) {
fromMap(config);
};
void validate() override {
if (!action) {
BOOST_THROW_EXCEPTION(
boost::enable_error_info(std::runtime_error("action is required.")));
}
if (!version) {
BOOST_THROW_EXCEPTION(
boost::enable_error_info(std::runtime_error("version is required.")));
}
if (!protocol) {
BOOST_THROW_EXCEPTION(boost::enable_error_info(
std::runtime_error("protocol is required.")));
}
if (!pathname) {
BOOST_THROW_EXCEPTION(boost::enable_error_info(
std::runtime_error("pathname is required.")));
}
if (!method) {
BOOST_THROW_EXCEPTION(
boost::enable_error_info(std::runtime_error("method is required.")));
}
if (!authType) {
BOOST_THROW_EXCEPTION(boost::enable_error_info(
std::runtime_error("authType is required.")));
}
if (!bodyType) {
BOOST_THROW_EXCEPTION(boost::enable_error_info(
std::runtime_error("bodyType is required.")));
}
if (!reqBodyType) {
BOOST_THROW_EXCEPTION(boost::enable_error_info(
std::runtime_error("reqBodyType is required.")));
}
}
map<string, boost::any> toMap() override {
map<string, boost::any> res;
if (action) {
res["action"] = boost::any(*action);
}
if (version) {
res["version"] = boost::any(*version);
}
if (protocol) {
res["protocol"] = boost::any(*protocol);
}
if (pathname) {
res["pathname"] = boost::any(*pathname);
}
if (method) {
res["method"] = boost::any(*method);
}
if (authType) {
res["authType"] = boost::any(*authType);
}
if (bodyType) {
res["bodyType"] = boost::any(*bodyType);
}
if (reqBodyType) {
res["reqBodyType"] = boost::any(*reqBodyType);
}
if (style) {
res["style"] = boost::any(*style);
}
return res;
}
void fromMap(map<string, boost::any> m) override {
if (m.find("action") != m.end() && !m["action"].empty()) {
action = make_shared<string>(boost::any_cast<string>(m["action"]));
}
if (m.find("version") != m.end() && !m["version"].empty()) {
version = make_shared<string>(boost::any_cast<string>(m["version"]));
}
if (m.find("protocol") != m.end() && !m["protocol"].empty()) {
protocol = make_shared<string>(boost::any_cast<string>(m["protocol"]));
}
if (m.find("pathname") != m.end() && !m["pathname"].empty()) {
pathname = make_shared<string>(boost::any_cast<string>(m["pathname"]));
}
if (m.find("method") != m.end() && !m["method"].empty()) {
method = make_shared<string>(boost::any_cast<string>(m["method"]));
}
if (m.find("authType") != m.end() && !m["authType"].empty()) {
authType = make_shared<string>(boost::any_cast<string>(m["authType"]));
}
if (m.find("bodyType") != m.end() && !m["bodyType"].empty()) {
bodyType = make_shared<string>(boost::any_cast<string>(m["bodyType"]));
}
if (m.find("reqBodyType") != m.end() && !m["reqBodyType"].empty()) {
reqBodyType =
make_shared<string>(boost::any_cast<string>(m["reqBodyType"]));
}
if (m.find("style") != m.end() && !m["style"].empty()) {
style = make_shared<string>(boost::any_cast<string>(m["style"]));
}
}
virtual ~Params() = default;
};
class Client {
public:
shared_ptr<string> _endpoint{};
shared_ptr<string> _regionId{};
shared_ptr<string> _protocol{};
shared_ptr<string> _userAgent{};
shared_ptr<string> _endpointRule{};
shared_ptr<map<string, string>> _endpointMap{};
shared_ptr<string> _suffix{};
shared_ptr<int> _readTimeout{};
shared_ptr<int> _connectTimeout{};
shared_ptr<string> _httpProxy{};
shared_ptr<string> _httpsProxy{};
shared_ptr<string> _socks5Proxy{};
shared_ptr<string> _socks5NetWork{};
shared_ptr<string> _noProxy{};
shared_ptr<string> _network{};
shared_ptr<string> _productId{};
shared_ptr<int> _maxIdleConns{};
shared_ptr<string> _endpointType{};
shared_ptr<string> _openPlatformEndpoint{};
shared_ptr<Alibabacloud_Credential::Client> _credential{};
shared_ptr<string> _signatureAlgorithm{};
shared_ptr<map<string, string>> _headers{};
explicit Client(const shared_ptr<Config> &config);
map<string, boost::any>
doRPCRequest(shared_ptr<string> action, shared_ptr<string> version,
shared_ptr<string> protocol, shared_ptr<string> method,
shared_ptr<string> authType, shared_ptr<string> bodyType,
shared_ptr<OpenApiRequest> request,
shared_ptr<Darabonba_Util::RuntimeOptions> runtime);
map<string, boost::any>
doROARequest(shared_ptr<string> action, shared_ptr<string> version,
shared_ptr<string> protocol, shared_ptr<string> method,
shared_ptr<string> authType, shared_ptr<string> pathname,
shared_ptr<string> bodyType, shared_ptr<OpenApiRequest> request,
shared_ptr<Darabonba_Util::RuntimeOptions> runtime);
map<string, boost::any>
doROARequestWithForm(shared_ptr<string> action, shared_ptr<string> version,
shared_ptr<string> protocol, shared_ptr<string> method,
shared_ptr<string> authType, shared_ptr<string> pathname,
shared_ptr<string> bodyType,
shared_ptr<OpenApiRequest> request,
shared_ptr<Darabonba_Util::RuntimeOptions> runtime);
map<string, boost::any>
doRequest(shared_ptr<Params> params, shared_ptr<OpenApiRequest> request,
shared_ptr<Darabonba_Util::RuntimeOptions> runtime);
map<string, boost::any>
callApi(shared_ptr<Params> params, shared_ptr<OpenApiRequest> request,
shared_ptr<Darabonba_Util::RuntimeOptions> runtime);
string getUserAgent();
string getAccessKeyId();
string getAccessKeySecret();
string getSecurityToken();
static boost::any defaultAny(const boost::any &inputValue,
const boost::any &defaultValue);
void checkConfig(shared_ptr<Config> config);
void setRpcHeaders(shared_ptr<map<string, string>> headers);
map<string, string> getRpcHeaders();
virtual ~Client() = default;
};
} // namespace Alibabacloud_OpenApi
#endif