Support record for ecs.
This commit is contained in:
102
ecs-workbench/CMakeLists.txt
Normal file
102
ecs-workbench/CMakeLists.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
#
|
||||
# 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(ecs-workbench_public_header
|
||||
include/alibabacloud/ecs-workbench/Ecs_workbenchClient.h
|
||||
include/alibabacloud/ecs-workbench/Ecs_workbenchExport.h )
|
||||
|
||||
set(ecs-workbench_public_header_model
|
||||
include/alibabacloud/ecs-workbench/model/GetInstanceRecordConfigRequest.h
|
||||
include/alibabacloud/ecs-workbench/model/GetInstanceRecordConfigResult.h
|
||||
include/alibabacloud/ecs-workbench/model/ListInstanceRecordsRequest.h
|
||||
include/alibabacloud/ecs-workbench/model/ListInstanceRecordsResult.h
|
||||
include/alibabacloud/ecs-workbench/model/LoginInstanceRequest.h
|
||||
include/alibabacloud/ecs-workbench/model/LoginInstanceResult.h
|
||||
include/alibabacloud/ecs-workbench/model/SetInstanceRecordConfigRequest.h
|
||||
include/alibabacloud/ecs-workbench/model/SetInstanceRecordConfigResult.h
|
||||
include/alibabacloud/ecs-workbench/model/ViewInstanceRecordsRequest.h
|
||||
include/alibabacloud/ecs-workbench/model/ViewInstanceRecordsResult.h )
|
||||
|
||||
set(ecs-workbench_src
|
||||
src/Ecs-workbenchClient.cc
|
||||
src/model/GetInstanceRecordConfigRequest.cc
|
||||
src/model/GetInstanceRecordConfigResult.cc
|
||||
src/model/ListInstanceRecordsRequest.cc
|
||||
src/model/ListInstanceRecordsResult.cc
|
||||
src/model/LoginInstanceRequest.cc
|
||||
src/model/LoginInstanceResult.cc
|
||||
src/model/SetInstanceRecordConfigRequest.cc
|
||||
src/model/SetInstanceRecordConfigResult.cc
|
||||
src/model/ViewInstanceRecordsRequest.cc
|
||||
src/model/ViewInstanceRecordsResult.cc )
|
||||
|
||||
add_library(ecs-workbench ${LIB_TYPE}
|
||||
${ecs-workbench_public_header}
|
||||
${ecs-workbench_public_header_model}
|
||||
${ecs-workbench_src})
|
||||
|
||||
set_target_properties(ecs-workbench
|
||||
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}ecs-workbench
|
||||
)
|
||||
|
||||
if(${LIB_TYPE} STREQUAL "SHARED")
|
||||
set_target_properties(ecs-workbench
|
||||
PROPERTIES
|
||||
DEFINE_SYMBOL ALIBABACLOUD_ECS_WORKBENCH_LIBRARY)
|
||||
endif()
|
||||
|
||||
target_include_directories(ecs-workbench
|
||||
PRIVATE include
|
||||
${CMAKE_SOURCE_DIR}/core/include
|
||||
)
|
||||
target_link_libraries(ecs-workbench
|
||||
core)
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
|
||||
set(jsoncpp_install_dir ${INSTALL_DIR})
|
||||
add_dependencies(ecs-workbench
|
||||
jsoncpp)
|
||||
target_include_directories(ecs-workbench
|
||||
PRIVATE ${jsoncpp_install_dir}/include)
|
||||
target_link_libraries(ecs-workbench
|
||||
${jsoncpp_install_dir}/lib/jsoncpp.lib)
|
||||
set_target_properties(ecs-workbench
|
||||
PROPERTIES
|
||||
COMPILE_OPTIONS "/bigobj")
|
||||
else()
|
||||
target_include_directories(ecs-workbench
|
||||
PRIVATE /usr/include/jsoncpp)
|
||||
target_link_libraries(ecs-workbench
|
||||
jsoncpp)
|
||||
endif()
|
||||
|
||||
install(FILES ${ecs-workbench_public_header}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/ecs-workbench)
|
||||
install(FILES ${ecs-workbench_public_header_model}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/ecs-workbench/model)
|
||||
install(TARGETS ecs-workbench
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* 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_ECS_WORKBENCH_ECS_WORKBENCHCLIENT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_ECS_WORKBENCHCLIENT_H_
|
||||
|
||||
#include <future>
|
||||
#include <alibabacloud/core/AsyncCallerContext.h>
|
||||
#include <alibabacloud/core/EndpointProvider.h>
|
||||
#include <alibabacloud/core/RpcServiceClient.h>
|
||||
#include "Ecs_workbenchExport.h"
|
||||
#include "model/GetInstanceRecordConfigRequest.h"
|
||||
#include "model/GetInstanceRecordConfigResult.h"
|
||||
#include "model/ListInstanceRecordsRequest.h"
|
||||
#include "model/ListInstanceRecordsResult.h"
|
||||
#include "model/LoginInstanceRequest.h"
|
||||
#include "model/LoginInstanceResult.h"
|
||||
#include "model/SetInstanceRecordConfigRequest.h"
|
||||
#include "model/SetInstanceRecordConfigResult.h"
|
||||
#include "model/ViewInstanceRecordsRequest.h"
|
||||
#include "model/ViewInstanceRecordsResult.h"
|
||||
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Ecs_workbench
|
||||
{
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT Ecs_workbenchClient : public RpcServiceClient
|
||||
{
|
||||
public:
|
||||
typedef Outcome<Error, Model::GetInstanceRecordConfigResult> GetInstanceRecordConfigOutcome;
|
||||
typedef std::future<GetInstanceRecordConfigOutcome> GetInstanceRecordConfigOutcomeCallable;
|
||||
typedef std::function<void(const Ecs_workbenchClient*, const Model::GetInstanceRecordConfigRequest&, const GetInstanceRecordConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetInstanceRecordConfigAsyncHandler;
|
||||
typedef Outcome<Error, Model::ListInstanceRecordsResult> ListInstanceRecordsOutcome;
|
||||
typedef std::future<ListInstanceRecordsOutcome> ListInstanceRecordsOutcomeCallable;
|
||||
typedef std::function<void(const Ecs_workbenchClient*, const Model::ListInstanceRecordsRequest&, const ListInstanceRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListInstanceRecordsAsyncHandler;
|
||||
typedef Outcome<Error, Model::LoginInstanceResult> LoginInstanceOutcome;
|
||||
typedef std::future<LoginInstanceOutcome> LoginInstanceOutcomeCallable;
|
||||
typedef std::function<void(const Ecs_workbenchClient*, const Model::LoginInstanceRequest&, const LoginInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> LoginInstanceAsyncHandler;
|
||||
typedef Outcome<Error, Model::SetInstanceRecordConfigResult> SetInstanceRecordConfigOutcome;
|
||||
typedef std::future<SetInstanceRecordConfigOutcome> SetInstanceRecordConfigOutcomeCallable;
|
||||
typedef std::function<void(const Ecs_workbenchClient*, const Model::SetInstanceRecordConfigRequest&, const SetInstanceRecordConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetInstanceRecordConfigAsyncHandler;
|
||||
typedef Outcome<Error, Model::ViewInstanceRecordsResult> ViewInstanceRecordsOutcome;
|
||||
typedef std::future<ViewInstanceRecordsOutcome> ViewInstanceRecordsOutcomeCallable;
|
||||
typedef std::function<void(const Ecs_workbenchClient*, const Model::ViewInstanceRecordsRequest&, const ViewInstanceRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ViewInstanceRecordsAsyncHandler;
|
||||
|
||||
Ecs_workbenchClient(const Credentials &credentials, const ClientConfiguration &configuration);
|
||||
Ecs_workbenchClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
|
||||
Ecs_workbenchClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
|
||||
~Ecs_workbenchClient();
|
||||
GetInstanceRecordConfigOutcome getInstanceRecordConfig(const Model::GetInstanceRecordConfigRequest &request)const;
|
||||
void getInstanceRecordConfigAsync(const Model::GetInstanceRecordConfigRequest& request, const GetInstanceRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
GetInstanceRecordConfigOutcomeCallable getInstanceRecordConfigCallable(const Model::GetInstanceRecordConfigRequest& request) const;
|
||||
ListInstanceRecordsOutcome listInstanceRecords(const Model::ListInstanceRecordsRequest &request)const;
|
||||
void listInstanceRecordsAsync(const Model::ListInstanceRecordsRequest& request, const ListInstanceRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
ListInstanceRecordsOutcomeCallable listInstanceRecordsCallable(const Model::ListInstanceRecordsRequest& request) const;
|
||||
LoginInstanceOutcome loginInstance(const Model::LoginInstanceRequest &request)const;
|
||||
void loginInstanceAsync(const Model::LoginInstanceRequest& request, const LoginInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
LoginInstanceOutcomeCallable loginInstanceCallable(const Model::LoginInstanceRequest& request) const;
|
||||
SetInstanceRecordConfigOutcome setInstanceRecordConfig(const Model::SetInstanceRecordConfigRequest &request)const;
|
||||
void setInstanceRecordConfigAsync(const Model::SetInstanceRecordConfigRequest& request, const SetInstanceRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
SetInstanceRecordConfigOutcomeCallable setInstanceRecordConfigCallable(const Model::SetInstanceRecordConfigRequest& request) const;
|
||||
ViewInstanceRecordsOutcome viewInstanceRecords(const Model::ViewInstanceRecordsRequest &request)const;
|
||||
void viewInstanceRecordsAsync(const Model::ViewInstanceRecordsRequest& request, const ViewInstanceRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
|
||||
ViewInstanceRecordsOutcomeCallable viewInstanceRecordsCallable(const Model::ViewInstanceRecordsRequest& request) const;
|
||||
|
||||
private:
|
||||
std::shared_ptr<EndpointProvider> endpointProvider_;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_ECS_WORKBENCHCLIENT_H_
|
||||
@@ -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_ECS_WORKBENCH_ECS_WORKBENCHEXPORT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_ECS_WORKBENCHEXPORT_H_
|
||||
|
||||
#include <alibabacloud/core/Global.h>
|
||||
|
||||
#if defined(ALIBABACLOUD_SHARED)
|
||||
# if defined(ALIBABACLOUD_ECS_WORKBENCH_LIBRARY)
|
||||
# define ALIBABACLOUD_ECS_WORKBENCH_EXPORT ALIBABACLOUD_DECL_EXPORT
|
||||
# else
|
||||
# define ALIBABACLOUD_ECS_WORKBENCH_EXPORT ALIBABACLOUD_DECL_IMPORT
|
||||
# endif
|
||||
#else
|
||||
# define ALIBABACLOUD_ECS_WORKBENCH_EXPORT
|
||||
#endif
|
||||
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_ECS_WORKBENCHEXPORT_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_ECS_WORKBENCH_MODEL_GETINSTANCERECORDCONFIGREQUEST_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_GETINSTANCERECORDCONFIGREQUEST_H_
|
||||
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace AlibabaCloud {
|
||||
namespace Ecs_workbench {
|
||||
namespace Model {
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT GetInstanceRecordConfigRequest : public RpcServiceRequest {
|
||||
public:
|
||||
GetInstanceRecordConfigRequest();
|
||||
~GetInstanceRecordConfigRequest();
|
||||
std::string getInstanceId() const;
|
||||
void setInstanceId(const std::string &instanceId);
|
||||
std::string getRegionId() const;
|
||||
void setRegionId(const std::string ®ionId);
|
||||
|
||||
private:
|
||||
std::string instanceId_;
|
||||
std::string regionId_;
|
||||
};
|
||||
} // namespace Model
|
||||
} // namespace Ecs_workbench
|
||||
} // namespace AlibabaCloud
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_GETINSTANCERECORDCONFIGREQUEST_H_
|
||||
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* 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_ECS_WORKBENCH_MODEL_GETINSTANCERECORDCONFIGRESULT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_GETINSTANCERECORDCONFIGRESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <alibabacloud/core/ServiceResult.h>
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Ecs_workbench
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT GetInstanceRecordConfigResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
struct Root
|
||||
{
|
||||
std::string parentId;
|
||||
std::string instanceId;
|
||||
std::string recordStorageTarget;
|
||||
int expirationDays;
|
||||
};
|
||||
|
||||
|
||||
GetInstanceRecordConfigResult();
|
||||
explicit GetInstanceRecordConfigResult(const std::string &payload);
|
||||
~GetInstanceRecordConfigResult();
|
||||
Root getRoot()const;
|
||||
std::string getMessage()const;
|
||||
std::string getCode()const;
|
||||
bool getSuccess()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
Root root_;
|
||||
std::string message_;
|
||||
std::string code_;
|
||||
bool success_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_GETINSTANCERECORDCONFIGRESULT_H_
|
||||
@@ -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_ECS_WORKBENCH_MODEL_LISTINSTANCERECORDSREQUEST_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_LISTINSTANCERECORDSREQUEST_H_
|
||||
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace AlibabaCloud {
|
||||
namespace Ecs_workbench {
|
||||
namespace Model {
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT ListInstanceRecordsRequest : public RpcServiceRequest {
|
||||
public:
|
||||
ListInstanceRecordsRequest();
|
||||
~ListInstanceRecordsRequest();
|
||||
int getPageNumber() const;
|
||||
void setPageNumber(int pageNumber);
|
||||
std::string getInstanceId() const;
|
||||
void setInstanceId(const std::string &instanceId);
|
||||
std::string getRegionId() const;
|
||||
void setRegionId(const std::string ®ionId);
|
||||
int getPageSize() const;
|
||||
void setPageSize(int pageSize);
|
||||
|
||||
private:
|
||||
int pageNumber_;
|
||||
std::string instanceId_;
|
||||
std::string regionId_;
|
||||
int pageSize_;
|
||||
};
|
||||
} // namespace Model
|
||||
} // namespace Ecs_workbench
|
||||
} // namespace AlibabaCloud
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_LISTINSTANCERECORDSREQUEST_H_
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
#ifndef ALIBABACLOUD_ECS_WORKBENCH_MODEL_LISTINSTANCERECORDSRESULT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_LISTINSTANCERECORDSRESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <alibabacloud/core/ServiceResult.h>
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Ecs_workbench
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT ListInstanceRecordsResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
struct Root
|
||||
{
|
||||
struct RecordListItem
|
||||
{
|
||||
std::string terminalSessionToken;
|
||||
std::string status;
|
||||
std::string gmtCreate;
|
||||
long accountId;
|
||||
std::string instanceRecordUrl;
|
||||
std::string instanceId;
|
||||
long recordDurationMillis;
|
||||
std::string expireTime;
|
||||
};
|
||||
int totalCount;
|
||||
std::vector<RecordListItem> recordList;
|
||||
};
|
||||
|
||||
|
||||
ListInstanceRecordsResult();
|
||||
explicit ListInstanceRecordsResult(const std::string &payload);
|
||||
~ListInstanceRecordsResult();
|
||||
Root getRoot()const;
|
||||
std::string getMessage()const;
|
||||
std::string getCode()const;
|
||||
bool getSuccess()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
Root root_;
|
||||
std::string message_;
|
||||
std::string code_;
|
||||
bool success_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_LISTINSTANCERECORDSRESULT_H_
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
#ifndef ALIBABACLOUD_ECS_WORKBENCH_MODEL_LOGININSTANCEREQUEST_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_LOGININSTANCEREQUEST_H_
|
||||
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace AlibabaCloud {
|
||||
namespace Ecs_workbench {
|
||||
namespace Model {
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT LoginInstanceRequest : public RpcServiceRequest {
|
||||
public:
|
||||
struct PartnerInfo {
|
||||
std::string partnerName;
|
||||
std::string partnerId;
|
||||
};
|
||||
struct InstanceLoginInfo {
|
||||
std::string expireTime;
|
||||
bool loginByInstanceShortcut;
|
||||
std::string certificate;
|
||||
std::string authenticationType;
|
||||
std::string dockerExec;
|
||||
std::string shortcutToken;
|
||||
std::string resourceGroupId;
|
||||
std::string protocol;
|
||||
std::string password;
|
||||
bool loginByInstanceCredential;
|
||||
std::string instanceId;
|
||||
std::string regionId;
|
||||
int port;
|
||||
std::string vpcId;
|
||||
std::string host;
|
||||
struct Options {
|
||||
int operationDisableSeconds;
|
||||
std::string notificationRecipientUrl;
|
||||
std::string sessionControl;
|
||||
int videoFreezeSeconds;
|
||||
struct ContainerInfo {
|
||||
std::map<std::string, std::string> headers;
|
||||
std::string endpoint;
|
||||
std::string containerName;
|
||||
std::string clusterName;
|
||||
std::string _namespace;
|
||||
std::string podName;
|
||||
std::string clusterId;
|
||||
std::string deployment;
|
||||
};
|
||||
ContainerInfo containerInfo;
|
||||
int notificationRetryIntervalSeconds;
|
||||
int audioMuteSeconds;
|
||||
int fixedHeight;
|
||||
int fixedWidth;
|
||||
std::string notificationEventTypes;
|
||||
int notificationRetryLimit;
|
||||
};
|
||||
Options options;
|
||||
std::string instanceType;
|
||||
std::string dockerContainerName;
|
||||
std::string passPhrase;
|
||||
std::string credentialToken;
|
||||
long durationSeconds;
|
||||
std::string networkAccessMode;
|
||||
std::string username;
|
||||
};
|
||||
struct UserAccount {
|
||||
long accountId;
|
||||
std::string empId;
|
||||
std::string expireTime;
|
||||
std::string loginName;
|
||||
struct Options {
|
||||
long loginLimit;
|
||||
};
|
||||
Options options;
|
||||
std::string accountStructure;
|
||||
long durationSeconds;
|
||||
long parentId;
|
||||
std::string accountPlatform;
|
||||
};
|
||||
LoginInstanceRequest();
|
||||
~LoginInstanceRequest();
|
||||
PartnerInfo getPartnerInfo() const;
|
||||
void setPartnerInfo(const PartnerInfo &partnerInfo);
|
||||
InstanceLoginInfo getInstanceLoginInfo() const;
|
||||
void setInstanceLoginInfo(const InstanceLoginInfo &instanceLoginInfo);
|
||||
UserAccount getUserAccount() const;
|
||||
void setUserAccount(const UserAccount &userAccount);
|
||||
|
||||
private:
|
||||
PartnerInfo partnerInfo_;
|
||||
InstanceLoginInfo instanceLoginInfo_;
|
||||
UserAccount userAccount_;
|
||||
};
|
||||
} // namespace Model
|
||||
} // namespace Ecs_workbench
|
||||
} // namespace AlibabaCloud
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_LOGININSTANCEREQUEST_H_
|
||||
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* 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_ECS_WORKBENCH_MODEL_LOGININSTANCERESULT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_LOGININSTANCERESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <alibabacloud/core/ServiceResult.h>
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Ecs_workbench
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT LoginInstanceResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
struct Root
|
||||
{
|
||||
struct DisposableAccount
|
||||
{
|
||||
std::string loginFormActionUrl;
|
||||
std::string loginUrl;
|
||||
};
|
||||
struct SessionControl
|
||||
{
|
||||
std::string baseUrl;
|
||||
};
|
||||
struct InstanceLoginInfoListItem
|
||||
{
|
||||
struct InstanceLoginView
|
||||
{
|
||||
std::string defaultViewUrl;
|
||||
};
|
||||
InstanceLoginView instanceLoginView;
|
||||
std::string instanceLoginToken;
|
||||
std::string instanceId;
|
||||
bool loginSuccess;
|
||||
};
|
||||
DisposableAccount disposableAccount;
|
||||
SessionControl sessionControl;
|
||||
std::vector<InstanceLoginInfoListItem> instanceLoginInfoList;
|
||||
};
|
||||
|
||||
|
||||
LoginInstanceResult();
|
||||
explicit LoginInstanceResult(const std::string &payload);
|
||||
~LoginInstanceResult();
|
||||
Root getRoot()const;
|
||||
std::string getMessage()const;
|
||||
std::string getCode()const;
|
||||
std::string getSuccess()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
Root root_;
|
||||
std::string message_;
|
||||
std::string code_;
|
||||
std::string success_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_LOGININSTANCERESULT_H_
|
||||
@@ -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_ECS_WORKBENCH_MODEL_SETINSTANCERECORDCONFIGREQUEST_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_SETINSTANCERECORDCONFIGREQUEST_H_
|
||||
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace AlibabaCloud {
|
||||
namespace Ecs_workbench {
|
||||
namespace Model {
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT SetInstanceRecordConfigRequest : public RpcServiceRequest {
|
||||
public:
|
||||
SetInstanceRecordConfigRequest();
|
||||
~SetInstanceRecordConfigRequest();
|
||||
bool getEnabled() const;
|
||||
void setEnabled(bool enabled);
|
||||
std::string getRecordStorageTarget() const;
|
||||
void setRecordStorageTarget(const std::string &recordStorageTarget);
|
||||
std::string getInstanceId() const;
|
||||
void setInstanceId(const std::string &instanceId);
|
||||
std::string getRegionId() const;
|
||||
void setRegionId(const std::string ®ionId);
|
||||
int getExpirationDays() const;
|
||||
void setExpirationDays(int expirationDays);
|
||||
|
||||
private:
|
||||
bool enabled_;
|
||||
std::string recordStorageTarget_;
|
||||
std::string instanceId_;
|
||||
std::string regionId_;
|
||||
int expirationDays_;
|
||||
};
|
||||
} // namespace Model
|
||||
} // namespace Ecs_workbench
|
||||
} // namespace AlibabaCloud
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_SETINSTANCERECORDCONFIGREQUEST_H_
|
||||
@@ -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_ECS_WORKBENCH_MODEL_SETINSTANCERECORDCONFIGRESULT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_SETINSTANCERECORDCONFIGRESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <alibabacloud/core/ServiceResult.h>
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Ecs_workbench
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT SetInstanceRecordConfigResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
SetInstanceRecordConfigResult();
|
||||
explicit SetInstanceRecordConfigResult(const std::string &payload);
|
||||
~SetInstanceRecordConfigResult();
|
||||
bool getRoot()const;
|
||||
std::string getMessage()const;
|
||||
std::string getCode()const;
|
||||
bool getSuccess()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
bool root_;
|
||||
std::string message_;
|
||||
std::string code_;
|
||||
bool success_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_SETINSTANCERECORDCONFIGRESULT_H_
|
||||
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* 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_ECS_WORKBENCH_MODEL_VIEWINSTANCERECORDSREQUEST_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_VIEWINSTANCERECORDSREQUEST_H_
|
||||
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
#include <alibabacloud/core/RpcServiceRequest.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
namespace AlibabaCloud {
|
||||
namespace Ecs_workbench {
|
||||
namespace Model {
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT ViewInstanceRecordsRequest : public RpcServiceRequest {
|
||||
public:
|
||||
ViewInstanceRecordsRequest();
|
||||
~ViewInstanceRecordsRequest();
|
||||
std::string getInstanceId() const;
|
||||
void setInstanceId(const std::string &instanceId);
|
||||
std::string getRegionId() const;
|
||||
void setRegionId(const std::string ®ionId);
|
||||
std::string getTerminalSessionToken() const;
|
||||
void setTerminalSessionToken(const std::string &terminalSessionToken);
|
||||
|
||||
private:
|
||||
std::string instanceId_;
|
||||
std::string regionId_;
|
||||
std::string terminalSessionToken_;
|
||||
};
|
||||
} // namespace Model
|
||||
} // namespace Ecs_workbench
|
||||
} // namespace AlibabaCloud
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_VIEWINSTANCERECORDSREQUEST_H_
|
||||
@@ -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_ECS_WORKBENCH_MODEL_VIEWINSTANCERECORDSRESULT_H_
|
||||
#define ALIBABACLOUD_ECS_WORKBENCH_MODEL_VIEWINSTANCERECORDSRESULT_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include <alibabacloud/core/ServiceResult.h>
|
||||
#include <alibabacloud/ecs-workbench/Ecs_workbenchExport.h>
|
||||
|
||||
namespace AlibabaCloud
|
||||
{
|
||||
namespace Ecs_workbench
|
||||
{
|
||||
namespace Model
|
||||
{
|
||||
class ALIBABACLOUD_ECS_WORKBENCH_EXPORT ViewInstanceRecordsResult : public ServiceResult
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
ViewInstanceRecordsResult();
|
||||
explicit ViewInstanceRecordsResult(const std::string &payload);
|
||||
~ViewInstanceRecordsResult();
|
||||
bool getRoot()const;
|
||||
std::string getMessage()const;
|
||||
std::string getCode()const;
|
||||
bool getSuccess()const;
|
||||
|
||||
protected:
|
||||
void parse(const std::string &payload);
|
||||
private:
|
||||
bool root_;
|
||||
std::string message_;
|
||||
std::string code_;
|
||||
bool success_;
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // !ALIBABACLOUD_ECS_WORKBENCH_MODEL_VIEWINSTANCERECORDSRESULT_H_
|
||||
233
ecs-workbench/src/Ecs-workbenchClient.cc
Normal file
233
ecs-workbench/src/Ecs-workbenchClient.cc
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
* 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/ecs-workbench/Ecs_workbenchClient.h>
|
||||
#include <alibabacloud/core/SimpleCredentialsProvider.h>
|
||||
|
||||
using namespace AlibabaCloud;
|
||||
using namespace AlibabaCloud::Location;
|
||||
using namespace AlibabaCloud::Ecs_workbench;
|
||||
using namespace AlibabaCloud::Ecs_workbench::Model;
|
||||
|
||||
namespace
|
||||
{
|
||||
const std::string SERVICE_NAME = "ecs-workbench";
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::Ecs_workbenchClient(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, "ecs-workbench");
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::Ecs_workbenchClient(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, "ecs-workbench");
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::Ecs_workbenchClient(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, "ecs-workbench");
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::~Ecs_workbenchClient()
|
||||
{}
|
||||
|
||||
Ecs_workbenchClient::GetInstanceRecordConfigOutcome Ecs_workbenchClient::getInstanceRecordConfig(const GetInstanceRecordConfigRequest &request) const
|
||||
{
|
||||
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||
if (!endpointOutcome.isSuccess())
|
||||
return GetInstanceRecordConfigOutcome(endpointOutcome.error());
|
||||
|
||||
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||
|
||||
if (outcome.isSuccess())
|
||||
return GetInstanceRecordConfigOutcome(GetInstanceRecordConfigResult(outcome.result()));
|
||||
else
|
||||
return GetInstanceRecordConfigOutcome(outcome.error());
|
||||
}
|
||||
|
||||
void Ecs_workbenchClient::getInstanceRecordConfigAsync(const GetInstanceRecordConfigRequest& request, const GetInstanceRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||
{
|
||||
auto fn = [this, request, handler, context]()
|
||||
{
|
||||
handler(this, request, getInstanceRecordConfig(request), context);
|
||||
};
|
||||
|
||||
asyncExecute(new Runnable(fn));
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::GetInstanceRecordConfigOutcomeCallable Ecs_workbenchClient::getInstanceRecordConfigCallable(const GetInstanceRecordConfigRequest &request) const
|
||||
{
|
||||
auto task = std::make_shared<std::packaged_task<GetInstanceRecordConfigOutcome()>>(
|
||||
[this, request]()
|
||||
{
|
||||
return this->getInstanceRecordConfig(request);
|
||||
});
|
||||
|
||||
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||
return task->get_future();
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::ListInstanceRecordsOutcome Ecs_workbenchClient::listInstanceRecords(const ListInstanceRecordsRequest &request) const
|
||||
{
|
||||
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||
if (!endpointOutcome.isSuccess())
|
||||
return ListInstanceRecordsOutcome(endpointOutcome.error());
|
||||
|
||||
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||
|
||||
if (outcome.isSuccess())
|
||||
return ListInstanceRecordsOutcome(ListInstanceRecordsResult(outcome.result()));
|
||||
else
|
||||
return ListInstanceRecordsOutcome(outcome.error());
|
||||
}
|
||||
|
||||
void Ecs_workbenchClient::listInstanceRecordsAsync(const ListInstanceRecordsRequest& request, const ListInstanceRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||
{
|
||||
auto fn = [this, request, handler, context]()
|
||||
{
|
||||
handler(this, request, listInstanceRecords(request), context);
|
||||
};
|
||||
|
||||
asyncExecute(new Runnable(fn));
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::ListInstanceRecordsOutcomeCallable Ecs_workbenchClient::listInstanceRecordsCallable(const ListInstanceRecordsRequest &request) const
|
||||
{
|
||||
auto task = std::make_shared<std::packaged_task<ListInstanceRecordsOutcome()>>(
|
||||
[this, request]()
|
||||
{
|
||||
return this->listInstanceRecords(request);
|
||||
});
|
||||
|
||||
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||
return task->get_future();
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::LoginInstanceOutcome Ecs_workbenchClient::loginInstance(const LoginInstanceRequest &request) const
|
||||
{
|
||||
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||
if (!endpointOutcome.isSuccess())
|
||||
return LoginInstanceOutcome(endpointOutcome.error());
|
||||
|
||||
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||
|
||||
if (outcome.isSuccess())
|
||||
return LoginInstanceOutcome(LoginInstanceResult(outcome.result()));
|
||||
else
|
||||
return LoginInstanceOutcome(outcome.error());
|
||||
}
|
||||
|
||||
void Ecs_workbenchClient::loginInstanceAsync(const LoginInstanceRequest& request, const LoginInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||
{
|
||||
auto fn = [this, request, handler, context]()
|
||||
{
|
||||
handler(this, request, loginInstance(request), context);
|
||||
};
|
||||
|
||||
asyncExecute(new Runnable(fn));
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::LoginInstanceOutcomeCallable Ecs_workbenchClient::loginInstanceCallable(const LoginInstanceRequest &request) const
|
||||
{
|
||||
auto task = std::make_shared<std::packaged_task<LoginInstanceOutcome()>>(
|
||||
[this, request]()
|
||||
{
|
||||
return this->loginInstance(request);
|
||||
});
|
||||
|
||||
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||
return task->get_future();
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::SetInstanceRecordConfigOutcome Ecs_workbenchClient::setInstanceRecordConfig(const SetInstanceRecordConfigRequest &request) const
|
||||
{
|
||||
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||
if (!endpointOutcome.isSuccess())
|
||||
return SetInstanceRecordConfigOutcome(endpointOutcome.error());
|
||||
|
||||
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||
|
||||
if (outcome.isSuccess())
|
||||
return SetInstanceRecordConfigOutcome(SetInstanceRecordConfigResult(outcome.result()));
|
||||
else
|
||||
return SetInstanceRecordConfigOutcome(outcome.error());
|
||||
}
|
||||
|
||||
void Ecs_workbenchClient::setInstanceRecordConfigAsync(const SetInstanceRecordConfigRequest& request, const SetInstanceRecordConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||
{
|
||||
auto fn = [this, request, handler, context]()
|
||||
{
|
||||
handler(this, request, setInstanceRecordConfig(request), context);
|
||||
};
|
||||
|
||||
asyncExecute(new Runnable(fn));
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::SetInstanceRecordConfigOutcomeCallable Ecs_workbenchClient::setInstanceRecordConfigCallable(const SetInstanceRecordConfigRequest &request) const
|
||||
{
|
||||
auto task = std::make_shared<std::packaged_task<SetInstanceRecordConfigOutcome()>>(
|
||||
[this, request]()
|
||||
{
|
||||
return this->setInstanceRecordConfig(request);
|
||||
});
|
||||
|
||||
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||
return task->get_future();
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::ViewInstanceRecordsOutcome Ecs_workbenchClient::viewInstanceRecords(const ViewInstanceRecordsRequest &request) const
|
||||
{
|
||||
auto endpointOutcome = endpointProvider_->getEndpoint();
|
||||
if (!endpointOutcome.isSuccess())
|
||||
return ViewInstanceRecordsOutcome(endpointOutcome.error());
|
||||
|
||||
auto outcome = makeRequest(endpointOutcome.result(), request);
|
||||
|
||||
if (outcome.isSuccess())
|
||||
return ViewInstanceRecordsOutcome(ViewInstanceRecordsResult(outcome.result()));
|
||||
else
|
||||
return ViewInstanceRecordsOutcome(outcome.error());
|
||||
}
|
||||
|
||||
void Ecs_workbenchClient::viewInstanceRecordsAsync(const ViewInstanceRecordsRequest& request, const ViewInstanceRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
|
||||
{
|
||||
auto fn = [this, request, handler, context]()
|
||||
{
|
||||
handler(this, request, viewInstanceRecords(request), context);
|
||||
};
|
||||
|
||||
asyncExecute(new Runnable(fn));
|
||||
}
|
||||
|
||||
Ecs_workbenchClient::ViewInstanceRecordsOutcomeCallable Ecs_workbenchClient::viewInstanceRecordsCallable(const ViewInstanceRecordsRequest &request) const
|
||||
{
|
||||
auto task = std::make_shared<std::packaged_task<ViewInstanceRecordsOutcome()>>(
|
||||
[this, request]()
|
||||
{
|
||||
return this->viewInstanceRecords(request);
|
||||
});
|
||||
|
||||
asyncExecute(new Runnable([task]() { (*task)(); }));
|
||||
return task->get_future();
|
||||
}
|
||||
|
||||
45
ecs-workbench/src/model/GetInstanceRecordConfigRequest.cc
Normal file
45
ecs-workbench/src/model/GetInstanceRecordConfigRequest.cc
Normal 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.
|
||||
*/
|
||||
|
||||
#include <alibabacloud/ecs-workbench/model/GetInstanceRecordConfigRequest.h>
|
||||
|
||||
using AlibabaCloud::Ecs_workbench::Model::GetInstanceRecordConfigRequest;
|
||||
|
||||
GetInstanceRecordConfigRequest::GetInstanceRecordConfigRequest()
|
||||
: RpcServiceRequest("ecs-workbench", "2022-02-20", "GetInstanceRecordConfig") {
|
||||
setMethod(HttpRequest::Method::Post);
|
||||
}
|
||||
|
||||
GetInstanceRecordConfigRequest::~GetInstanceRecordConfigRequest() {}
|
||||
|
||||
std::string GetInstanceRecordConfigRequest::getInstanceId() const {
|
||||
return instanceId_;
|
||||
}
|
||||
|
||||
void GetInstanceRecordConfigRequest::setInstanceId(const std::string &instanceId) {
|
||||
instanceId_ = instanceId;
|
||||
setBodyParameter(std::string("InstanceId"), instanceId);
|
||||
}
|
||||
|
||||
std::string GetInstanceRecordConfigRequest::getRegionId() const {
|
||||
return regionId_;
|
||||
}
|
||||
|
||||
void GetInstanceRecordConfigRequest::setRegionId(const std::string ®ionId) {
|
||||
regionId_ = regionId;
|
||||
setBodyParameter(std::string("RegionId"), regionId);
|
||||
}
|
||||
|
||||
79
ecs-workbench/src/model/GetInstanceRecordConfigResult.cc
Normal file
79
ecs-workbench/src/model/GetInstanceRecordConfigResult.cc
Normal 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/ecs-workbench/model/GetInstanceRecordConfigResult.h>
|
||||
#include <json/json.h>
|
||||
|
||||
using namespace AlibabaCloud::Ecs_workbench;
|
||||
using namespace AlibabaCloud::Ecs_workbench::Model;
|
||||
|
||||
GetInstanceRecordConfigResult::GetInstanceRecordConfigResult() :
|
||||
ServiceResult()
|
||||
{}
|
||||
|
||||
GetInstanceRecordConfigResult::GetInstanceRecordConfigResult(const std::string &payload) :
|
||||
ServiceResult()
|
||||
{
|
||||
parse(payload);
|
||||
}
|
||||
|
||||
GetInstanceRecordConfigResult::~GetInstanceRecordConfigResult()
|
||||
{}
|
||||
|
||||
void GetInstanceRecordConfigResult::parse(const std::string &payload)
|
||||
{
|
||||
Json::Reader reader;
|
||||
Json::Value value;
|
||||
reader.parse(payload, value);
|
||||
setRequestId(value["RequestId"].asString());
|
||||
auto rootNode = value["Root"];
|
||||
if(!rootNode["InstanceId"].isNull())
|
||||
root_.instanceId = rootNode["InstanceId"].asString();
|
||||
if(!rootNode["ParentId"].isNull())
|
||||
root_.parentId = rootNode["ParentId"].asString();
|
||||
if(!rootNode["RecordStorageTarget"].isNull())
|
||||
root_.recordStorageTarget = rootNode["RecordStorageTarget"].asString();
|
||||
if(!rootNode["ExpirationDays"].isNull())
|
||||
root_.expirationDays = std::stoi(rootNode["ExpirationDays"].asString());
|
||||
if(!value["Success"].isNull())
|
||||
success_ = value["Success"].asString() == "true";
|
||||
if(!value["Code"].isNull())
|
||||
code_ = value["Code"].asString();
|
||||
if(!value["Message"].isNull())
|
||||
message_ = value["Message"].asString();
|
||||
|
||||
}
|
||||
|
||||
GetInstanceRecordConfigResult::Root GetInstanceRecordConfigResult::getRoot()const
|
||||
{
|
||||
return root_;
|
||||
}
|
||||
|
||||
std::string GetInstanceRecordConfigResult::getMessage()const
|
||||
{
|
||||
return message_;
|
||||
}
|
||||
|
||||
std::string GetInstanceRecordConfigResult::getCode()const
|
||||
{
|
||||
return code_;
|
||||
}
|
||||
|
||||
bool GetInstanceRecordConfigResult::getSuccess()const
|
||||
{
|
||||
return success_;
|
||||
}
|
||||
|
||||
63
ecs-workbench/src/model/ListInstanceRecordsRequest.cc
Normal file
63
ecs-workbench/src/model/ListInstanceRecordsRequest.cc
Normal 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.
|
||||
*/
|
||||
|
||||
#include <alibabacloud/ecs-workbench/model/ListInstanceRecordsRequest.h>
|
||||
|
||||
using AlibabaCloud::Ecs_workbench::Model::ListInstanceRecordsRequest;
|
||||
|
||||
ListInstanceRecordsRequest::ListInstanceRecordsRequest()
|
||||
: RpcServiceRequest("ecs-workbench", "2022-02-20", "ListInstanceRecords") {
|
||||
setMethod(HttpRequest::Method::Post);
|
||||
}
|
||||
|
||||
ListInstanceRecordsRequest::~ListInstanceRecordsRequest() {}
|
||||
|
||||
int ListInstanceRecordsRequest::getPageNumber() const {
|
||||
return pageNumber_;
|
||||
}
|
||||
|
||||
void ListInstanceRecordsRequest::setPageNumber(int pageNumber) {
|
||||
pageNumber_ = pageNumber;
|
||||
setBodyParameter(std::string("PageNumber"), std::to_string(pageNumber));
|
||||
}
|
||||
|
||||
std::string ListInstanceRecordsRequest::getInstanceId() const {
|
||||
return instanceId_;
|
||||
}
|
||||
|
||||
void ListInstanceRecordsRequest::setInstanceId(const std::string &instanceId) {
|
||||
instanceId_ = instanceId;
|
||||
setBodyParameter(std::string("InstanceId"), instanceId);
|
||||
}
|
||||
|
||||
std::string ListInstanceRecordsRequest::getRegionId() const {
|
||||
return regionId_;
|
||||
}
|
||||
|
||||
void ListInstanceRecordsRequest::setRegionId(const std::string ®ionId) {
|
||||
regionId_ = regionId;
|
||||
setBodyParameter(std::string("RegionId"), regionId);
|
||||
}
|
||||
|
||||
int ListInstanceRecordsRequest::getPageSize() const {
|
||||
return pageSize_;
|
||||
}
|
||||
|
||||
void ListInstanceRecordsRequest::setPageSize(int pageSize) {
|
||||
pageSize_ = pageSize;
|
||||
setBodyParameter(std::string("PageSize"), std::to_string(pageSize));
|
||||
}
|
||||
|
||||
95
ecs-workbench/src/model/ListInstanceRecordsResult.cc
Normal file
95
ecs-workbench/src/model/ListInstanceRecordsResult.cc
Normal file
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* 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/ecs-workbench/model/ListInstanceRecordsResult.h>
|
||||
#include <json/json.h>
|
||||
|
||||
using namespace AlibabaCloud::Ecs_workbench;
|
||||
using namespace AlibabaCloud::Ecs_workbench::Model;
|
||||
|
||||
ListInstanceRecordsResult::ListInstanceRecordsResult() :
|
||||
ServiceResult()
|
||||
{}
|
||||
|
||||
ListInstanceRecordsResult::ListInstanceRecordsResult(const std::string &payload) :
|
||||
ServiceResult()
|
||||
{
|
||||
parse(payload);
|
||||
}
|
||||
|
||||
ListInstanceRecordsResult::~ListInstanceRecordsResult()
|
||||
{}
|
||||
|
||||
void ListInstanceRecordsResult::parse(const std::string &payload)
|
||||
{
|
||||
Json::Reader reader;
|
||||
Json::Value value;
|
||||
reader.parse(payload, value);
|
||||
setRequestId(value["RequestId"].asString());
|
||||
auto rootNode = value["Root"];
|
||||
if(!rootNode["TotalCount"].isNull())
|
||||
root_.totalCount = std::stoi(rootNode["TotalCount"].asString());
|
||||
auto allRecordListNode = rootNode["RecordList"]["RecordListItem"];
|
||||
for (auto rootNodeRecordListRecordListItem : allRecordListNode)
|
||||
{
|
||||
Root::RecordListItem recordListItemObject;
|
||||
if(!rootNodeRecordListRecordListItem["GmtCreate"].isNull())
|
||||
recordListItemObject.gmtCreate = rootNodeRecordListRecordListItem["GmtCreate"].asString();
|
||||
if(!rootNodeRecordListRecordListItem["AccountId"].isNull())
|
||||
recordListItemObject.accountId = std::stol(rootNodeRecordListRecordListItem["AccountId"].asString());
|
||||
if(!rootNodeRecordListRecordListItem["InstanceId"].isNull())
|
||||
recordListItemObject.instanceId = rootNodeRecordListRecordListItem["InstanceId"].asString();
|
||||
if(!rootNodeRecordListRecordListItem["TerminalSessionToken"].isNull())
|
||||
recordListItemObject.terminalSessionToken = rootNodeRecordListRecordListItem["TerminalSessionToken"].asString();
|
||||
if(!rootNodeRecordListRecordListItem["RecordDurationMillis"].isNull())
|
||||
recordListItemObject.recordDurationMillis = std::stol(rootNodeRecordListRecordListItem["RecordDurationMillis"].asString());
|
||||
if(!rootNodeRecordListRecordListItem["Status"].isNull())
|
||||
recordListItemObject.status = rootNodeRecordListRecordListItem["Status"].asString();
|
||||
if(!rootNodeRecordListRecordListItem["ExpireTime"].isNull())
|
||||
recordListItemObject.expireTime = rootNodeRecordListRecordListItem["ExpireTime"].asString();
|
||||
if(!rootNodeRecordListRecordListItem["InstanceRecordUrl"].isNull())
|
||||
recordListItemObject.instanceRecordUrl = rootNodeRecordListRecordListItem["InstanceRecordUrl"].asString();
|
||||
root_.recordList.push_back(recordListItemObject);
|
||||
}
|
||||
if(!value["Success"].isNull())
|
||||
success_ = value["Success"].asString() == "true";
|
||||
if(!value["Code"].isNull())
|
||||
code_ = value["Code"].asString();
|
||||
if(!value["Message"].isNull())
|
||||
message_ = value["Message"].asString();
|
||||
|
||||
}
|
||||
|
||||
ListInstanceRecordsResult::Root ListInstanceRecordsResult::getRoot()const
|
||||
{
|
||||
return root_;
|
||||
}
|
||||
|
||||
std::string ListInstanceRecordsResult::getMessage()const
|
||||
{
|
||||
return message_;
|
||||
}
|
||||
|
||||
std::string ListInstanceRecordsResult::getCode()const
|
||||
{
|
||||
return code_;
|
||||
}
|
||||
|
||||
bool ListInstanceRecordsResult::getSuccess()const
|
||||
{
|
||||
return success_;
|
||||
}
|
||||
|
||||
104
ecs-workbench/src/model/LoginInstanceRequest.cc
Normal file
104
ecs-workbench/src/model/LoginInstanceRequest.cc
Normal file
@@ -0,0 +1,104 @@
|
||||
/*
|
||||
* 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/ecs-workbench/model/LoginInstanceRequest.h>
|
||||
|
||||
using AlibabaCloud::Ecs_workbench::Model::LoginInstanceRequest;
|
||||
|
||||
LoginInstanceRequest::LoginInstanceRequest()
|
||||
: RpcServiceRequest("ecs-workbench", "2022-02-20", "LoginInstance") {
|
||||
setMethod(HttpRequest::Method::Post);
|
||||
}
|
||||
|
||||
LoginInstanceRequest::~LoginInstanceRequest() {}
|
||||
|
||||
LoginInstanceRequest::PartnerInfo LoginInstanceRequest::getPartnerInfo() const {
|
||||
return partnerInfo_;
|
||||
}
|
||||
|
||||
void LoginInstanceRequest::setPartnerInfo(const LoginInstanceRequest::PartnerInfo &partnerInfo) {
|
||||
partnerInfo_ = partnerInfo;
|
||||
setParameter(std::string("PartnerInfo") + ".PartnerName", partnerInfo.partnerName);
|
||||
setParameter(std::string("PartnerInfo") + ".PartnerId", partnerInfo.partnerId);
|
||||
}
|
||||
|
||||
LoginInstanceRequest::InstanceLoginInfo LoginInstanceRequest::getInstanceLoginInfo() const {
|
||||
return instanceLoginInfo_;
|
||||
}
|
||||
|
||||
void LoginInstanceRequest::setInstanceLoginInfo(const LoginInstanceRequest::InstanceLoginInfo &instanceLoginInfo) {
|
||||
instanceLoginInfo_ = instanceLoginInfo;
|
||||
setParameter(std::string("InstanceLoginInfo") + ".ExpireTime", instanceLoginInfo.expireTime);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".LoginByInstanceShortcut", instanceLoginInfo.loginByInstanceShortcut ? "true" : "false");
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Certificate", instanceLoginInfo.certificate);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".AuthenticationType", instanceLoginInfo.authenticationType);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".DockerExec", instanceLoginInfo.dockerExec);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".ShortcutToken", instanceLoginInfo.shortcutToken);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".ResourceGroupId", instanceLoginInfo.resourceGroupId);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Protocol", instanceLoginInfo.protocol);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Password", instanceLoginInfo.password);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".LoginByInstanceCredential", instanceLoginInfo.loginByInstanceCredential ? "true" : "false");
|
||||
setParameter(std::string("InstanceLoginInfo") + ".InstanceId", instanceLoginInfo.instanceId);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".RegionId", instanceLoginInfo.regionId);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Port", std::to_string(instanceLoginInfo.port));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".VpcId", instanceLoginInfo.vpcId);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Host", instanceLoginInfo.host);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.OperationDisableSeconds", std::to_string(instanceLoginInfo.options.operationDisableSeconds));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.NotificationRecipientUrl", instanceLoginInfo.options.notificationRecipientUrl);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.SessionControl", instanceLoginInfo.options.sessionControl);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.VideoFreezeSeconds", std::to_string(instanceLoginInfo.options.videoFreezeSeconds));
|
||||
for(auto const &iter1 : instanceLoginInfo.options.containerInfo.headers) {
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.Headers." + iter1.first, iter1.second);
|
||||
}
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.Endpoint", instanceLoginInfo.options.containerInfo.endpoint);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.ContainerName", instanceLoginInfo.options.containerInfo.containerName);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.ClusterName", instanceLoginInfo.options.containerInfo.clusterName);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.Namespace", instanceLoginInfo.options.containerInfo._namespace);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.PodName", instanceLoginInfo.options.containerInfo.podName);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.ClusterId", instanceLoginInfo.options.containerInfo.clusterId);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.ContainerInfo.Deployment", instanceLoginInfo.options.containerInfo.deployment);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.NotificationRetryIntervalSeconds", std::to_string(instanceLoginInfo.options.notificationRetryIntervalSeconds));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.AudioMuteSeconds", std::to_string(instanceLoginInfo.options.audioMuteSeconds));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.FixedHeight", std::to_string(instanceLoginInfo.options.fixedHeight));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.FixedWidth", std::to_string(instanceLoginInfo.options.fixedWidth));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.NotificationEventTypes", instanceLoginInfo.options.notificationEventTypes);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Options.NotificationRetryLimit", std::to_string(instanceLoginInfo.options.notificationRetryLimit));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".InstanceType", instanceLoginInfo.instanceType);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".DockerContainerName", instanceLoginInfo.dockerContainerName);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".PassPhrase", instanceLoginInfo.passPhrase);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".CredentialToken", instanceLoginInfo.credentialToken);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".DurationSeconds", std::to_string(instanceLoginInfo.durationSeconds));
|
||||
setParameter(std::string("InstanceLoginInfo") + ".NetworkAccessMode", instanceLoginInfo.networkAccessMode);
|
||||
setParameter(std::string("InstanceLoginInfo") + ".Username", instanceLoginInfo.username);
|
||||
}
|
||||
|
||||
LoginInstanceRequest::UserAccount LoginInstanceRequest::getUserAccount() const {
|
||||
return userAccount_;
|
||||
}
|
||||
|
||||
void LoginInstanceRequest::setUserAccount(const LoginInstanceRequest::UserAccount &userAccount) {
|
||||
userAccount_ = userAccount;
|
||||
setParameter(std::string("UserAccount") + ".AccountId", std::to_string(userAccount.accountId));
|
||||
setParameter(std::string("UserAccount") + ".EmpId", userAccount.empId);
|
||||
setParameter(std::string("UserAccount") + ".ExpireTime", userAccount.expireTime);
|
||||
setParameter(std::string("UserAccount") + ".LoginName", userAccount.loginName);
|
||||
setParameter(std::string("UserAccount") + ".Options.LoginLimit", std::to_string(userAccount.options.loginLimit));
|
||||
setParameter(std::string("UserAccount") + ".AccountStructure", userAccount.accountStructure);
|
||||
setParameter(std::string("UserAccount") + ".DurationSeconds", std::to_string(userAccount.durationSeconds));
|
||||
setParameter(std::string("UserAccount") + ".ParentId", std::to_string(userAccount.parentId));
|
||||
setParameter(std::string("UserAccount") + ".AccountPlatform", userAccount.accountPlatform);
|
||||
}
|
||||
|
||||
94
ecs-workbench/src/model/LoginInstanceResult.cc
Normal file
94
ecs-workbench/src/model/LoginInstanceResult.cc
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* 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/ecs-workbench/model/LoginInstanceResult.h>
|
||||
#include <json/json.h>
|
||||
|
||||
using namespace AlibabaCloud::Ecs_workbench;
|
||||
using namespace AlibabaCloud::Ecs_workbench::Model;
|
||||
|
||||
LoginInstanceResult::LoginInstanceResult() :
|
||||
ServiceResult()
|
||||
{}
|
||||
|
||||
LoginInstanceResult::LoginInstanceResult(const std::string &payload) :
|
||||
ServiceResult()
|
||||
{
|
||||
parse(payload);
|
||||
}
|
||||
|
||||
LoginInstanceResult::~LoginInstanceResult()
|
||||
{}
|
||||
|
||||
void LoginInstanceResult::parse(const std::string &payload)
|
||||
{
|
||||
Json::Reader reader;
|
||||
Json::Value value;
|
||||
reader.parse(payload, value);
|
||||
setRequestId(value["RequestId"].asString());
|
||||
auto rootNode = value["Root"];
|
||||
auto allInstanceLoginInfoListNode = rootNode["InstanceLoginInfoList"]["instanceLoginInfoListItem"];
|
||||
for (auto rootNodeInstanceLoginInfoListinstanceLoginInfoListItem : allInstanceLoginInfoListNode)
|
||||
{
|
||||
Root::InstanceLoginInfoListItem instanceLoginInfoListItemObject;
|
||||
if(!rootNodeInstanceLoginInfoListinstanceLoginInfoListItem["InstanceId"].isNull())
|
||||
instanceLoginInfoListItemObject.instanceId = rootNodeInstanceLoginInfoListinstanceLoginInfoListItem["InstanceId"].asString();
|
||||
if(!rootNodeInstanceLoginInfoListinstanceLoginInfoListItem["InstanceLoginToken"].isNull())
|
||||
instanceLoginInfoListItemObject.instanceLoginToken = rootNodeInstanceLoginInfoListinstanceLoginInfoListItem["InstanceLoginToken"].asString();
|
||||
if(!rootNodeInstanceLoginInfoListinstanceLoginInfoListItem["LoginSuccess"].isNull())
|
||||
instanceLoginInfoListItemObject.loginSuccess = rootNodeInstanceLoginInfoListinstanceLoginInfoListItem["LoginSuccess"].asString() == "true";
|
||||
auto instanceLoginViewNode = value["InstanceLoginView"];
|
||||
if(!instanceLoginViewNode["DefaultViewUrl"].isNull())
|
||||
instanceLoginInfoListItemObject.instanceLoginView.defaultViewUrl = instanceLoginViewNode["DefaultViewUrl"].asString();
|
||||
root_.instanceLoginInfoList.push_back(instanceLoginInfoListItemObject);
|
||||
}
|
||||
auto disposableAccountNode = rootNode["DisposableAccount"];
|
||||
if(!disposableAccountNode["LoginUrl"].isNull())
|
||||
root_.disposableAccount.loginUrl = disposableAccountNode["LoginUrl"].asString();
|
||||
if(!disposableAccountNode["LoginFormActionUrl"].isNull())
|
||||
root_.disposableAccount.loginFormActionUrl = disposableAccountNode["LoginFormActionUrl"].asString();
|
||||
auto sessionControlNode = rootNode["SessionControl"];
|
||||
if(!sessionControlNode["BaseUrl"].isNull())
|
||||
root_.sessionControl.baseUrl = sessionControlNode["BaseUrl"].asString();
|
||||
if(!value["Success"].isNull())
|
||||
success_ = value["Success"].asString();
|
||||
if(!value["Code"].isNull())
|
||||
code_ = value["Code"].asString();
|
||||
if(!value["Message"].isNull())
|
||||
message_ = value["Message"].asString();
|
||||
|
||||
}
|
||||
|
||||
LoginInstanceResult::Root LoginInstanceResult::getRoot()const
|
||||
{
|
||||
return root_;
|
||||
}
|
||||
|
||||
std::string LoginInstanceResult::getMessage()const
|
||||
{
|
||||
return message_;
|
||||
}
|
||||
|
||||
std::string LoginInstanceResult::getCode()const
|
||||
{
|
||||
return code_;
|
||||
}
|
||||
|
||||
std::string LoginInstanceResult::getSuccess()const
|
||||
{
|
||||
return success_;
|
||||
}
|
||||
|
||||
72
ecs-workbench/src/model/SetInstanceRecordConfigRequest.cc
Normal file
72
ecs-workbench/src/model/SetInstanceRecordConfigRequest.cc
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <alibabacloud/ecs-workbench/model/SetInstanceRecordConfigRequest.h>
|
||||
|
||||
using AlibabaCloud::Ecs_workbench::Model::SetInstanceRecordConfigRequest;
|
||||
|
||||
SetInstanceRecordConfigRequest::SetInstanceRecordConfigRequest()
|
||||
: RpcServiceRequest("ecs-workbench", "2022-02-20", "SetInstanceRecordConfig") {
|
||||
setMethod(HttpRequest::Method::Post);
|
||||
}
|
||||
|
||||
SetInstanceRecordConfigRequest::~SetInstanceRecordConfigRequest() {}
|
||||
|
||||
bool SetInstanceRecordConfigRequest::getEnabled() const {
|
||||
return enabled_;
|
||||
}
|
||||
|
||||
void SetInstanceRecordConfigRequest::setEnabled(bool enabled) {
|
||||
enabled_ = enabled;
|
||||
setBodyParameter(std::string("Enabled"), enabled ? "true" : "false");
|
||||
}
|
||||
|
||||
std::string SetInstanceRecordConfigRequest::getRecordStorageTarget() const {
|
||||
return recordStorageTarget_;
|
||||
}
|
||||
|
||||
void SetInstanceRecordConfigRequest::setRecordStorageTarget(const std::string &recordStorageTarget) {
|
||||
recordStorageTarget_ = recordStorageTarget;
|
||||
setBodyParameter(std::string("RecordStorageTarget"), recordStorageTarget);
|
||||
}
|
||||
|
||||
std::string SetInstanceRecordConfigRequest::getInstanceId() const {
|
||||
return instanceId_;
|
||||
}
|
||||
|
||||
void SetInstanceRecordConfigRequest::setInstanceId(const std::string &instanceId) {
|
||||
instanceId_ = instanceId;
|
||||
setBodyParameter(std::string("InstanceId"), instanceId);
|
||||
}
|
||||
|
||||
std::string SetInstanceRecordConfigRequest::getRegionId() const {
|
||||
return regionId_;
|
||||
}
|
||||
|
||||
void SetInstanceRecordConfigRequest::setRegionId(const std::string ®ionId) {
|
||||
regionId_ = regionId;
|
||||
setBodyParameter(std::string("RegionId"), regionId);
|
||||
}
|
||||
|
||||
int SetInstanceRecordConfigRequest::getExpirationDays() const {
|
||||
return expirationDays_;
|
||||
}
|
||||
|
||||
void SetInstanceRecordConfigRequest::setExpirationDays(int expirationDays) {
|
||||
expirationDays_ = expirationDays;
|
||||
setBodyParameter(std::string("ExpirationDays"), std::to_string(expirationDays));
|
||||
}
|
||||
|
||||
72
ecs-workbench/src/model/SetInstanceRecordConfigResult.cc
Normal file
72
ecs-workbench/src/model/SetInstanceRecordConfigResult.cc
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <alibabacloud/ecs-workbench/model/SetInstanceRecordConfigResult.h>
|
||||
#include <json/json.h>
|
||||
|
||||
using namespace AlibabaCloud::Ecs_workbench;
|
||||
using namespace AlibabaCloud::Ecs_workbench::Model;
|
||||
|
||||
SetInstanceRecordConfigResult::SetInstanceRecordConfigResult() :
|
||||
ServiceResult()
|
||||
{}
|
||||
|
||||
SetInstanceRecordConfigResult::SetInstanceRecordConfigResult(const std::string &payload) :
|
||||
ServiceResult()
|
||||
{
|
||||
parse(payload);
|
||||
}
|
||||
|
||||
SetInstanceRecordConfigResult::~SetInstanceRecordConfigResult()
|
||||
{}
|
||||
|
||||
void SetInstanceRecordConfigResult::parse(const std::string &payload)
|
||||
{
|
||||
Json::Reader reader;
|
||||
Json::Value value;
|
||||
reader.parse(payload, value);
|
||||
setRequestId(value["RequestId"].asString());
|
||||
if(!value["Success"].isNull())
|
||||
success_ = value["Success"].asString() == "true";
|
||||
if(!value["Code"].isNull())
|
||||
code_ = value["Code"].asString();
|
||||
if(!value["Root"].isNull())
|
||||
root_ = value["Root"].asString() == "true";
|
||||
if(!value["Message"].isNull())
|
||||
message_ = value["Message"].asString();
|
||||
|
||||
}
|
||||
|
||||
bool SetInstanceRecordConfigResult::getRoot()const
|
||||
{
|
||||
return root_;
|
||||
}
|
||||
|
||||
std::string SetInstanceRecordConfigResult::getMessage()const
|
||||
{
|
||||
return message_;
|
||||
}
|
||||
|
||||
std::string SetInstanceRecordConfigResult::getCode()const
|
||||
{
|
||||
return code_;
|
||||
}
|
||||
|
||||
bool SetInstanceRecordConfigResult::getSuccess()const
|
||||
{
|
||||
return success_;
|
||||
}
|
||||
|
||||
54
ecs-workbench/src/model/ViewInstanceRecordsRequest.cc
Normal file
54
ecs-workbench/src/model/ViewInstanceRecordsRequest.cc
Normal 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.
|
||||
*/
|
||||
|
||||
#include <alibabacloud/ecs-workbench/model/ViewInstanceRecordsRequest.h>
|
||||
|
||||
using AlibabaCloud::Ecs_workbench::Model::ViewInstanceRecordsRequest;
|
||||
|
||||
ViewInstanceRecordsRequest::ViewInstanceRecordsRequest()
|
||||
: RpcServiceRequest("ecs-workbench", "2022-02-20", "ViewInstanceRecords") {
|
||||
setMethod(HttpRequest::Method::Post);
|
||||
}
|
||||
|
||||
ViewInstanceRecordsRequest::~ViewInstanceRecordsRequest() {}
|
||||
|
||||
std::string ViewInstanceRecordsRequest::getInstanceId() const {
|
||||
return instanceId_;
|
||||
}
|
||||
|
||||
void ViewInstanceRecordsRequest::setInstanceId(const std::string &instanceId) {
|
||||
instanceId_ = instanceId;
|
||||
setBodyParameter(std::string("InstanceId"), instanceId);
|
||||
}
|
||||
|
||||
std::string ViewInstanceRecordsRequest::getRegionId() const {
|
||||
return regionId_;
|
||||
}
|
||||
|
||||
void ViewInstanceRecordsRequest::setRegionId(const std::string ®ionId) {
|
||||
regionId_ = regionId;
|
||||
setBodyParameter(std::string("RegionId"), regionId);
|
||||
}
|
||||
|
||||
std::string ViewInstanceRecordsRequest::getTerminalSessionToken() const {
|
||||
return terminalSessionToken_;
|
||||
}
|
||||
|
||||
void ViewInstanceRecordsRequest::setTerminalSessionToken(const std::string &terminalSessionToken) {
|
||||
terminalSessionToken_ = terminalSessionToken;
|
||||
setBodyParameter(std::string("TerminalSessionToken"), terminalSessionToken);
|
||||
}
|
||||
|
||||
72
ecs-workbench/src/model/ViewInstanceRecordsResult.cc
Normal file
72
ecs-workbench/src/model/ViewInstanceRecordsResult.cc
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <alibabacloud/ecs-workbench/model/ViewInstanceRecordsResult.h>
|
||||
#include <json/json.h>
|
||||
|
||||
using namespace AlibabaCloud::Ecs_workbench;
|
||||
using namespace AlibabaCloud::Ecs_workbench::Model;
|
||||
|
||||
ViewInstanceRecordsResult::ViewInstanceRecordsResult() :
|
||||
ServiceResult()
|
||||
{}
|
||||
|
||||
ViewInstanceRecordsResult::ViewInstanceRecordsResult(const std::string &payload) :
|
||||
ServiceResult()
|
||||
{
|
||||
parse(payload);
|
||||
}
|
||||
|
||||
ViewInstanceRecordsResult::~ViewInstanceRecordsResult()
|
||||
{}
|
||||
|
||||
void ViewInstanceRecordsResult::parse(const std::string &payload)
|
||||
{
|
||||
Json::Reader reader;
|
||||
Json::Value value;
|
||||
reader.parse(payload, value);
|
||||
setRequestId(value["RequestId"].asString());
|
||||
if(!value["Success"].isNull())
|
||||
success_ = value["Success"].asString() == "true";
|
||||
if(!value["Code"].isNull())
|
||||
code_ = value["Code"].asString();
|
||||
if(!value["Root"].isNull())
|
||||
root_ = value["Root"].asString() == "true";
|
||||
if(!value["Message"].isNull())
|
||||
message_ = value["Message"].asString();
|
||||
|
||||
}
|
||||
|
||||
bool ViewInstanceRecordsResult::getRoot()const
|
||||
{
|
||||
return root_;
|
||||
}
|
||||
|
||||
std::string ViewInstanceRecordsResult::getMessage()const
|
||||
{
|
||||
return message_;
|
||||
}
|
||||
|
||||
std::string ViewInstanceRecordsResult::getCode()const
|
||||
{
|
||||
return code_;
|
||||
}
|
||||
|
||||
bool ViewInstanceRecordsResult::getSuccess()const
|
||||
{
|
||||
return success_;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user