This topic describes how to use the SDK for C++ to query all the event rules of an event bus.

The following code provides an example on how to use the SDK for C++ to query all the event rules of an event bus:

#include <alibabacloud/event_bridge.hpp>
#include <alibabacloud/sample.hpp>
#include <darabonba/console.hpp>
#include <darabonba/core.hpp>
#include <darabonba/util.hpp>
#include <iostream>
#include <map>
#include <vector>

using namespace std;

using namespace Alibabacloud_Sample;

Alibabacloud_EventBridge::Client Alibabacloud_Sample::Client::createClient() {
  shared_ptr<Alibabacloud_EventBridge::Config> config =
      make_shared<Alibabacloud_EventBridge::Config>();
  // The AccessKey ID. 
  config->accessKeyId = make_shared<string>("<accessKeyId>");
  // The AccessKey secret. 
  config->accessKeySecret = make_shared<string>("<accessKeySecret>");
  // The endpoint. 
  config->endpoint = make_shared<string>("<endpoint>");
  return Alibabacloud_EventBridge::Client(config);
}

void Alibabacloud_Sample::Client::listEventRulesSample(
    shared_ptr<Alibabacloud_EventBridge::Client> client) {
  try {
    shared_ptr<Alibabacloud_EventBridge::ListRulesRequest>
        listEventRulesRequest =
            make_shared<Alibabacloud_EventBridge::ListRulesRequest>();
    listEventRulesRequest->eventBusName = make_shared<string>("demo-bus");
    shared_ptr<Alibabacloud_EventBridge::ListRulesResponse> resp =
        make_shared<Alibabacloud_EventBridge::ListRulesResponse>(
            client->listRules(listEventRulesRequest));
    Darabonba_Console::Client::log(make_shared<string>(
        "--------------------listRules rule success--------------------"));
    Darabonba_Console::Client::log(
        make_shared<string>(Darabonba_Util::Client::toJSONString(
            make_shared<map<string, boost::any>>(resp->toMap()))));
  } catch (std::exception &error) {
    Darabonba_Console::Client::log(error.message);
  }
}

void Alibabacloud_Sample::Client::main(shared_ptr<vector<string>> args) {
  shared_ptr<Alibabacloud_EventBridge::Client> client =
      make_shared<Alibabacloud_EventBridge::Client>(Client::createClient());
  Client::listEventRulesSample(client);
}