20#ifndef ORES_IAM_MESSAGING_BOOTSTRAP_PROTOCOL_HPP
21#define ORES_IAM_MESSAGING_BOOTSTRAP_PROTOCOL_HPP
27#include <boost/uuid/uuid.hpp>
28#include "ores.comms/messaging/message_types.hpp"
29#include "ores.comms/messaging/message_traits.hpp"
42 std::string description;
74 static std::expected<create_initial_admin_request, ores::utility::serialization::error_code>
85 std::string error_message;
86 boost::uuids::uuid account_id;
102 static std::expected<create_initial_admin_response, ores::utility::serialization::error_code>
120 std::vector<std::byte>
serialize()
const;
125 static std::expected<bootstrap_status_request, ores::utility::serialization::error_code>
135 bool is_in_bootstrap_mode;
158 std::vector<std::byte>
serialize()
const;
163 static std::expected<bootstrap_status_response, ores::utility::serialization::error_code>
180 static constexpr message_type request_message_type =
181 message_type::create_initial_admin_request;
191 static constexpr message_type request_message_type =
192 message_type::bootstrap_status_request;
Contains messaging related infrastructure in the comms library.
Definition assets_protocol.hpp:122
Network messaging infrastructure for the IAM module.
Definition account_history_protocol.hpp:33
Traits template for mapping request types to their response types and message type enum values.
Definition message_traits.hpp:66
Lightweight bundle info for bootstrap wizard.
Definition bootstrap_protocol.hpp:39
Request to create the initial administrator account.
Definition bootstrap_protocol.hpp:53
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition bootstrap_protocol.cpp:36
static std::expected< create_initial_admin_request, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition bootstrap_protocol.cpp:45
Response from creating the initial administrator account.
Definition bootstrap_protocol.hpp:83
static std::expected< create_initial_admin_response, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition bootstrap_protocol.cpp:77
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition bootstrap_protocol.cpp:68
Request to check the bootstrap mode status.
Definition bootstrap_protocol.hpp:114
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition bootstrap_protocol.cpp:105
static std::expected< bootstrap_status_request, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition bootstrap_protocol.cpp:111
Response containing the bootstrap mode status.
Definition bootstrap_protocol.hpp:134
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition bootstrap_protocol.cpp:121
std::vector< bootstrap_bundle_info > available_bundles
Available dataset bundles for provisioning.
Definition bootstrap_protocol.hpp:143
static std::expected< bootstrap_status_response, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition bootstrap_protocol.cpp:137