| #include "tlbmc/resource/syslog_config_utils.h" |
| |
| #include <string> |
| |
| #include "absl/status/status.h" |
| #include "absl/status/statusor.h" |
| #include "absl/strings/str_cat.h" |
| #include "absl/strings/string_view.h" |
| #include "resource.pb.h" |
| |
| namespace milotic_tlbmc { |
| |
| absl::StatusOr<SyslogProtocol> GetSyslogProtocolFromRedfishString( |
| absl::string_view protocol) { |
| if (protocol == "TCP") { |
| return SYSLOG_PROTOCOL_TCP; |
| } |
| if (protocol == "UDP") { |
| return SYSLOG_PROTOCOL_UDP; |
| } |
| return absl::InvalidArgumentError( |
| absl::StrCat("Unsupported Redfish syslog protocol: ", protocol)); |
| } |
| |
| absl::StatusOr<absl::string_view> GetRedfishStringFromSyslogProtocol( |
| SyslogProtocol protocol) { |
| switch (protocol) { |
| case SYSLOG_PROTOCOL_TCP: |
| return "TCP"; |
| case SYSLOG_PROTOCOL_UDP: |
| return "UDP"; |
| default: |
| return absl::InvalidArgumentError(absl::StrCat( |
| "Unknown syslog protocol enum: ", static_cast<int>(protocol))); |
| } |
| } |
| |
| absl::StatusOr<SyslogTlsMode> GetSyslogTlsModeFromRedfishString( |
| absl::string_view tls_mode) { |
| if (tls_mode == "TLS") { |
| return SYSLOG_TLS_MODE_TLS; |
| } |
| if (tls_mode == "Disabled") { |
| return SYSLOG_TLS_MODE_DISABLED; |
| } |
| return absl::InvalidArgumentError( |
| absl::StrCat("Unsupported Redfish syslog TLS mode: ", tls_mode)); |
| } |
| |
| absl::StatusOr<absl::string_view> GetRedfishStringFromSyslogTlsMode( |
| SyslogTlsMode tls_mode) { |
| switch (tls_mode) { |
| case SYSLOG_TLS_MODE_TLS: |
| return "TLS"; |
| case SYSLOG_TLS_MODE_DISABLED: |
| return "Disabled"; |
| default: |
| return absl::InvalidArgumentError(absl::StrCat( |
| "Unknown syslog TLS mode enum: ", static_cast<int>(tls_mode))); |
| } |
| } |
| |
| absl::StatusOr<SyslogProtocol> GetSyslogProtocolFromYoctoString( |
| absl::string_view protocol) { |
| if (protocol == "tcp") { |
| return SYSLOG_PROTOCOL_TCP; |
| } |
| if (protocol == "udp") { |
| return SYSLOG_PROTOCOL_UDP; |
| } |
| return absl::InvalidArgumentError( |
| absl::StrCat("Unsupported Yocto syslog protocol: ", protocol)); |
| } |
| |
| absl::StatusOr<std::string> GetYoctoStringFromSyslogProtocol( |
| SyslogProtocol protocol) { |
| switch (protocol) { |
| case SYSLOG_PROTOCOL_TCP: |
| return "tcp"; |
| case SYSLOG_PROTOCOL_UDP: |
| return "udp"; |
| default: |
| return absl::InvalidArgumentError(absl::StrCat( |
| "Unknown syslog protocol enum: ", static_cast<int>(protocol))); |
| } |
| } |
| |
| absl::StatusOr<SyslogTlsMode> GetSyslogTlsModeFromYoctoString( |
| absl::string_view tls_mode) { |
| if (tls_mode == "tls") { |
| return SYSLOG_TLS_MODE_TLS; |
| } |
| if (tls_mode == "disabled") { |
| return SYSLOG_TLS_MODE_DISABLED; |
| } |
| return absl::InvalidArgumentError( |
| absl::StrCat("Unsupported Yocto syslog TLS mode: ", tls_mode)); |
| } |
| |
| absl::StatusOr<std::string> GetYoctoStringFromSyslogTlsMode( |
| SyslogTlsMode tls_mode) { |
| switch (tls_mode) { |
| case SYSLOG_TLS_MODE_TLS: |
| return "tls"; |
| case SYSLOG_TLS_MODE_DISABLED: |
| return "disabled"; |
| default: |
| return absl::InvalidArgumentError(absl::StrCat( |
| "Unknown syslog TLS mode enum: ", static_cast<int>(tls_mode))); |
| } |
| } |
| |
| } // namespace milotic_tlbmc |