Create a new sdk.

This commit is contained in:
sdk-team
2021-01-11 08:55:44 +00:00
parent 4f16d1bd02
commit e699b34aee
37 changed files with 2588 additions and 0 deletions

View File

@@ -1,3 +1,6 @@
2021-01-11 Version: patch
- Create a new sdk.
2021-01-11 Version: patch
- Add result value spanId for GetTrace api.

114
eais/CMakeLists.txt Normal file
View File

@@ -0,0 +1,114 @@
#
# 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.
#
set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
set(eais_public_header
include/alibabacloud/eais/EaisClient.h
include/alibabacloud/eais/EaisExport.h )
set(eais_public_header_model
include/alibabacloud/eais/model/AttachEaiRequest.h
include/alibabacloud/eais/model/AttachEaiResult.h
include/alibabacloud/eais/model/CreateEaiRequest.h
include/alibabacloud/eais/model/CreateEaiResult.h
include/alibabacloud/eais/model/CreateEaiAllRequest.h
include/alibabacloud/eais/model/CreateEaiAllResult.h
include/alibabacloud/eais/model/DeleteEaiRequest.h
include/alibabacloud/eais/model/DeleteEaiResult.h
include/alibabacloud/eais/model/DeleteEaiAllRequest.h
include/alibabacloud/eais/model/DeleteEaiAllResult.h
include/alibabacloud/eais/model/DescribeEaisRequest.h
include/alibabacloud/eais/model/DescribeEaisResult.h
include/alibabacloud/eais/model/DescribeRegionsRequest.h
include/alibabacloud/eais/model/DescribeRegionsResult.h
include/alibabacloud/eais/model/DetachEaiRequest.h
include/alibabacloud/eais/model/DetachEaiResult.h )
set(eais_src
src/EaisClient.cc
src/model/AttachEaiRequest.cc
src/model/AttachEaiResult.cc
src/model/CreateEaiRequest.cc
src/model/CreateEaiResult.cc
src/model/CreateEaiAllRequest.cc
src/model/CreateEaiAllResult.cc
src/model/DeleteEaiRequest.cc
src/model/DeleteEaiResult.cc
src/model/DeleteEaiAllRequest.cc
src/model/DeleteEaiAllResult.cc
src/model/DescribeEaisRequest.cc
src/model/DescribeEaisResult.cc
src/model/DescribeRegionsRequest.cc
src/model/DescribeRegionsResult.cc
src/model/DetachEaiRequest.cc
src/model/DetachEaiResult.cc )
add_library(eais ${LIB_TYPE}
${eais_public_header}
${eais_public_header_model}
${eais_src})
set_target_properties(eais
PROPERTIES
LINKER_LANGUAGE CXX
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}eais
)
if(${LIB_TYPE} STREQUAL "SHARED")
set_target_properties(eais
PROPERTIES
DEFINE_SYMBOL ALIBABACLOUD_EAIS_LIBRARY)
endif()
target_include_directories(eais
PRIVATE include
${CMAKE_SOURCE_DIR}/core/include
)
target_link_libraries(eais
core)
if(CMAKE_HOST_WIN32)
ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
set(jsoncpp_install_dir ${INSTALL_DIR})
add_dependencies(eais
jsoncpp)
target_include_directories(eais
PRIVATE ${jsoncpp_install_dir}/include)
target_link_libraries(eais
${jsoncpp_install_dir}/lib/jsoncpp.lib)
set_target_properties(eais
PROPERTIES
COMPILE_OPTIONS "/bigobj")
else()
target_include_directories(eais
PRIVATE /usr/include/jsoncpp)
target_link_libraries(eais
jsoncpp)
endif()
install(FILES ${eais_public_header}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/eais)
install(FILES ${eais_public_header_model}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/eais/model)
install(TARGETS eais
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

View File

@@ -0,0 +1,110 @@
/*
* 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_EAIS_EAISCLIENT_H_
#define ALIBABACLOUD_EAIS_EAISCLIENT_H_
#include <future>
#include <alibabacloud/core/AsyncCallerContext.h>
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "EaisExport.h"
#include "model/AttachEaiRequest.h"
#include "model/AttachEaiResult.h"
#include "model/CreateEaiRequest.h"
#include "model/CreateEaiResult.h"
#include "model/CreateEaiAllRequest.h"
#include "model/CreateEaiAllResult.h"
#include "model/DeleteEaiRequest.h"
#include "model/DeleteEaiResult.h"
#include "model/DeleteEaiAllRequest.h"
#include "model/DeleteEaiAllResult.h"
#include "model/DescribeEaisRequest.h"
#include "model/DescribeEaisResult.h"
#include "model/DescribeRegionsRequest.h"
#include "model/DescribeRegionsResult.h"
#include "model/DetachEaiRequest.h"
#include "model/DetachEaiResult.h"
namespace AlibabaCloud
{
namespace Eais
{
class ALIBABACLOUD_EAIS_EXPORT EaisClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::AttachEaiResult> AttachEaiOutcome;
typedef std::future<AttachEaiOutcome> AttachEaiOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::AttachEaiRequest&, const AttachEaiOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AttachEaiAsyncHandler;
typedef Outcome<Error, Model::CreateEaiResult> CreateEaiOutcome;
typedef std::future<CreateEaiOutcome> CreateEaiOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::CreateEaiRequest&, const CreateEaiOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateEaiAsyncHandler;
typedef Outcome<Error, Model::CreateEaiAllResult> CreateEaiAllOutcome;
typedef std::future<CreateEaiAllOutcome> CreateEaiAllOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::CreateEaiAllRequest&, const CreateEaiAllOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateEaiAllAsyncHandler;
typedef Outcome<Error, Model::DeleteEaiResult> DeleteEaiOutcome;
typedef std::future<DeleteEaiOutcome> DeleteEaiOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::DeleteEaiRequest&, const DeleteEaiOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteEaiAsyncHandler;
typedef Outcome<Error, Model::DeleteEaiAllResult> DeleteEaiAllOutcome;
typedef std::future<DeleteEaiAllOutcome> DeleteEaiAllOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::DeleteEaiAllRequest&, const DeleteEaiAllOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteEaiAllAsyncHandler;
typedef Outcome<Error, Model::DescribeEaisResult> DescribeEaisOutcome;
typedef std::future<DescribeEaisOutcome> DescribeEaisOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::DescribeEaisRequest&, const DescribeEaisOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEaisAsyncHandler;
typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
typedef Outcome<Error, Model::DetachEaiResult> DetachEaiOutcome;
typedef std::future<DetachEaiOutcome> DetachEaiOutcomeCallable;
typedef std::function<void(const EaisClient*, const Model::DetachEaiRequest&, const DetachEaiOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DetachEaiAsyncHandler;
EaisClient(const Credentials &credentials, const ClientConfiguration &configuration);
EaisClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
EaisClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~EaisClient();
AttachEaiOutcome attachEai(const Model::AttachEaiRequest &request)const;
void attachEaiAsync(const Model::AttachEaiRequest& request, const AttachEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AttachEaiOutcomeCallable attachEaiCallable(const Model::AttachEaiRequest& request) const;
CreateEaiOutcome createEai(const Model::CreateEaiRequest &request)const;
void createEaiAsync(const Model::CreateEaiRequest& request, const CreateEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateEaiOutcomeCallable createEaiCallable(const Model::CreateEaiRequest& request) const;
CreateEaiAllOutcome createEaiAll(const Model::CreateEaiAllRequest &request)const;
void createEaiAllAsync(const Model::CreateEaiAllRequest& request, const CreateEaiAllAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateEaiAllOutcomeCallable createEaiAllCallable(const Model::CreateEaiAllRequest& request) const;
DeleteEaiOutcome deleteEai(const Model::DeleteEaiRequest &request)const;
void deleteEaiAsync(const Model::DeleteEaiRequest& request, const DeleteEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DeleteEaiOutcomeCallable deleteEaiCallable(const Model::DeleteEaiRequest& request) const;
DeleteEaiAllOutcome deleteEaiAll(const Model::DeleteEaiAllRequest &request)const;
void deleteEaiAllAsync(const Model::DeleteEaiAllRequest& request, const DeleteEaiAllAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DeleteEaiAllOutcomeCallable deleteEaiAllCallable(const Model::DeleteEaiAllRequest& request) const;
DescribeEaisOutcome describeEais(const Model::DescribeEaisRequest &request)const;
void describeEaisAsync(const Model::DescribeEaisRequest& request, const DescribeEaisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeEaisOutcomeCallable describeEaisCallable(const Model::DescribeEaisRequest& request) const;
DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
DetachEaiOutcome detachEai(const Model::DetachEaiRequest &request)const;
void detachEaiAsync(const Model::DetachEaiRequest& request, const DetachEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DetachEaiOutcomeCallable detachEaiCallable(const Model::DetachEaiRequest& request) const;
private:
std::shared_ptr<EndpointProvider> endpointProvider_;
};
}
}
#endif // !ALIBABACLOUD_EAIS_EAISCLIENT_H_

View File

@@ -0,0 +1,32 @@
/*
* 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_EAIS_EAISEXPORT_H_
#define ALIBABACLOUD_EAIS_EAISEXPORT_H_
#include <alibabacloud/core/Global.h>
#if defined(ALIBABACLOUD_SHARED)
# if defined(ALIBABACLOUD_EAIS_LIBRARY)
# define ALIBABACLOUD_EAIS_EXPORT ALIBABACLOUD_DECL_EXPORT
# else
# define ALIBABACLOUD_EAIS_EXPORT ALIBABACLOUD_DECL_IMPORT
# endif
#else
# define ALIBABACLOUD_EAIS_EXPORT
#endif
#endif // !ALIBABACLOUD_EAIS_EAISEXPORT_H_

View File

@@ -0,0 +1,54 @@
/*
* 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_EAIS_MODEL_ATTACHEAIREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_ATTACHEAIREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT AttachEaiRequest : public RpcServiceRequest
{
public:
AttachEaiRequest();
~AttachEaiRequest();
std::string getClientInstanceId()const;
void setClientInstanceId(const std::string& clientInstanceId);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getElasticAcceleratedInstanceId()const;
void setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId);
private:
std::string clientInstanceId_;
std::string regionId_;
std::string elasticAcceleratedInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_ATTACHEAIREQUEST_H_

View File

@@ -0,0 +1,53 @@
/*
* 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_EAIS_MODEL_ATTACHEAIRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_ATTACHEAIRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT AttachEaiResult : public ServiceResult
{
public:
AttachEaiResult();
explicit AttachEaiResult(const std::string &payload);
~AttachEaiResult();
std::string getClientInstanceId()const;
std::string getElasticAcceleratedInstanceId()const;
protected:
void parse(const std::string &payload);
private:
std::string clientInstanceId_;
std::string elasticAcceleratedInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_ATTACHEAIRESULT_H_

View File

@@ -0,0 +1,90 @@
/*
* 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_EAIS_MODEL_CREATEEAIALLREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_CREATEEAIALLREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT CreateEaiAllRequest : public RpcServiceRequest
{
public:
CreateEaiAllRequest();
~CreateEaiAllRequest();
std::string getClientImageId()const;
void setClientImageId(const std::string& clientImageId);
std::string getClientSystemDiskCategory()const;
void setClientSystemDiskCategory(const std::string& clientSystemDiskCategory);
int getClientInternetMaxBandwidthOut()const;
void setClientInternetMaxBandwidthOut(int clientInternetMaxBandwidthOut);
std::string getClientToken()const;
void setClientToken(const std::string& clientToken);
std::string getClientInstanceName()const;
void setClientInstanceName(const std::string& clientInstanceName);
int getClientInternetMaxBandwidthIn()const;
void setClientInternetMaxBandwidthIn(int clientInternetMaxBandwidthIn);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
int getClientSystemDiskSize()const;
void setClientSystemDiskSize(int clientSystemDiskSize);
std::string getClientVSwitchId()const;
void setClientVSwitchId(const std::string& clientVSwitchId);
std::string getClientPassword()const;
void setClientPassword(const std::string& clientPassword);
std::string getClientInstanceType()const;
void setClientInstanceType(const std::string& clientInstanceType);
std::string getClientSecurityGroupId()const;
void setClientSecurityGroupId(const std::string& clientSecurityGroupId);
std::string getEaiInstanceType()const;
void setEaiInstanceType(const std::string& eaiInstanceType);
std::string getClientZoneId()const;
void setClientZoneId(const std::string& clientZoneId);
std::string getInstanceName()const;
void setInstanceName(const std::string& instanceName);
private:
std::string clientImageId_;
std::string clientSystemDiskCategory_;
int clientInternetMaxBandwidthOut_;
std::string clientToken_;
std::string clientInstanceName_;
int clientInternetMaxBandwidthIn_;
std::string regionId_;
int clientSystemDiskSize_;
std::string clientVSwitchId_;
std::string clientPassword_;
std::string clientInstanceType_;
std::string clientSecurityGroupId_;
std::string eaiInstanceType_;
std::string clientZoneId_;
std::string instanceName_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_CREATEEAIALLREQUEST_H_

View File

@@ -0,0 +1,53 @@
/*
* 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_EAIS_MODEL_CREATEEAIALLRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_CREATEEAIALLRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT CreateEaiAllResult : public ServiceResult
{
public:
CreateEaiAllResult();
explicit CreateEaiAllResult(const std::string &payload);
~CreateEaiAllResult();
std::string getClientInstanceId()const;
std::string getElasticAcceleratedInstanceId()const;
protected:
void parse(const std::string &payload);
private:
std::string clientInstanceId_;
std::string elasticAcceleratedInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_CREATEEAIALLRESULT_H_

View File

@@ -0,0 +1,57 @@
/*
* 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_EAIS_MODEL_CREATEEAIREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_CREATEEAIREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT CreateEaiRequest : public RpcServiceRequest
{
public:
CreateEaiRequest();
~CreateEaiRequest();
std::string getClientToken()const;
void setClientToken(const std::string& clientToken);
std::string getInstanceName()const;
void setInstanceName(const std::string& instanceName);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getInstanceType()const;
void setInstanceType(const std::string& instanceType);
private:
std::string clientToken_;
std::string instanceName_;
std::string regionId_;
std::string instanceType_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_CREATEEAIREQUEST_H_

View File

@@ -0,0 +1,51 @@
/*
* 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_EAIS_MODEL_CREATEEAIRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_CREATEEAIRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT CreateEaiResult : public ServiceResult
{
public:
CreateEaiResult();
explicit CreateEaiResult(const std::string &payload);
~CreateEaiResult();
std::string getElasticAcceleratedInstanceId()const;
protected:
void parse(const std::string &payload);
private:
std::string elasticAcceleratedInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_CREATEEAIRESULT_H_

View File

@@ -0,0 +1,54 @@
/*
* 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_EAIS_MODEL_DELETEEAIALLREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_DELETEEAIALLREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DeleteEaiAllRequest : public RpcServiceRequest
{
public:
DeleteEaiAllRequest();
~DeleteEaiAllRequest();
std::string getClientInstanceId()const;
void setClientInstanceId(const std::string& clientInstanceId);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getElasticAcceleratedInstanceId()const;
void setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId);
private:
std::string clientInstanceId_;
std::string regionId_;
std::string elasticAcceleratedInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DELETEEAIALLREQUEST_H_

View File

@@ -0,0 +1,49 @@
/*
* 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_EAIS_MODEL_DELETEEAIALLRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_DELETEEAIALLRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DeleteEaiAllResult : public ServiceResult
{
public:
DeleteEaiAllResult();
explicit DeleteEaiAllResult(const std::string &payload);
~DeleteEaiAllResult();
protected:
void parse(const std::string &payload);
private:
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DELETEEAIALLRESULT_H_

View File

@@ -0,0 +1,54 @@
/*
* 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_EAIS_MODEL_DELETEEAIREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_DELETEEAIREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DeleteEaiRequest : public RpcServiceRequest
{
public:
DeleteEaiRequest();
~DeleteEaiRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getElasticAcceleratedInstanceId()const;
void setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId);
bool getForce()const;
void setForce(bool force);
private:
std::string regionId_;
std::string elasticAcceleratedInstanceId_;
bool force_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DELETEEAIREQUEST_H_

View File

@@ -0,0 +1,49 @@
/*
* 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_EAIS_MODEL_DELETEEAIRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_DELETEEAIRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DeleteEaiResult : public ServiceResult
{
public:
DeleteEaiResult();
explicit DeleteEaiResult(const std::string &payload);
~DeleteEaiResult();
protected:
void parse(const std::string &payload);
private:
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DELETEEAIRESULT_H_

View File

@@ -0,0 +1,60 @@
/*
* 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_EAIS_MODEL_DESCRIBEEAISREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_DESCRIBEEAISREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DescribeEaisRequest : public RpcServiceRequest
{
public:
DescribeEaisRequest();
~DescribeEaisRequest();
std::string getElasticAcceleratedInstanceIds()const;
void setElasticAcceleratedInstanceIds(const std::string& elasticAcceleratedInstanceIds);
std::string getInstanceName()const;
void setInstanceName(const std::string& instanceName);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getInstanceType()const;
void setInstanceType(const std::string& instanceType);
std::string getStatus()const;
void setStatus(const std::string& status);
private:
std::string elasticAcceleratedInstanceIds_;
std::string instanceName_;
std::string regionId_;
std::string instanceType_;
std::string status_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DESCRIBEEAISREQUEST_H_

View File

@@ -0,0 +1,77 @@
/*
* 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_EAIS_MODEL_DESCRIBEEAISRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_DESCRIBEEAISRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DescribeEaisResult : public ServiceResult
{
public:
struct Instance
{
struct Tag
{
std::string tagKey;
std::string tagValue;
};
std::string instanceName;
std::string status;
std::string clientInstanceType;
std::string description;
std::string clientInstanceName;
std::string zoneId;
std::string creationTime;
std::string clientInstanceId;
std::string regionId;
std::string instanceType;
std::vector<Instance::Tag> tags;
std::string elasticAcceleratedInstanceId;
};
DescribeEaisResult();
explicit DescribeEaisResult(const std::string &payload);
~DescribeEaisResult();
std::vector<Instance> getInstances()const;
int getTotalCount()const;
int getPageSize()const;
int getPageNumber()const;
protected:
void parse(const std::string &payload);
private:
std::vector<Instance> instances_;
int totalCount_;
int pageSize_;
int pageNumber_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DESCRIBEEAISRESULT_H_

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_EAIS_MODEL_DESCRIBEREGIONSREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_DESCRIBEREGIONSREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DescribeRegionsRequest : public RpcServiceRequest
{
public:
DescribeRegionsRequest();
~DescribeRegionsRequest();
private:
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DESCRIBEREGIONSREQUEST_H_

View File

@@ -0,0 +1,57 @@
/*
* 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_EAIS_MODEL_DESCRIBEREGIONSRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_DESCRIBEREGIONSRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DescribeRegionsResult : public ServiceResult
{
public:
struct Region
{
std::string regionId;
std::string regionEndpoint;
std::string localName;
};
DescribeRegionsResult();
explicit DescribeRegionsResult(const std::string &payload);
~DescribeRegionsResult();
std::vector<Region> getRegions()const;
protected:
void parse(const std::string &payload);
private:
std::vector<Region> regions_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DESCRIBEREGIONSRESULT_H_

View File

@@ -0,0 +1,51 @@
/*
* 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_EAIS_MODEL_DETACHEAIREQUEST_H_
#define ALIBABACLOUD_EAIS_MODEL_DETACHEAIREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DetachEaiRequest : public RpcServiceRequest
{
public:
DetachEaiRequest();
~DetachEaiRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getElasticAcceleratedInstanceId()const;
void setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId);
private:
std::string regionId_;
std::string elasticAcceleratedInstanceId_;
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DETACHEAIREQUEST_H_

View File

@@ -0,0 +1,49 @@
/*
* 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_EAIS_MODEL_DETACHEAIRESULT_H_
#define ALIBABACLOUD_EAIS_MODEL_DETACHEAIRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/eais/EaisExport.h>
namespace AlibabaCloud
{
namespace Eais
{
namespace Model
{
class ALIBABACLOUD_EAIS_EXPORT DetachEaiResult : public ServiceResult
{
public:
DetachEaiResult();
explicit DetachEaiResult(const std::string &payload);
~DetachEaiResult();
protected:
void parse(const std::string &payload);
private:
};
}
}
}
#endif // !ALIBABACLOUD_EAIS_MODEL_DETACHEAIRESULT_H_

341
eais/src/EaisClient.cc Normal file
View File

@@ -0,0 +1,341 @@
/*
* 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/eais/EaisClient.h>
#include <alibabacloud/core/SimpleCredentialsProvider.h>
using namespace AlibabaCloud;
using namespace AlibabaCloud::Location;
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
namespace
{
const std::string SERVICE_NAME = "eais";
}
EaisClient::EaisClient(const Credentials &credentials, const ClientConfiguration &configuration) :
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
{
auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "eais");
}
EaisClient::EaisClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
{
auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "eais");
}
EaisClient::EaisClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
{
auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "eais");
}
EaisClient::~EaisClient()
{}
EaisClient::AttachEaiOutcome EaisClient::attachEai(const AttachEaiRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return AttachEaiOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return AttachEaiOutcome(AttachEaiResult(outcome.result()));
else
return AttachEaiOutcome(outcome.error());
}
void EaisClient::attachEaiAsync(const AttachEaiRequest& request, const AttachEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, attachEai(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::AttachEaiOutcomeCallable EaisClient::attachEaiCallable(const AttachEaiRequest &request) const
{
auto task = std::make_shared<std::packaged_task<AttachEaiOutcome()>>(
[this, request]()
{
return this->attachEai(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::CreateEaiOutcome EaisClient::createEai(const CreateEaiRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return CreateEaiOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return CreateEaiOutcome(CreateEaiResult(outcome.result()));
else
return CreateEaiOutcome(outcome.error());
}
void EaisClient::createEaiAsync(const CreateEaiRequest& request, const CreateEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, createEai(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::CreateEaiOutcomeCallable EaisClient::createEaiCallable(const CreateEaiRequest &request) const
{
auto task = std::make_shared<std::packaged_task<CreateEaiOutcome()>>(
[this, request]()
{
return this->createEai(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::CreateEaiAllOutcome EaisClient::createEaiAll(const CreateEaiAllRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return CreateEaiAllOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return CreateEaiAllOutcome(CreateEaiAllResult(outcome.result()));
else
return CreateEaiAllOutcome(outcome.error());
}
void EaisClient::createEaiAllAsync(const CreateEaiAllRequest& request, const CreateEaiAllAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, createEaiAll(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::CreateEaiAllOutcomeCallable EaisClient::createEaiAllCallable(const CreateEaiAllRequest &request) const
{
auto task = std::make_shared<std::packaged_task<CreateEaiAllOutcome()>>(
[this, request]()
{
return this->createEaiAll(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::DeleteEaiOutcome EaisClient::deleteEai(const DeleteEaiRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DeleteEaiOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DeleteEaiOutcome(DeleteEaiResult(outcome.result()));
else
return DeleteEaiOutcome(outcome.error());
}
void EaisClient::deleteEaiAsync(const DeleteEaiRequest& request, const DeleteEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, deleteEai(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::DeleteEaiOutcomeCallable EaisClient::deleteEaiCallable(const DeleteEaiRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DeleteEaiOutcome()>>(
[this, request]()
{
return this->deleteEai(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::DeleteEaiAllOutcome EaisClient::deleteEaiAll(const DeleteEaiAllRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DeleteEaiAllOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DeleteEaiAllOutcome(DeleteEaiAllResult(outcome.result()));
else
return DeleteEaiAllOutcome(outcome.error());
}
void EaisClient::deleteEaiAllAsync(const DeleteEaiAllRequest& request, const DeleteEaiAllAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, deleteEaiAll(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::DeleteEaiAllOutcomeCallable EaisClient::deleteEaiAllCallable(const DeleteEaiAllRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DeleteEaiAllOutcome()>>(
[this, request]()
{
return this->deleteEaiAll(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::DescribeEaisOutcome EaisClient::describeEais(const DescribeEaisRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribeEaisOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribeEaisOutcome(DescribeEaisResult(outcome.result()));
else
return DescribeEaisOutcome(outcome.error());
}
void EaisClient::describeEaisAsync(const DescribeEaisRequest& request, const DescribeEaisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describeEais(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::DescribeEaisOutcomeCallable EaisClient::describeEaisCallable(const DescribeEaisRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribeEaisOutcome()>>(
[this, request]()
{
return this->describeEais(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::DescribeRegionsOutcome EaisClient::describeRegions(const DescribeRegionsRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DescribeRegionsOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DescribeRegionsOutcome(DescribeRegionsResult(outcome.result()));
else
return DescribeRegionsOutcome(outcome.error());
}
void EaisClient::describeRegionsAsync(const DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, describeRegions(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::DescribeRegionsOutcomeCallable EaisClient::describeRegionsCallable(const DescribeRegionsRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DescribeRegionsOutcome()>>(
[this, request]()
{
return this->describeRegions(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
EaisClient::DetachEaiOutcome EaisClient::detachEai(const DetachEaiRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DetachEaiOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DetachEaiOutcome(DetachEaiResult(outcome.result()));
else
return DetachEaiOutcome(outcome.error());
}
void EaisClient::detachEaiAsync(const DetachEaiRequest& request, const DetachEaiAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, detachEai(request), context);
};
asyncExecute(new Runnable(fn));
}
EaisClient::DetachEaiOutcomeCallable EaisClient::detachEaiCallable(const DetachEaiRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DetachEaiOutcome()>>(
[this, request]()
{
return this->detachEai(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}

View File

@@ -0,0 +1,62 @@
/*
* 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/eais/model/AttachEaiRequest.h>
using AlibabaCloud::Eais::Model::AttachEaiRequest;
AttachEaiRequest::AttachEaiRequest() :
RpcServiceRequest("eais", "2019-06-24", "AttachEai")
{
setMethod(HttpRequest::Method::Post);
}
AttachEaiRequest::~AttachEaiRequest()
{}
std::string AttachEaiRequest::getClientInstanceId()const
{
return clientInstanceId_;
}
void AttachEaiRequest::setClientInstanceId(const std::string& clientInstanceId)
{
clientInstanceId_ = clientInstanceId;
setParameter("ClientInstanceId", clientInstanceId);
}
std::string AttachEaiRequest::getRegionId()const
{
return regionId_;
}
void AttachEaiRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string AttachEaiRequest::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}
void AttachEaiRequest::setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId)
{
elasticAcceleratedInstanceId_ = elasticAcceleratedInstanceId;
setParameter("ElasticAcceleratedInstanceId", elasticAcceleratedInstanceId);
}

View File

@@ -0,0 +1,58 @@
/*
* 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/eais/model/AttachEaiResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
AttachEaiResult::AttachEaiResult() :
ServiceResult()
{}
AttachEaiResult::AttachEaiResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
AttachEaiResult::~AttachEaiResult()
{}
void AttachEaiResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
if(!value["ElasticAcceleratedInstanceId"].isNull())
elasticAcceleratedInstanceId_ = value["ElasticAcceleratedInstanceId"].asString();
if(!value["ClientInstanceId"].isNull())
clientInstanceId_ = value["ClientInstanceId"].asString();
}
std::string AttachEaiResult::getClientInstanceId()const
{
return clientInstanceId_;
}
std::string AttachEaiResult::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}

View File

@@ -0,0 +1,194 @@
/*
* 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/eais/model/CreateEaiAllRequest.h>
using AlibabaCloud::Eais::Model::CreateEaiAllRequest;
CreateEaiAllRequest::CreateEaiAllRequest() :
RpcServiceRequest("eais", "2019-06-24", "CreateEaiAll")
{
setMethod(HttpRequest::Method::Post);
}
CreateEaiAllRequest::~CreateEaiAllRequest()
{}
std::string CreateEaiAllRequest::getClientImageId()const
{
return clientImageId_;
}
void CreateEaiAllRequest::setClientImageId(const std::string& clientImageId)
{
clientImageId_ = clientImageId;
setParameter("ClientImageId", clientImageId);
}
std::string CreateEaiAllRequest::getClientSystemDiskCategory()const
{
return clientSystemDiskCategory_;
}
void CreateEaiAllRequest::setClientSystemDiskCategory(const std::string& clientSystemDiskCategory)
{
clientSystemDiskCategory_ = clientSystemDiskCategory;
setParameter("ClientSystemDiskCategory", clientSystemDiskCategory);
}
int CreateEaiAllRequest::getClientInternetMaxBandwidthOut()const
{
return clientInternetMaxBandwidthOut_;
}
void CreateEaiAllRequest::setClientInternetMaxBandwidthOut(int clientInternetMaxBandwidthOut)
{
clientInternetMaxBandwidthOut_ = clientInternetMaxBandwidthOut;
setParameter("ClientInternetMaxBandwidthOut", std::to_string(clientInternetMaxBandwidthOut));
}
std::string CreateEaiAllRequest::getClientToken()const
{
return clientToken_;
}
void CreateEaiAllRequest::setClientToken(const std::string& clientToken)
{
clientToken_ = clientToken;
setParameter("ClientToken", clientToken);
}
std::string CreateEaiAllRequest::getClientInstanceName()const
{
return clientInstanceName_;
}
void CreateEaiAllRequest::setClientInstanceName(const std::string& clientInstanceName)
{
clientInstanceName_ = clientInstanceName;
setParameter("ClientInstanceName", clientInstanceName);
}
int CreateEaiAllRequest::getClientInternetMaxBandwidthIn()const
{
return clientInternetMaxBandwidthIn_;
}
void CreateEaiAllRequest::setClientInternetMaxBandwidthIn(int clientInternetMaxBandwidthIn)
{
clientInternetMaxBandwidthIn_ = clientInternetMaxBandwidthIn;
setParameter("ClientInternetMaxBandwidthIn", std::to_string(clientInternetMaxBandwidthIn));
}
std::string CreateEaiAllRequest::getRegionId()const
{
return regionId_;
}
void CreateEaiAllRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
int CreateEaiAllRequest::getClientSystemDiskSize()const
{
return clientSystemDiskSize_;
}
void CreateEaiAllRequest::setClientSystemDiskSize(int clientSystemDiskSize)
{
clientSystemDiskSize_ = clientSystemDiskSize;
setParameter("ClientSystemDiskSize", std::to_string(clientSystemDiskSize));
}
std::string CreateEaiAllRequest::getClientVSwitchId()const
{
return clientVSwitchId_;
}
void CreateEaiAllRequest::setClientVSwitchId(const std::string& clientVSwitchId)
{
clientVSwitchId_ = clientVSwitchId;
setParameter("ClientVSwitchId", clientVSwitchId);
}
std::string CreateEaiAllRequest::getClientPassword()const
{
return clientPassword_;
}
void CreateEaiAllRequest::setClientPassword(const std::string& clientPassword)
{
clientPassword_ = clientPassword;
setParameter("ClientPassword", clientPassword);
}
std::string CreateEaiAllRequest::getClientInstanceType()const
{
return clientInstanceType_;
}
void CreateEaiAllRequest::setClientInstanceType(const std::string& clientInstanceType)
{
clientInstanceType_ = clientInstanceType;
setParameter("ClientInstanceType", clientInstanceType);
}
std::string CreateEaiAllRequest::getClientSecurityGroupId()const
{
return clientSecurityGroupId_;
}
void CreateEaiAllRequest::setClientSecurityGroupId(const std::string& clientSecurityGroupId)
{
clientSecurityGroupId_ = clientSecurityGroupId;
setParameter("ClientSecurityGroupId", clientSecurityGroupId);
}
std::string CreateEaiAllRequest::getEaiInstanceType()const
{
return eaiInstanceType_;
}
void CreateEaiAllRequest::setEaiInstanceType(const std::string& eaiInstanceType)
{
eaiInstanceType_ = eaiInstanceType;
setParameter("EaiInstanceType", eaiInstanceType);
}
std::string CreateEaiAllRequest::getClientZoneId()const
{
return clientZoneId_;
}
void CreateEaiAllRequest::setClientZoneId(const std::string& clientZoneId)
{
clientZoneId_ = clientZoneId;
setParameter("ClientZoneId", clientZoneId);
}
std::string CreateEaiAllRequest::getInstanceName()const
{
return instanceName_;
}
void CreateEaiAllRequest::setInstanceName(const std::string& instanceName)
{
instanceName_ = instanceName;
setParameter("InstanceName", instanceName);
}

View File

@@ -0,0 +1,58 @@
/*
* 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/eais/model/CreateEaiAllResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
CreateEaiAllResult::CreateEaiAllResult() :
ServiceResult()
{}
CreateEaiAllResult::CreateEaiAllResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
CreateEaiAllResult::~CreateEaiAllResult()
{}
void CreateEaiAllResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
if(!value["ElasticAcceleratedInstanceId"].isNull())
elasticAcceleratedInstanceId_ = value["ElasticAcceleratedInstanceId"].asString();
if(!value["ClientInstanceId"].isNull())
clientInstanceId_ = value["ClientInstanceId"].asString();
}
std::string CreateEaiAllResult::getClientInstanceId()const
{
return clientInstanceId_;
}
std::string CreateEaiAllResult::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}

View File

@@ -0,0 +1,73 @@
/*
* 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/eais/model/CreateEaiRequest.h>
using AlibabaCloud::Eais::Model::CreateEaiRequest;
CreateEaiRequest::CreateEaiRequest() :
RpcServiceRequest("eais", "2019-06-24", "CreateEai")
{
setMethod(HttpRequest::Method::Post);
}
CreateEaiRequest::~CreateEaiRequest()
{}
std::string CreateEaiRequest::getClientToken()const
{
return clientToken_;
}
void CreateEaiRequest::setClientToken(const std::string& clientToken)
{
clientToken_ = clientToken;
setParameter("ClientToken", clientToken);
}
std::string CreateEaiRequest::getInstanceName()const
{
return instanceName_;
}
void CreateEaiRequest::setInstanceName(const std::string& instanceName)
{
instanceName_ = instanceName;
setParameter("InstanceName", instanceName);
}
std::string CreateEaiRequest::getRegionId()const
{
return regionId_;
}
void CreateEaiRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string CreateEaiRequest::getInstanceType()const
{
return instanceType_;
}
void CreateEaiRequest::setInstanceType(const std::string& instanceType)
{
instanceType_ = instanceType;
setParameter("InstanceType", instanceType);
}

View File

@@ -0,0 +1,51 @@
/*
* 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/eais/model/CreateEaiResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
CreateEaiResult::CreateEaiResult() :
ServiceResult()
{}
CreateEaiResult::CreateEaiResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
CreateEaiResult::~CreateEaiResult()
{}
void CreateEaiResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
if(!value["ElasticAcceleratedInstanceId"].isNull())
elasticAcceleratedInstanceId_ = value["ElasticAcceleratedInstanceId"].asString();
}
std::string CreateEaiResult::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}

View File

@@ -0,0 +1,62 @@
/*
* 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/eais/model/DeleteEaiAllRequest.h>
using AlibabaCloud::Eais::Model::DeleteEaiAllRequest;
DeleteEaiAllRequest::DeleteEaiAllRequest() :
RpcServiceRequest("eais", "2019-06-24", "DeleteEaiAll")
{
setMethod(HttpRequest::Method::Post);
}
DeleteEaiAllRequest::~DeleteEaiAllRequest()
{}
std::string DeleteEaiAllRequest::getClientInstanceId()const
{
return clientInstanceId_;
}
void DeleteEaiAllRequest::setClientInstanceId(const std::string& clientInstanceId)
{
clientInstanceId_ = clientInstanceId;
setParameter("ClientInstanceId", clientInstanceId);
}
std::string DeleteEaiAllRequest::getRegionId()const
{
return regionId_;
}
void DeleteEaiAllRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string DeleteEaiAllRequest::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}
void DeleteEaiAllRequest::setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId)
{
elasticAcceleratedInstanceId_ = elasticAcceleratedInstanceId;
setParameter("ElasticAcceleratedInstanceId", elasticAcceleratedInstanceId);
}

View File

@@ -0,0 +1,44 @@
/*
* 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/eais/model/DeleteEaiAllResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
DeleteEaiAllResult::DeleteEaiAllResult() :
ServiceResult()
{}
DeleteEaiAllResult::DeleteEaiAllResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DeleteEaiAllResult::~DeleteEaiAllResult()
{}
void DeleteEaiAllResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
}

View File

@@ -0,0 +1,62 @@
/*
* 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/eais/model/DeleteEaiRequest.h>
using AlibabaCloud::Eais::Model::DeleteEaiRequest;
DeleteEaiRequest::DeleteEaiRequest() :
RpcServiceRequest("eais", "2019-06-24", "DeleteEai")
{
setMethod(HttpRequest::Method::Post);
}
DeleteEaiRequest::~DeleteEaiRequest()
{}
std::string DeleteEaiRequest::getRegionId()const
{
return regionId_;
}
void DeleteEaiRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string DeleteEaiRequest::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}
void DeleteEaiRequest::setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId)
{
elasticAcceleratedInstanceId_ = elasticAcceleratedInstanceId;
setParameter("ElasticAcceleratedInstanceId", elasticAcceleratedInstanceId);
}
bool DeleteEaiRequest::getForce()const
{
return force_;
}
void DeleteEaiRequest::setForce(bool force)
{
force_ = force;
setParameter("Force", force ? "true" : "false");
}

View File

@@ -0,0 +1,44 @@
/*
* 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/eais/model/DeleteEaiResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
DeleteEaiResult::DeleteEaiResult() :
ServiceResult()
{}
DeleteEaiResult::DeleteEaiResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DeleteEaiResult::~DeleteEaiResult()
{}
void DeleteEaiResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
}

View File

@@ -0,0 +1,84 @@
/*
* 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/eais/model/DescribeEaisRequest.h>
using AlibabaCloud::Eais::Model::DescribeEaisRequest;
DescribeEaisRequest::DescribeEaisRequest() :
RpcServiceRequest("eais", "2019-06-24", "DescribeEais")
{
setMethod(HttpRequest::Method::Post);
}
DescribeEaisRequest::~DescribeEaisRequest()
{}
std::string DescribeEaisRequest::getElasticAcceleratedInstanceIds()const
{
return elasticAcceleratedInstanceIds_;
}
void DescribeEaisRequest::setElasticAcceleratedInstanceIds(const std::string& elasticAcceleratedInstanceIds)
{
elasticAcceleratedInstanceIds_ = elasticAcceleratedInstanceIds;
setParameter("ElasticAcceleratedInstanceIds", elasticAcceleratedInstanceIds);
}
std::string DescribeEaisRequest::getInstanceName()const
{
return instanceName_;
}
void DescribeEaisRequest::setInstanceName(const std::string& instanceName)
{
instanceName_ = instanceName;
setParameter("InstanceName", instanceName);
}
std::string DescribeEaisRequest::getRegionId()const
{
return regionId_;
}
void DescribeEaisRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string DescribeEaisRequest::getInstanceType()const
{
return instanceType_;
}
void DescribeEaisRequest::setInstanceType(const std::string& instanceType)
{
instanceType_ = instanceType;
setParameter("InstanceType", instanceType);
}
std::string DescribeEaisRequest::getStatus()const
{
return status_;
}
void DescribeEaisRequest::setStatus(const std::string& status)
{
status_ = status;
setParameter("Status", status);
}

View File

@@ -0,0 +1,108 @@
/*
* 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/eais/model/DescribeEaisResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
DescribeEaisResult::DescribeEaisResult() :
ServiceResult()
{}
DescribeEaisResult::DescribeEaisResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeEaisResult::~DescribeEaisResult()
{}
void DescribeEaisResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allInstancesNode = value["Instances"]["Instance"];
for (auto valueInstancesInstance : allInstancesNode)
{
Instance instancesObject;
if(!valueInstancesInstance["RegionId"].isNull())
instancesObject.regionId = valueInstancesInstance["RegionId"].asString();
if(!valueInstancesInstance["ZoneId"].isNull())
instancesObject.zoneId = valueInstancesInstance["ZoneId"].asString();
if(!valueInstancesInstance["CreationTime"].isNull())
instancesObject.creationTime = valueInstancesInstance["CreationTime"].asString();
if(!valueInstancesInstance["InstanceName"].isNull())
instancesObject.instanceName = valueInstancesInstance["InstanceName"].asString();
if(!valueInstancesInstance["Description"].isNull())
instancesObject.description = valueInstancesInstance["Description"].asString();
if(!valueInstancesInstance["Status"].isNull())
instancesObject.status = valueInstancesInstance["Status"].asString();
if(!valueInstancesInstance["ElasticAcceleratedInstanceId"].isNull())
instancesObject.elasticAcceleratedInstanceId = valueInstancesInstance["ElasticAcceleratedInstanceId"].asString();
if(!valueInstancesInstance["ClientInstanceId"].isNull())
instancesObject.clientInstanceId = valueInstancesInstance["ClientInstanceId"].asString();
if(!valueInstancesInstance["InstanceType"].isNull())
instancesObject.instanceType = valueInstancesInstance["InstanceType"].asString();
if(!valueInstancesInstance["ClientInstanceType"].isNull())
instancesObject.clientInstanceType = valueInstancesInstance["ClientInstanceType"].asString();
if(!valueInstancesInstance["ClientInstanceName"].isNull())
instancesObject.clientInstanceName = valueInstancesInstance["ClientInstanceName"].asString();
auto allTagsNode = valueInstancesInstance["Tags"]["Tag"];
for (auto valueInstancesInstanceTagsTag : allTagsNode)
{
Instance::Tag tagsObject;
if(!valueInstancesInstanceTagsTag["TagValue"].isNull())
tagsObject.tagValue = valueInstancesInstanceTagsTag["TagValue"].asString();
if(!valueInstancesInstanceTagsTag["TagKey"].isNull())
tagsObject.tagKey = valueInstancesInstanceTagsTag["TagKey"].asString();
instancesObject.tags.push_back(tagsObject);
}
instances_.push_back(instancesObject);
}
if(!value["PageNumber"].isNull())
pageNumber_ = std::stoi(value["PageNumber"].asString());
if(!value["TotalCount"].isNull())
totalCount_ = std::stoi(value["TotalCount"].asString());
if(!value["PageSize"].isNull())
pageSize_ = std::stoi(value["PageSize"].asString());
}
std::vector<DescribeEaisResult::Instance> DescribeEaisResult::getInstances()const
{
return instances_;
}
int DescribeEaisResult::getTotalCount()const
{
return totalCount_;
}
int DescribeEaisResult::getPageSize()const
{
return pageSize_;
}
int DescribeEaisResult::getPageNumber()const
{
return pageNumber_;
}

View File

@@ -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/eais/model/DescribeRegionsRequest.h>
using AlibabaCloud::Eais::Model::DescribeRegionsRequest;
DescribeRegionsRequest::DescribeRegionsRequest() :
RpcServiceRequest("eais", "2019-06-24", "DescribeRegions")
{
setMethod(HttpRequest::Method::Post);
}
DescribeRegionsRequest::~DescribeRegionsRequest()
{}

View File

@@ -0,0 +1,61 @@
/*
* 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/eais/model/DescribeRegionsResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
DescribeRegionsResult::DescribeRegionsResult() :
ServiceResult()
{}
DescribeRegionsResult::DescribeRegionsResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DescribeRegionsResult::~DescribeRegionsResult()
{}
void DescribeRegionsResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
auto allRegionsNode = value["Regions"]["Region"];
for (auto valueRegionsRegion : allRegionsNode)
{
Region regionsObject;
if(!valueRegionsRegion["RegionId"].isNull())
regionsObject.regionId = valueRegionsRegion["RegionId"].asString();
if(!valueRegionsRegion["RegionEndpoint"].isNull())
regionsObject.regionEndpoint = valueRegionsRegion["RegionEndpoint"].asString();
if(!valueRegionsRegion["LocalName"].isNull())
regionsObject.localName = valueRegionsRegion["LocalName"].asString();
regions_.push_back(regionsObject);
}
}
std::vector<DescribeRegionsResult::Region> DescribeRegionsResult::getRegions()const
{
return regions_;
}

View File

@@ -0,0 +1,51 @@
/*
* 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/eais/model/DetachEaiRequest.h>
using AlibabaCloud::Eais::Model::DetachEaiRequest;
DetachEaiRequest::DetachEaiRequest() :
RpcServiceRequest("eais", "2019-06-24", "DetachEai")
{
setMethod(HttpRequest::Method::Post);
}
DetachEaiRequest::~DetachEaiRequest()
{}
std::string DetachEaiRequest::getRegionId()const
{
return regionId_;
}
void DetachEaiRequest::setRegionId(const std::string& regionId)
{
regionId_ = regionId;
setParameter("RegionId", regionId);
}
std::string DetachEaiRequest::getElasticAcceleratedInstanceId()const
{
return elasticAcceleratedInstanceId_;
}
void DetachEaiRequest::setElasticAcceleratedInstanceId(const std::string& elasticAcceleratedInstanceId)
{
elasticAcceleratedInstanceId_ = elasticAcceleratedInstanceId;
setParameter("ElasticAcceleratedInstanceId", elasticAcceleratedInstanceId);
}

View File

@@ -0,0 +1,44 @@
/*
* 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/eais/model/DetachEaiResult.h>
#include <json/json.h>
using namespace AlibabaCloud::Eais;
using namespace AlibabaCloud::Eais::Model;
DetachEaiResult::DetachEaiResult() :
ServiceResult()
{}
DetachEaiResult::DetachEaiResult(const std::string &payload) :
ServiceResult()
{
parse(payload);
}
DetachEaiResult::~DetachEaiResult()
{}
void DetachEaiResult::parse(const std::string &payload)
{
Json::Reader reader;
Json::Value value;
reader.parse(payload, value);
setRequestId(value["RequestId"].asString());
}