pub struct HetznerConfig {
pub api_token: ApiToken,
pub server_type: String,
pub location: String,
pub image: String,
}Expand description
Hetzner-specific configuration (Domain Type)
Hetzner is used for production deployments. It provides cost-effective cloud infrastructure with good European presence.
Note: This struct is defined for enum completeness but will be fully implemented in Phase 2 (Add Hetzner Provider task).
§Examples
use torrust_tracker_deployer_lib::domain::provider::HetznerConfig;
use torrust_tracker_deployer_lib::shared::secrets::ApiToken;
let config = HetznerConfig {
api_token: ApiToken::from("your-api-token"),
server_type: "cx22".to_string(),
location: "nbg1".to_string(),
image: "ubuntu-24.04".to_string(),
};Fields§
§api_token: ApiTokenHetzner API token for authentication.
This value is kept secure and not exposed in debug output.
server_type: StringHetzner server type (e.g., “cx22”, “cx32”, “cpx11”).
Determines the VM specifications (CPU, RAM, storage).
Note: Future improvement could use a validated ServerType type.
location: StringHetzner datacenter location (e.g., “fsn1”, “nbg1”, “hel1”).
Determines where the VM will be physically located.
Note: Future improvement could use a validated Location type.
image: StringOperating system image (e.g., “ubuntu-24.04”, “ubuntu-22.04”, “debian-12”).
Determines the base operating system for the server.
Note: Future improvement could use a validated Image type.
Trait Implementations§
Source§impl Clone for HetznerConfig
impl Clone for HetznerConfig
Source§impl Debug for HetznerConfig
impl Debug for HetznerConfig
Source§impl<'de> Deserialize<'de> for HetznerConfig
impl<'de> Deserialize<'de> for HetznerConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for HetznerConfig
Source§impl PartialEq for HetznerConfig
impl PartialEq for HetznerConfig
Source§impl Serialize for HetznerConfig
impl Serialize for HetznerConfig
impl StructuralPartialEq for HetznerConfig
Auto Trait Implementations§
impl Freeze for HetznerConfig
impl RefUnwindSafe for HetznerConfig
impl Send for HetznerConfig
impl Sync for HetznerConfig
impl Unpin for HetznerConfig
impl UnsafeUnpin for HetznerConfig
impl UnwindSafe for HetznerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request