Bläddra i källkod

Add new API QueryBillToOSSSubscription.

sdk-team 6 år sedan
förälder
incheckning
022c13a360

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2019-11-13 Version 1.36.170
+- Add new API QueryBillToOSSSubscription.
+
 2019-11-13 Version 1.36.169
 - Supported API UpdateDomainRemark for Update Domain Remark.
 - Supported API UpdateDomainRecordRemark for Update Record Remark.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.169
+1.36.170

+ 4 - 0
bssopenapi/CMakeLists.txt

@@ -77,6 +77,8 @@ set(bssopenapi_public_header_model
 	include/alibabacloud/bssopenapi/model/QueryBillResult.h
 	include/alibabacloud/bssopenapi/model/QueryBillOverviewRequest.h
 	include/alibabacloud/bssopenapi/model/QueryBillOverviewResult.h
+	include/alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionRequest.h
+	include/alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionResult.h
 	include/alibabacloud/bssopenapi/model/QueryCashCouponsRequest.h
 	include/alibabacloud/bssopenapi/model/QueryCashCouponsResult.h
 	include/alibabacloud/bssopenapi/model/QueryCostUnitRequest.h
@@ -190,6 +192,8 @@ set(bssopenapi_src
 	src/model/QueryBillResult.cc
 	src/model/QueryBillOverviewRequest.cc
 	src/model/QueryBillOverviewResult.cc
+	src/model/QueryBillToOSSSubscriptionRequest.cc
+	src/model/QueryBillToOSSSubscriptionResult.cc
 	src/model/QueryCashCouponsRequest.cc
 	src/model/QueryCashCouponsResult.cc
 	src/model/QueryCostUnitRequest.cc

+ 8 - 0
bssopenapi/include/alibabacloud/bssopenapi/BssOpenApiClient.h

@@ -78,6 +78,8 @@
 #include "model/QueryBillResult.h"
 #include "model/QueryBillOverviewRequest.h"
 #include "model/QueryBillOverviewResult.h"
+#include "model/QueryBillToOSSSubscriptionRequest.h"
+#include "model/QueryBillToOSSSubscriptionResult.h"
 #include "model/QueryCashCouponsRequest.h"
 #include "model/QueryCashCouponsResult.h"
 #include "model/QueryCostUnitRequest.h"
@@ -225,6 +227,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryBillOverviewResult> QueryBillOverviewOutcome;
 			typedef std::future<QueryBillOverviewOutcome> QueryBillOverviewOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryBillOverviewRequest&, const QueryBillOverviewOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryBillOverviewAsyncHandler;
+			typedef Outcome<Error, Model::QueryBillToOSSSubscriptionResult> QueryBillToOSSSubscriptionOutcome;
+			typedef std::future<QueryBillToOSSSubscriptionOutcome> QueryBillToOSSSubscriptionOutcomeCallable;
+			typedef std::function<void(const BssOpenApiClient*, const Model::QueryBillToOSSSubscriptionRequest&, const QueryBillToOSSSubscriptionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryBillToOSSSubscriptionAsyncHandler;
 			typedef Outcome<Error, Model::QueryCashCouponsResult> QueryCashCouponsOutcome;
 			typedef std::future<QueryCashCouponsOutcome> QueryCashCouponsOutcomeCallable;
 			typedef std::function<void(const BssOpenApiClient*, const Model::QueryCashCouponsRequest&, const QueryCashCouponsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCashCouponsAsyncHandler;
@@ -395,6 +400,9 @@ namespace AlibabaCloud
 			QueryBillOverviewOutcome queryBillOverview(const Model::QueryBillOverviewRequest &request)const;
 			void queryBillOverviewAsync(const Model::QueryBillOverviewRequest& request, const QueryBillOverviewAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryBillOverviewOutcomeCallable queryBillOverviewCallable(const Model::QueryBillOverviewRequest& request) const;
+			QueryBillToOSSSubscriptionOutcome queryBillToOSSSubscription(const Model::QueryBillToOSSSubscriptionRequest &request)const;
+			void queryBillToOSSSubscriptionAsync(const Model::QueryBillToOSSSubscriptionRequest& request, const QueryBillToOSSSubscriptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryBillToOSSSubscriptionOutcomeCallable queryBillToOSSSubscriptionCallable(const Model::QueryBillToOSSSubscriptionRequest& request) const;
 			QueryCashCouponsOutcome queryCashCoupons(const Model::QueryCashCouponsRequest &request)const;
 			void queryCashCouponsAsync(const Model::QueryCashCouponsRequest& request, const QueryCashCouponsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryCashCouponsOutcomeCallable queryCashCouponsCallable(const Model::QueryCashCouponsRequest& request) const;

+ 45 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionRequest.h

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud 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.
+ */
+
+#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYBILLTOOSSSUBSCRIPTIONREQUEST_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYBILLTOOSSSUBSCRIPTIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryBillToOSSSubscriptionRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryBillToOSSSubscriptionRequest();
+				~QueryBillToOSSSubscriptionRequest();
+
+
+            private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYBILLTOOSSSUBSCRIPTIONREQUEST_H_

+ 72 - 0
bssopenapi/include/alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud 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.
+ */
+
+#ifndef ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYBILLTOOSSSUBSCRIPTIONRESULT_H_
+#define ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYBILLTOOSSSUBSCRIPTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/bssopenapi/BssOpenApiExport.h>
+
+namespace AlibabaCloud
+{
+	namespace BssOpenApi
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_BSSOPENAPI_EXPORT QueryBillToOSSSubscriptionResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Item
+					{
+						std::string subscribeBucket;
+						std::string subscribeTime;
+						std::string subscribeType;
+						long bucketOwnerId;
+						std::string multAccountRelSubscribe;
+						std::string subscribeLanguage;
+					};
+					std::string accountID;
+					std::vector<Item> items;
+					std::string accountName;
+				};
+
+
+				QueryBillToOSSSubscriptionResult();
+				explicit QueryBillToOSSSubscriptionResult(const std::string &payload);
+				~QueryBillToOSSSubscriptionResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_BSSOPENAPI_MODEL_QUERYBILLTOOSSSUBSCRIPTIONRESULT_H_

+ 36 - 0
bssopenapi/src/BssOpenApiClient.cc

@@ -1059,6 +1059,42 @@ BssOpenApiClient::QueryBillOverviewOutcomeCallable BssOpenApiClient::queryBillOv
 	return task->get_future();
 }
 
+BssOpenApiClient::QueryBillToOSSSubscriptionOutcome BssOpenApiClient::queryBillToOSSSubscription(const QueryBillToOSSSubscriptionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryBillToOSSSubscriptionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryBillToOSSSubscriptionOutcome(QueryBillToOSSSubscriptionResult(outcome.result()));
+	else
+		return QueryBillToOSSSubscriptionOutcome(outcome.error());
+}
+
+void BssOpenApiClient::queryBillToOSSSubscriptionAsync(const QueryBillToOSSSubscriptionRequest& request, const QueryBillToOSSSubscriptionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryBillToOSSSubscription(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+BssOpenApiClient::QueryBillToOSSSubscriptionOutcomeCallable BssOpenApiClient::queryBillToOSSSubscriptionCallable(const QueryBillToOSSSubscriptionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryBillToOSSSubscriptionOutcome()>>(
+			[this, request]()
+			{
+			return this->queryBillToOSSSubscription(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 BssOpenApiClient::QueryCashCouponsOutcome BssOpenApiClient::queryCashCoupons(const QueryCashCouponsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 29 - 0
bssopenapi/src/model/QueryBillToOSSSubscriptionRequest.cc

@@ -0,0 +1,29 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud 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.
+ */
+
+#include <alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionRequest.h>
+
+using AlibabaCloud::BssOpenApi::Model::QueryBillToOSSSubscriptionRequest;
+
+QueryBillToOSSSubscriptionRequest::QueryBillToOSSSubscriptionRequest() :
+	RpcServiceRequest("bssopenapi", "2017-12-14", "QueryBillToOSSSubscription")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryBillToOSSSubscriptionRequest::~QueryBillToOSSSubscriptionRequest()
+{}
+

+ 93 - 0
bssopenapi/src/model/QueryBillToOSSSubscriptionResult.cc

@@ -0,0 +1,93 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud 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.
+ */
+
+#include <alibabacloud/bssopenapi/model/QueryBillToOSSSubscriptionResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::BssOpenApi;
+using namespace AlibabaCloud::BssOpenApi::Model;
+
+QueryBillToOSSSubscriptionResult::QueryBillToOSSSubscriptionResult() :
+	ServiceResult()
+{}
+
+QueryBillToOSSSubscriptionResult::QueryBillToOSSSubscriptionResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryBillToOSSSubscriptionResult::~QueryBillToOSSSubscriptionResult()
+{}
+
+void QueryBillToOSSSubscriptionResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["AccountID"].isNull())
+		data_.accountID = dataNode["AccountID"].asString();
+	if(!dataNode["AccountName"].isNull())
+		data_.accountName = dataNode["AccountName"].asString();
+	auto allItemsNode = dataNode["Items"]["Item"];
+	for (auto dataNodeItemsItem : allItemsNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeItemsItem["SubscribeType"].isNull())
+			itemObject.subscribeType = dataNodeItemsItem["SubscribeType"].asString();
+		if(!dataNodeItemsItem["SubscribeBucket"].isNull())
+			itemObject.subscribeBucket = dataNodeItemsItem["SubscribeBucket"].asString();
+		if(!dataNodeItemsItem["BucketOwnerId"].isNull())
+			itemObject.bucketOwnerId = std::stol(dataNodeItemsItem["BucketOwnerId"].asString());
+		if(!dataNodeItemsItem["SubscribeTime"].isNull())
+			itemObject.subscribeTime = dataNodeItemsItem["SubscribeTime"].asString();
+		if(!dataNodeItemsItem["SubscribeLanguage"].isNull())
+			itemObject.subscribeLanguage = dataNodeItemsItem["SubscribeLanguage"].asString();
+		if(!dataNodeItemsItem["MultAccountRelSubscribe"].isNull())
+			itemObject.multAccountRelSubscribe = dataNodeItemsItem["MultAccountRelSubscribe"].asString();
+		data_.items.push_back(itemObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string QueryBillToOSSSubscriptionResult::getMessage()const
+{
+	return message_;
+}
+
+QueryBillToOSSSubscriptionResult::Data QueryBillToOSSSubscriptionResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryBillToOSSSubscriptionResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryBillToOSSSubscriptionResult::getSuccess()const
+{
+	return success_;
+}
+