pub struct RedshiftConnection {
pub host: String,
pub port: u16,
pub database: String,
pub user: String,
pub credentials: RedshiftCredentials,
pub tls: bool,
pub tls_mode: Option<RedshiftTlsMode>,
pub ssl_root_cert: Option<String>,
}Expand description
A Redshift connection: endpoint, database, user, credentials, and a TLS
toggle. Flattened (#[serde(flatten)]) into both the source and sink
configs so the connection fields appear at the config top level.
Fields§
§host: StringCluster / endpoint host (e.g. my-cluster.abc123.us-east-1.redshift.amazonaws.com).
Required except with credentials: { type: redshift_data_api }.
port: u16Port. Defaults to DEFAULT_PORT (5439).
database: StringDatabase name.
user: StringDatabase user. Required for password; for a provisioned iam
cluster it is the default db_user; unused by redshift_data_api.
credentials: RedshiftCredentialsAuthentication credentials.
tls: boolWhether to require TLS. Defaults to true (Redshift clusters require SSL
by default). true maps to sslmode=require (encrypted, but the server
certificate is not verified); false maps to sslmode=prefer
(opportunistic TLS with plaintext fallback). Ignored when tls_mode is
set.
tls_mode: Option<RedshiftTlsMode>Explicit TLS mode; overrides tls. verify_ca / verify_full check
the server certificate against ssl_root_cert (or, without one, the
Mozilla root store bundled into the binary — not the operating
system’s), the latter also its host name.
ssl_root_cert: Option<String>PEM file of the CA that signed the server certificate (the Redshift CA
bundle), for tls_mode: verify_ca | verify_full.
Implementations§
Source§impl RedshiftConnection
impl RedshiftConnection
Sourcepub fn new(
host: impl Into<String>,
database: impl Into<String>,
user: impl Into<String>,
password: impl Into<String>,
) -> RedshiftConnection
pub fn new( host: impl Into<String>, database: impl Into<String>, user: impl Into<String>, password: impl Into<String>, ) -> RedshiftConnection
Build a Password connection with sensible defaults (port 5439, TLS on).
Sourcepub fn uses_data_api(&self) -> bool
pub fn uses_data_api(&self) -> bool
Whether statements run through the Redshift Data API rather than the PostgreSQL wire protocol.
Sourcepub fn endpoint_label(&self) -> String
pub fn endpoint_label(&self) -> String
What the connection addresses, for dataset URIs and logs: the host, or
cluster:<id> / workgroup:<name> for the Data API.
Trait Implementations§
Source§impl Clone for RedshiftConnection
impl Clone for RedshiftConnection
Source§fn clone(&self) -> RedshiftConnection
fn clone(&self) -> RedshiftConnection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RedshiftConnection
impl Debug for RedshiftConnection
Source§impl<'de> Deserialize<'de> for RedshiftConnection
impl<'de> Deserialize<'de> for RedshiftConnection
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RedshiftConnection, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RedshiftConnection, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for RedshiftConnection
impl JsonSchema for RedshiftConnection
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Serialize for RedshiftConnection
impl Serialize for RedshiftConnection
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Forget for RedshiftConnection
impl Freeze for RedshiftConnection
impl Move for RedshiftConnection
impl RefUnwindSafe for RedshiftConnection
impl Send for RedshiftConnection
impl Sync for RedshiftConnection
impl Unpin for RedshiftConnection
impl UnsafeUnpin for RedshiftConnection
impl UnwindSafe for RedshiftConnection
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<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 more