Ver Fonte

Support namespaces.

sdk-team há 6 anos atrás
pai
commit
30fd9f48a0

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-04-03 Version: 1.36.338
+- Support namespaces.
+
 2020-04-02 Version: 1.36.337
 - Add API ContrastFaceVerify.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.337
+1.36.338

+ 4 - 0
acm/CMakeLists.txt

@@ -35,6 +35,8 @@ set(acm_public_header_model
 	include/alibabacloud/acm/model/DescribeConfigurationResult.h
 	include/alibabacloud/acm/model/DescribeNamespaceRequest.h
 	include/alibabacloud/acm/model/DescribeNamespaceResult.h
+	include/alibabacloud/acm/model/DescribeNamespacesRequest.h
+	include/alibabacloud/acm/model/DescribeNamespacesResult.h
 	include/alibabacloud/acm/model/UpdateNamespaceRequest.h
 	include/alibabacloud/acm/model/UpdateNamespaceResult.h )
 
@@ -54,6 +56,8 @@ set(acm_src
 	src/model/DescribeConfigurationResult.cc
 	src/model/DescribeNamespaceRequest.cc
 	src/model/DescribeNamespaceResult.cc
+	src/model/DescribeNamespacesRequest.cc
+	src/model/DescribeNamespacesResult.cc
 	src/model/UpdateNamespaceRequest.cc
 	src/model/UpdateNamespaceResult.cc )
 

+ 8 - 0
acm/include/alibabacloud/acm/AcmClient.h

@@ -36,6 +36,8 @@
 #include "model/DescribeConfigurationResult.h"
 #include "model/DescribeNamespaceRequest.h"
 #include "model/DescribeNamespaceResult.h"
+#include "model/DescribeNamespacesRequest.h"
+#include "model/DescribeNamespacesResult.h"
 #include "model/UpdateNamespaceRequest.h"
 #include "model/UpdateNamespaceResult.h"
 
