Files
aliyun-openapi-cpp-sdk/hsm/include/alibabacloud/hsm/HsmClient.h
2020-03-26 17:47:49 +08:00

119 lines
8.8 KiB
C++

/*
* 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_HSM_HSMCLIENT_H_
#define ALIBABACLOUD_HSM_HSMCLIENT_H_
#include <future>
#include <alibabacloud/core/AsyncCallerContext.h>
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "HsmExport.h"
#include "model/ConfigNetworkRequest.h"
#include "model/ConfigNetworkResult.h"
#include "model/ConfigWhiteListRequest.h"
#include "model/ConfigWhiteListResult.h"
#include "model/CreateInstanceRequest.h"
#include "model/CreateInstanceResult.h"
#include "model/DescribeInstancesRequest.h"
#include "model/DescribeInstancesResult.h"
#include "model/DescribeRegionsRequest.h"
#include "model/DescribeRegionsResult.h"
#include "model/ModifyInstanceRequest.h"
#include "model/ModifyInstanceResult.h"
#include "model/MoveResourceGroupRequest.h"
#include "model/MoveResourceGroupResult.h"
#include "model/ReleaseInstanceRequest.h"
#include "model/ReleaseInstanceResult.h"
#include "model/RenewInstanceRequest.h"
#include "model/RenewInstanceResult.h"
namespace AlibabaCloud
{
namespace Hsm
{
class ALIBABACLOUD_HSM_EXPORT HsmClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::ConfigNetworkResult> ConfigNetworkOutcome;
typedef std::future<ConfigNetworkOutcome> ConfigNetworkOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::ConfigNetworkRequest&, const ConfigNetworkOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigNetworkAsyncHandler;
typedef Outcome<Error, Model::ConfigWhiteListResult> ConfigWhiteListOutcome;
typedef std::future<ConfigWhiteListOutcome> ConfigWhiteListOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::ConfigWhiteListRequest&, const ConfigWhiteListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ConfigWhiteListAsyncHandler;
typedef Outcome<Error, Model::CreateInstanceResult> CreateInstanceOutcome;
typedef std::future<CreateInstanceOutcome> CreateInstanceOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::CreateInstanceRequest&, const CreateInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateInstanceAsyncHandler;
typedef Outcome<Error, Model::DescribeInstancesResult> DescribeInstancesOutcome;
typedef std::future<DescribeInstancesOutcome> DescribeInstancesOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::DescribeInstancesRequest&, const DescribeInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstancesAsyncHandler;
typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
typedef Outcome<Error, Model::ModifyInstanceResult> ModifyInstanceOutcome;
typedef std::future<ModifyInstanceOutcome> ModifyInstanceOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::ModifyInstanceRequest&, const ModifyInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceAsyncHandler;
typedef Outcome<Error, Model::MoveResourceGroupResult> MoveResourceGroupOutcome;
typedef std::future<MoveResourceGroupOutcome> MoveResourceGroupOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::MoveResourceGroupRequest&, const MoveResourceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> MoveResourceGroupAsyncHandler;
typedef Outcome<Error, Model::ReleaseInstanceResult> ReleaseInstanceOutcome;
typedef std::future<ReleaseInstanceOutcome> ReleaseInstanceOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::ReleaseInstanceRequest&, const ReleaseInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseInstanceAsyncHandler;
typedef Outcome<Error, Model::RenewInstanceResult> RenewInstanceOutcome;
typedef std::future<RenewInstanceOutcome> RenewInstanceOutcomeCallable;
typedef std::function<void(const HsmClient*, const Model::RenewInstanceRequest&, const RenewInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RenewInstanceAsyncHandler;
HsmClient(const Credentials &credentials, const ClientConfiguration &configuration);
HsmClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
HsmClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~HsmClient();
ConfigNetworkOutcome configNetwork(const Model::ConfigNetworkRequest &request)const;
void configNetworkAsync(const Model::ConfigNetworkRequest& request, const ConfigNetworkAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ConfigNetworkOutcomeCallable configNetworkCallable(const Model::ConfigNetworkRequest& request) const;
ConfigWhiteListOutcome configWhiteList(const Model::ConfigWhiteListRequest &request)const;
void configWhiteListAsync(const Model::ConfigWhiteListRequest& request, const ConfigWhiteListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ConfigWhiteListOutcomeCallable configWhiteListCallable(const Model::ConfigWhiteListRequest& request) const;
CreateInstanceOutcome createInstance(const Model::CreateInstanceRequest &request)const;
void createInstanceAsync(const Model::CreateInstanceRequest& request, const CreateInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateInstanceOutcomeCallable createInstanceCallable(const Model::CreateInstanceRequest& request) const;
DescribeInstancesOutcome describeInstances(const Model::DescribeInstancesRequest &request)const;
void describeInstancesAsync(const Model::DescribeInstancesRequest& request, const DescribeInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
DescribeInstancesOutcomeCallable describeInstancesCallable(const Model::DescribeInstancesRequest& 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;
ModifyInstanceOutcome modifyInstance(const Model::ModifyInstanceRequest &request)const;
void modifyInstanceAsync(const Model::ModifyInstanceRequest& request, const ModifyInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ModifyInstanceOutcomeCallable modifyInstanceCallable(const Model::ModifyInstanceRequest& request) const;
MoveResourceGroupOutcome moveResourceGroup(const Model::MoveResourceGroupRequest &request)const;
void moveResourceGroupAsync(const Model::MoveResourceGroupRequest& request, const MoveResourceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
MoveResourceGroupOutcomeCallable moveResourceGroupCallable(const Model::MoveResourceGroupRequest& request) const;
ReleaseInstanceOutcome releaseInstance(const Model::ReleaseInstanceRequest &request)const;
void releaseInstanceAsync(const Model::ReleaseInstanceRequest& request, const ReleaseInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ReleaseInstanceOutcomeCallable releaseInstanceCallable(const Model::ReleaseInstanceRequest& request) const;
RenewInstanceOutcome renewInstance(const Model::RenewInstanceRequest &request)const;
void renewInstanceAsync(const Model::RenewInstanceRequest& request, const RenewInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
RenewInstanceOutcomeCallable renewInstanceCallable(const Model::RenewInstanceRequest& request) const;
private:
std::shared_ptr<EndpointProvider> endpointProvider_;
};
}
}
#endif // !ALIBABACLOUD_HSM_HSMCLIENT_H_