Add prometheus api AddGrafana and AddIntegration.

This commit is contained in:
sdk-team
2020-04-09 21:22:01 +08:00
parent abfdc41f3b
commit 485d712ddd
15 changed files with 604 additions and 69 deletions

View File

@@ -22,6 +22,10 @@
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "ARMSExport.h"
#include "model/AddGrafanaRequest.h"
#include "model/AddGrafanaResult.h"
#include "model/AddIntegrationRequest.h"
#include "model/AddIntegrationResult.h"
#include "model/CreateAlertContactRequest.h"
#include "model/CreateAlertContactResult.h"
#include "model/CreateAlertContactGroupRequest.h"
@@ -97,6 +101,12 @@ namespace AlibabaCloud
class ALIBABACLOUD_ARMS_EXPORT ARMSClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::AddGrafanaResult> AddGrafanaOutcome;
typedef std::future<AddGrafanaOutcome> AddGrafanaOutcomeCallable;
typedef std::function<void(const ARMSClient*, const Model::AddGrafanaRequest&, const AddGrafanaOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddGrafanaAsyncHandler;
typedef Outcome<Error, Model::AddIntegrationResult> AddIntegrationOutcome;
typedef std::future<AddIntegrationOutcome> AddIntegrationOutcomeCallable;
typedef std::function<void(const ARMSClient*, const Model::AddIntegrationRequest&, const AddIntegrationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AddIntegrationAsyncHandler;
typedef Outcome<Error, Model::CreateAlertContactResult> CreateAlertContactOutcome;
typedef std::future<CreateAlertContactOutcome> CreateAlertContactOutcomeCallable;
typedef std::function<void(const ARMSClient*, const Model::CreateAlertContactRequest&, const CreateAlertContactOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateAlertContactAsyncHandler;
@@ -201,6 +211,12 @@ namespace AlibabaCloud
ARMSClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
ARMSClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~ARMSClient();
AddGrafanaOutcome addGrafana(const Model::AddGrafanaRequest &request)const;
void addGrafanaAsync(const Model::AddGrafanaRequest& request, const AddGrafanaAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AddGrafanaOutcomeCallable addGrafanaCallable(const Model::AddGrafanaRequest& request) const;
AddIntegrationOutcome addIntegration(const Model::AddIntegrationRequest &request)const;
void addIntegrationAsync(const Model::AddIntegrationRequest& request, const AddIntegrationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
AddIntegrationOutcomeCallable addIntegrationCallable(const Model::AddIntegrationRequest& request) const;
CreateAlertContactOutcome createAlertContact(const Model::CreateAlertContactRequest &request)const;
void createAlertContactAsync(const Model::CreateAlertContactRequest& request, const CreateAlertContactAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CreateAlertContactOutcomeCallable createAlertContactCallable(const Model::CreateAlertContactRequest& request) const;

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_ARMS_MODEL_ADDGRAFANAREQUEST_H_
#define ALIBABACLOUD_ARMS_MODEL_ADDGRAFANAREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/arms/ARMSExport.h>
namespace AlibabaCloud
{
namespace ARMS
{
namespace Model
{
class ALIBABACLOUD_ARMS_EXPORT AddGrafanaRequest : public RpcServiceRequest
{
public:
AddGrafanaRequest();
~AddGrafanaRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getIntegration()const;
void setIntegration(const std::string& integration);
std::string getClusterId()const;
void setClusterId(const std::string& clusterId);
private:
std::string regionId_;
std::string integration_;
std::string clusterId_;
};
}
}
}
#endif // !ALIBABACLOUD_ARMS_MODEL_ADDGRAFANAREQUEST_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_ARMS_MODEL_ADDGRAFANARESULT_H_
#define ALIBABACLOUD_ARMS_MODEL_ADDGRAFANARESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/arms/ARMSExport.h>
namespace AlibabaCloud
{
namespace ARMS
{
namespace Model
{
class ALIBABACLOUD_ARMS_EXPORT AddGrafanaResult : public ServiceResult
{
public:
AddGrafanaResult();
explicit AddGrafanaResult(const std::string &payload);
~AddGrafanaResult();
std::string getData()const;
protected:
void parse(const std::string &payload);
private:
std::string data_;
};
}
}
}
#endif // !ALIBABACLOUD_ARMS_MODEL_ADDGRAFANARESULT_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_ARMS_MODEL_ADDINTEGRATIONREQUEST_H_
#define ALIBABACLOUD_ARMS_MODEL_ADDINTEGRATIONREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/arms/ARMSExport.h>
namespace AlibabaCloud
{
namespace ARMS
{
namespace Model
{
class ALIBABACLOUD_ARMS_EXPORT AddIntegrationRequest : public RpcServiceRequest
{
public:
AddIntegrationRequest();
~AddIntegrationRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getIntegration()const;
void setIntegration(const std::string& integration);
std::string getClusterId()const;
void setClusterId(const std::string& clusterId);
private:
std::string regionId_;
std::string integration_;
std::string clusterId_;
};
}
}
}
#endif // !ALIBABACLOUD_ARMS_MODEL_ADDINTEGRATIONREQUEST_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_ARMS_MODEL_ADDINTEGRATIONRESULT_H_
#define ALIBABACLOUD_ARMS_MODEL_ADDINTEGRATIONRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/arms/ARMSExport.h>
namespace AlibabaCloud
{
namespace ARMS
{
namespace Model
{
class ALIBABACLOUD_ARMS_EXPORT AddIntegrationResult : public ServiceResult
{
public:
AddIntegrationResult();
explicit AddIntegrationResult(const std::string &payload);
~AddIntegrationResult();
std::string getData()const;
protected:
void parse(const std::string &payload);
private:
std::string data_;
};
}
}
}
#endif // !ALIBABACLOUD_ARMS_MODEL_ADDINTEGRATIONRESULT_H_

View File

@@ -34,14 +34,14 @@ namespace AlibabaCloud
public:
struct PageBean
{
struct AlertRule
struct AlertRuleEntity
{
struct AlarmContext
{
std::string alarmContentTemplate;
std::string alarmContentSubTitle;
};
struct AlertRule1
struct AlertRule
{
struct Rule
{
@@ -89,16 +89,16 @@ namespace AlibabaCloud
std::string contactGroupIdList;
Notice notice;
std::string userId;
AlertRule1 alertRule1;
std::string alertTitle;
long updateTime;
std::string alertLevel;
long id;
std::string regionId;
AlertRule alertRule;
};
int totalCount;
int pageSize;
std::vector<AlertRule> alertRules;
std::vector<AlertRuleEntity> alertRules;
int pageNumber;
};