@@ -68,6 +70,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeNamespaceResult> DescribeNamespaceOutcome;
 			typedef std::future<DescribeNamespaceOutcome> DescribeNamespaceOutcomeCallable;
 			typedef std::function<void(const AcmClient*, const Model::DescribeNamespaceRequest&, const DescribeNamespaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNamespaceAsyncHandler;
+			typedef Outcome<Error, Model::DescribeNamespacesResult> DescribeNamespacesOutcome;
+			typedef std::future<DescribeNamespacesOutcome> DescribeNamespacesOutcomeCallable;
+			typedef std::function<void(const AcmClient*, const Model::DescribeNamespacesRequest&, const DescribeNamespacesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeNamespacesAsyncHandler;
 			typedef Outcome<Error, Model::UpdateNamespaceResult> UpdateNamespaceOutcome;
 			typedef std::future<UpdateNamespaceOutcome> UpdateNamespaceOutcomeCallable;
 			typedef std::function<void(const AcmClient*, const Model::UpdateNamespaceRequest&, const UpdateNamespaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateNamespaceAsyncHandler;
@@ -97,6 +102,9 @@ namespace AlibabaCloud
 			DescribeNamespaceOutcome describeNamespace(const Model::DescribeNamespaceRequest &request)const;
 			void describeNamespaceAsync(const Model::DescribeNamespaceRequest& request, const DescribeNamespaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeNamespaceOutcomeCallable describeNamespaceCallable(const Model::DescribeNamespaceRequest& request) const;
+			DescribeNamespacesOutcome describeNamespaces(const Model::DescribeNamespacesRequest &request)const;
+			void describeNamespacesAsync(const Model::DescribeNamespacesRequest& request, const DescribeNamespacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeNamespacesOutcomeCallable describeNamespacesCallable(const Model::DescribeNamespacesRequest& request) const;
 			UpdateNamespaceOutcome updateNamespace(const Model::UpdateNamespaceRequest &request)const;
 			void updateNamespaceAsync(const Model::UpdateNamespaceRequest& request, const UpdateNamespaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateNamespaceOutcomeCallable updateNamespaceCallable(const Model::UpdateNamespaceRequest& request) const;

+ 45 - 0
acm/include/alibabacloud/acm/model/DescribeNamespacesRequest.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_ACM_MODEL_DESCRIBENAMESPACESREQUEST_H_
+#define ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RoaServiceRequest.h>
+#include <alibabacloud/acm/AcmExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Acm
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACM_EXPORT DescribeNamespacesRequest : public RoaServiceRequest
+			{
+
+			public:
+				DescribeNamespacesRequest();
+				~DescribeNamespacesRequest();
+
+
+            private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACESREQUEST_H_

+ 63 - 0
acm/include/alibabacloud/acm/model/DescribeNamespacesResult.h

@@ -0,0 +1,63 @@
+/*
+ * 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_ACM_MODEL_DESCRIBENAMESPACESRESULT_H_
+#define ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/acm/AcmExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Acm
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ACM_EXPORT DescribeNamespacesResult : public ServiceResult
+			{
+			public:
+				struct _Namespace
+				{
+					std::string namespaceName;
+					int type;
+					int quota;
+					int configCount;
+					std::string namespaceId;
+				};
+
+
+				DescribeNamespacesResult();
+				explicit DescribeNamespacesResult(const std::string &payload);
+				~DescribeNamespacesResult();
+				std::vector<_Namespace> getNamespaces()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<_Namespace> namespaces_;
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACESRESULT_H_

+ 36 - 0
acm/src/AcmClient.cc

@@ -303,6 +303,42 @@ AcmClient::DescribeNamespaceOutcomeCallable AcmClient::describeNamespaceCallable
 	return task->get_future();
 }
 
+AcmClient::DescribeNamespacesOutcome AcmClient::describeNamespaces(const DescribeNamespacesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeNamespacesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeNamespacesOutcome(DescribeNamespacesResult(outcome.result()));
+	else
+		return DescribeNamespacesOutcome(outcome.error());
+}
+
+void AcmClient::describeNamespacesAsync(const DescribeNamespacesRequest& request, const DescribeNamespacesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeNamespaces(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+AcmClient::DescribeNamespacesOutcomeCallable AcmClient::describeNamespacesCallable(const DescribeNamespacesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeNamespacesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeNamespaces(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 AcmClient::UpdateNamespaceOutcome AcmClient::updateNamespace(const UpdateNamespaceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 30 - 0
acm/src/model/DescribeNamespacesRequest.cc

@@ -0,0 +1,30 @@
+/*
+ * 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/acm/model/DescribeNamespacesRequest.h>
+
+using AlibabaCloud::Acm::Model::DescribeNamespacesRequest;
+
+DescribeNamespacesRequest::DescribeNamespacesRequest() :
+	RoaServiceRequest("acm", "2020-02-06")
+{
+	setResourcePath("/diamond-ops/pop/namespace/list");
+	setMethod(HttpRequest::Method::Get);
+}
+
+DescribeNamespacesRequest::~DescribeNamespacesRequest()
+{}
+

+ 79 - 0
acm/src/model/DescribeNamespacesResult.cc

@@ -0,0 +1,79 @@
+/*
+ * 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/acm/model/DescribeNamespacesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Acm;
+using namespace AlibabaCloud::Acm::Model;
+
+DescribeNamespacesResult::DescribeNamespacesResult() :
+	ServiceResult()
+{}
+
+DescribeNamespacesResult::DescribeNamespacesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeNamespacesResult::~DescribeNamespacesResult()
+{}
+
+void DescribeNamespacesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allNamespacesNode = value["Namespaces"]["Namespace"];
+	for (auto valueNamespacesNamespace : allNamespacesNode)
+	{
+		_Namespace namespacesObject;
+		if(!valueNamespacesNamespace["ConfigCount"].isNull())
+			namespacesObject.configCount = std::stoi(valueNamespacesNamespace["ConfigCount"].asString());
+		if(!valueNamespacesNamespace["NamespaceId"].isNull())
+			namespacesObject.namespaceId = valueNamespacesNamespace["NamespaceId"].asString();
+		if(!valueNamespacesNamespace["NamespaceName"].isNull())
+			namespacesObject.namespaceName = valueNamespacesNamespace["NamespaceName"].asString();
+		if(!valueNamespacesNamespace["Quota"].isNull())
+			namespacesObject.quota = std::stoi(valueNamespacesNamespace["Quota"].asString());
+		if(!valueNamespacesNamespace["Type"].isNull())
+			namespacesObject.type = std::stoi(valueNamespacesNamespace["Type"].asString());
+		namespaces_.push_back(namespacesObject);
+	}
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::vector<DescribeNamespacesResult::_Namespace> DescribeNamespacesResult::getNamespaces()const
+{
+	return namespaces_;
+}
+
+std::string DescribeNamespacesResult::getMessage()const
+{
+	return message_;
+}
+
+std::string DescribeNamespacesResult::getCode()const
+{
+	return code_;
+}
+