pub struct SpiceBuilder<S: State = Empty> { /* private fields */ }
Expand description
Use builder syntax to set the inputs and finish with build()
.
Implementations§
Source§impl<S: State> SpiceBuilder<S>
impl<S: State> SpiceBuilder<S>
Sourcepub fn build(self) -> Spicewhere
S: IsComplete,
pub fn build(self) -> Spicewhere
S: IsComplete,
Finish building and return the requested object
Sourcepub fn port(self, value: u16) -> SpiceBuilder<SetPort<S>>where
S::Port: IsUnset,
pub fn port(self, value: u16) -> SpiceBuilder<SetPort<S>>where
S::Port: IsUnset,
Sourcepub fn maybe_port(self, value: Option<u16>) -> SpiceBuilder<SetPort<S>>where
S::Port: IsUnset,
pub fn maybe_port(self, value: Option<u16>) -> SpiceBuilder<SetPort<S>>where
S::Port: IsUnset,
Sourcepub fn addr(self, value: String) -> SpiceBuilder<SetAddr<S>>where
S::Addr: IsUnset,
pub fn addr(self, value: String) -> SpiceBuilder<SetAddr<S>>where
S::Addr: IsUnset,
Sourcepub fn maybe_addr(self, value: Option<String>) -> SpiceBuilder<SetAddr<S>>where
S::Addr: IsUnset,
pub fn maybe_addr(self, value: Option<String>) -> SpiceBuilder<SetAddr<S>>where
S::Addr: IsUnset,
Sourcepub fn ipv4(self, value: OnOff) -> SpiceBuilder<SetIpv4<S>>where
S::Ipv4: IsUnset,
pub fn ipv4(self, value: OnOff) -> SpiceBuilder<SetIpv4<S>>where
S::Ipv4: IsUnset,
Sourcepub fn maybe_ipv4(self, value: Option<OnOff>) -> SpiceBuilder<SetIpv4<S>>where
S::Ipv4: IsUnset,
pub fn maybe_ipv4(self, value: Option<OnOff>) -> SpiceBuilder<SetIpv4<S>>where
S::Ipv4: IsUnset,
Sourcepub fn ipv6(self, value: OnOff) -> SpiceBuilder<SetIpv6<S>>where
S::Ipv6: IsUnset,
pub fn ipv6(self, value: OnOff) -> SpiceBuilder<SetIpv6<S>>where
S::Ipv6: IsUnset,
Sourcepub fn maybe_ipv6(self, value: Option<OnOff>) -> SpiceBuilder<SetIpv6<S>>where
S::Ipv6: IsUnset,
pub fn maybe_ipv6(self, value: Option<OnOff>) -> SpiceBuilder<SetIpv6<S>>where
S::Ipv6: IsUnset,
Sourcepub fn unix(self, value: OnOff) -> SpiceBuilder<SetUnix<S>>where
S::Unix: IsUnset,
pub fn unix(self, value: OnOff) -> SpiceBuilder<SetUnix<S>>where
S::Unix: IsUnset,
Sourcepub fn maybe_unix(self, value: Option<OnOff>) -> SpiceBuilder<SetUnix<S>>where
S::Unix: IsUnset,
pub fn maybe_unix(self, value: Option<OnOff>) -> SpiceBuilder<SetUnix<S>>where
S::Unix: IsUnset,
Sourcepub fn password_secret(
self,
value: String,
) -> SpiceBuilder<SetPasswordSecret<S>>where
S::PasswordSecret: IsUnset,
pub fn password_secret(
self,
value: String,
) -> SpiceBuilder<SetPasswordSecret<S>>where
S::PasswordSecret: IsUnset,
Sourcepub fn maybe_password_secret(
self,
value: Option<String>,
) -> SpiceBuilder<SetPasswordSecret<S>>where
S::PasswordSecret: IsUnset,
pub fn maybe_password_secret(
self,
value: Option<String>,
) -> SpiceBuilder<SetPasswordSecret<S>>where
S::PasswordSecret: IsUnset,
Sourcepub fn sasl(self, value: OnOff) -> SpiceBuilder<SetSasl<S>>where
S::Sasl: IsUnset,
pub fn sasl(self, value: OnOff) -> SpiceBuilder<SetSasl<S>>where
S::Sasl: IsUnset,
Optional (Some / Option setters).
Require that the client use SASL to authenticate with the spice. The exact choice of authentication method used is controlled from the system / user’s SASL configuration file for the ‘qemu’ service. This is typically found in /etc/sasl2/qemu.conf. If running QEMU as an unprivileged user, an environment variable SASL_CONF_PATH can be used to make it search alternate locations for the service config. While some SASL auth methods can also provide data encryption (eg GSSAPI), it is recommended that SASL always be combined with the ‘tls’ and ‘x509’ settings to enable use of SSL and server certificates. This ensures a data encryption preventing compromise of authentication credentials.
Sourcepub fn maybe_sasl(self, value: Option<OnOff>) -> SpiceBuilder<SetSasl<S>>where
S::Sasl: IsUnset,
pub fn maybe_sasl(self, value: Option<OnOff>) -> SpiceBuilder<SetSasl<S>>where
S::Sasl: IsUnset,
Optional (Some / Option setters).
Require that the client use SASL to authenticate with the spice. The exact choice of authentication method used is controlled from the system / user’s SASL configuration file for the ‘qemu’ service. This is typically found in /etc/sasl2/qemu.conf. If running QEMU as an unprivileged user, an environment variable SASL_CONF_PATH can be used to make it search alternate locations for the service config. While some SASL auth methods can also provide data encryption (eg GSSAPI), it is recommended that SASL always be combined with the ‘tls’ and ‘x509’ settings to enable use of SSL and server certificates. This ensures a data encryption preventing compromise of authentication credentials.
Sourcepub fn disable_ticketing(
self,
value: OnOff,
) -> SpiceBuilder<SetDisableTicketing<S>>where
S::DisableTicketing: IsUnset,
pub fn disable_ticketing(
self,
value: OnOff,
) -> SpiceBuilder<SetDisableTicketing<S>>where
S::DisableTicketing: IsUnset,
Sourcepub fn maybe_disable_ticketing(
self,
value: Option<OnOff>,
) -> SpiceBuilder<SetDisableTicketing<S>>where
S::DisableTicketing: IsUnset,
pub fn maybe_disable_ticketing(
self,
value: Option<OnOff>,
) -> SpiceBuilder<SetDisableTicketing<S>>where
S::DisableTicketing: IsUnset,
Sourcepub fn disable_copy_paste(
self,
value: OnOff,
) -> SpiceBuilder<SetDisableCopyPaste<S>>where
S::DisableCopyPaste: IsUnset,
pub fn disable_copy_paste(
self,
value: OnOff,
) -> SpiceBuilder<SetDisableCopyPaste<S>>where
S::DisableCopyPaste: IsUnset,
Sourcepub fn maybe_disable_copy_paste(
self,
value: Option<OnOff>,
) -> SpiceBuilder<SetDisableCopyPaste<S>>where
S::DisableCopyPaste: IsUnset,
pub fn maybe_disable_copy_paste(
self,
value: Option<OnOff>,
) -> SpiceBuilder<SetDisableCopyPaste<S>>where
S::DisableCopyPaste: IsUnset,
Sourcepub fn disable_agent_file_xfer(
self,
value: OnOff,
) -> SpiceBuilder<SetDisableAgentFileXfer<S>>where
S::DisableAgentFileXfer: IsUnset,
pub fn disable_agent_file_xfer(
self,
value: OnOff,
) -> SpiceBuilder<SetDisableAgentFileXfer<S>>where
S::DisableAgentFileXfer: IsUnset,
Sourcepub fn maybe_disable_agent_file_xfer(
self,
value: Option<OnOff>,
) -> SpiceBuilder<SetDisableAgentFileXfer<S>>where
S::DisableAgentFileXfer: IsUnset,
pub fn maybe_disable_agent_file_xfer(
self,
value: Option<OnOff>,
) -> SpiceBuilder<SetDisableAgentFileXfer<S>>where
S::DisableAgentFileXfer: IsUnset,
Sourcepub fn tls_port(self, value: u16) -> SpiceBuilder<SetTlsPort<S>>where
S::TlsPort: IsUnset,
pub fn tls_port(self, value: u16) -> SpiceBuilder<SetTlsPort<S>>where
S::TlsPort: IsUnset,
Sourcepub fn maybe_tls_port(self, value: Option<u16>) -> SpiceBuilder<SetTlsPort<S>>where
S::TlsPort: IsUnset,
pub fn maybe_tls_port(self, value: Option<u16>) -> SpiceBuilder<SetTlsPort<S>>where
S::TlsPort: IsUnset,
Sourcepub fn x509_dir(self, value: PathBuf) -> SpiceBuilder<SetX509Dir<S>>where
S::X509Dir: IsUnset,
pub fn x509_dir(self, value: PathBuf) -> SpiceBuilder<SetX509Dir<S>>where
S::X509Dir: IsUnset,
Sourcepub fn maybe_x509_dir(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509Dir<S>>where
S::X509Dir: IsUnset,
pub fn maybe_x509_dir(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509Dir<S>>where
S::X509Dir: IsUnset,
Sourcepub fn x509_key_file(self, value: PathBuf) -> SpiceBuilder<SetX509KeyFile<S>>where
S::X509KeyFile: IsUnset,
pub fn x509_key_file(self, value: PathBuf) -> SpiceBuilder<SetX509KeyFile<S>>where
S::X509KeyFile: IsUnset,
Sourcepub fn maybe_x509_key_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509KeyFile<S>>where
S::X509KeyFile: IsUnset,
pub fn maybe_x509_key_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509KeyFile<S>>where
S::X509KeyFile: IsUnset,
Sourcepub fn x509_key_password(
self,
value: PathBuf,
) -> SpiceBuilder<SetX509KeyPassword<S>>where
S::X509KeyPassword: IsUnset,
pub fn x509_key_password(
self,
value: PathBuf,
) -> SpiceBuilder<SetX509KeyPassword<S>>where
S::X509KeyPassword: IsUnset,
Sourcepub fn maybe_x509_key_password(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509KeyPassword<S>>where
S::X509KeyPassword: IsUnset,
pub fn maybe_x509_key_password(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509KeyPassword<S>>where
S::X509KeyPassword: IsUnset,
Sourcepub fn x509_cert_file(self, value: PathBuf) -> SpiceBuilder<SetX509CertFile<S>>where
S::X509CertFile: IsUnset,
pub fn x509_cert_file(self, value: PathBuf) -> SpiceBuilder<SetX509CertFile<S>>where
S::X509CertFile: IsUnset,
Sourcepub fn maybe_x509_cert_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509CertFile<S>>where
S::X509CertFile: IsUnset,
pub fn maybe_x509_cert_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509CertFile<S>>where
S::X509CertFile: IsUnset,
Sourcepub fn x509_cacert_file(
self,
value: PathBuf,
) -> SpiceBuilder<SetX509CacertFile<S>>where
S::X509CacertFile: IsUnset,
pub fn x509_cacert_file(
self,
value: PathBuf,
) -> SpiceBuilder<SetX509CacertFile<S>>where
S::X509CacertFile: IsUnset,
Sourcepub fn maybe_x509_cacert_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509CacertFile<S>>where
S::X509CacertFile: IsUnset,
pub fn maybe_x509_cacert_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509CacertFile<S>>where
S::X509CacertFile: IsUnset,
Sourcepub fn x509_dh_key_file(
self,
value: PathBuf,
) -> SpiceBuilder<SetX509DhKeyFile<S>>where
S::X509DhKeyFile: IsUnset,
pub fn x509_dh_key_file(
self,
value: PathBuf,
) -> SpiceBuilder<SetX509DhKeyFile<S>>where
S::X509DhKeyFile: IsUnset,
Sourcepub fn maybe_x509_dh_key_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509DhKeyFile<S>>where
S::X509DhKeyFile: IsUnset,
pub fn maybe_x509_dh_key_file(
self,
value: Option<PathBuf>,
) -> SpiceBuilder<SetX509DhKeyFile<S>>where
S::X509DhKeyFile: IsUnset,
Sourcepub fn tls_ciphers(self, value: String) -> SpiceBuilder<SetTlsCiphers<S>>where
S::TlsCiphers: IsUnset,
pub fn tls_ciphers(self, value: String) -> SpiceBuilder<SetTlsCiphers<S>>where
S::TlsCiphers: IsUnset,
Sourcepub fn maybe_tls_ciphers(
self,
value: Option<String>,
) -> SpiceBuilder<SetTlsCiphers<S>>where
S::TlsCiphers: IsUnset,
pub fn maybe_tls_ciphers(
self,
value: Option<String>,
) -> SpiceBuilder<SetTlsCiphers<S>>where
S::TlsCiphers: IsUnset,
Sourcepub fn tls_channel(self, value: Channel) -> SpiceBuilder<SetTlsChannel<S>>where
S::TlsChannel: IsUnset,
pub fn tls_channel(self, value: Channel) -> SpiceBuilder<SetTlsChannel<S>>where
S::TlsChannel: IsUnset,
Optional (Some / Option setters).
Force specific channel to be used with or without TLS encryption. The options can be specified multiple times to configure multiple channels. The special name “default” can be used to set the default mode. For channels which are not explicitly forced into one mode the spice client is allowed to pick tls/plaintext as he pleases.
Sourcepub fn maybe_tls_channel(
self,
value: Option<Channel>,
) -> SpiceBuilder<SetTlsChannel<S>>where
S::TlsChannel: IsUnset,
pub fn maybe_tls_channel(
self,
value: Option<Channel>,
) -> SpiceBuilder<SetTlsChannel<S>>where
S::TlsChannel: IsUnset,
Optional (Some / Option setters).
Force specific channel to be used with or without TLS encryption. The options can be specified multiple times to configure multiple channels. The special name “default” can be used to set the default mode. For channels which are not explicitly forced into one mode the spice client is allowed to pick tls/plaintext as he pleases.