Support namespaces.

This commit is contained in:
sdk-team
2020-04-03 10:54:39 +08:00
parent c911315170
commit 30fd9f48a0
9 changed files with 269 additions and 1 deletions

View File

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

View File

@@ -1 +1 @@
1.36.337
1.36.338

View File

@@ -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 )

View File

@@ -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;

View File

@@ -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_

View File

@@ -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_

View File

@@ -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();

View File

@@ -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()
{}

View File

@@ -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_;
}