20#ifndef ORES_IAM_MESSAGING_BOOTSTRAP_PROTOCOL_HPP
21#define ORES_IAM_MESSAGING_BOOTSTRAP_PROTOCOL_HPP
25namespace ores::iam::messaging {
27struct bootstrap_status_request {
28 using response_type =
struct bootstrap_status_response;
29 static constexpr std::string_view nats_subject =
"iam.v1.bootstrap.status";
32struct bootstrap_status_response {
33 bool is_in_bootstrap_mode =
false;
37struct create_initial_admin_request {
38 using response_type =
struct create_initial_admin_response;
39 static constexpr std::string_view nats_subject =
"iam.v1.bootstrap.create-admin";
40 std::string principal;
45struct create_initial_admin_response {
47 std::string error_message;
48 std::string account_id;
49 std::string tenant_name;
50 std::string tenant_id;
53struct provision_tenant_request {
54 using response_type =
struct provision_tenant_response;
55 static constexpr std::string_view nats_subject =
"iam.v1.bootstrap.provision-tenant";
60 std::string description;
61 std::string principal;
66struct provision_tenant_response {
68 std::string error_message;
69 std::string account_id;
70 std::string tenant_id;