pub struct Destination {
pub profile: Option<Loose<String>>,
pub path: Option<Loose<String>>,
pub attach: Option<Loose<OneOf<String, Vec<String>>>>,
pub hold: Option<Loose<bool>>,
pub rate: Option<Loose<String>>,
pub burst: Option<Loose<u64>>,
pub zip: Option<Loose<OneOf<bool, ZipConfig>>>,
pub options: Map<Value>,
}Expand description
Where a file is delivered: the name of a destination profile in profiles.yml, an optional path, and the options of that destination’s plugin (e.g. to, subject and body for email). The built-in profile local copies the file to a local path.
Fields§
§profile: Option<Loose<String>>The destination profile in profiles.yml (under destinations:) to deliver with. local is built in. It uses its entry for the run (--target, DRE_TARGET, else the profile’s own target:, else dev); a missing entry is an error, and an entry {deliver: false} delivers nowhere. May use Jinja with var(), env_var(), run.* and target.name.
path: Option<Loose<String>>Where to put the file: a path, or a URL such as s3://bucket/key, depending on the destination. Rendered with Jinja, so it can use var(), run.*, macros and destination.* (this destination’s settings).
attach: Option<Loose<OneOf<String, Vec<String>>>>On a message output’s entry, for a destination that takes messages and files (slack, email): other outputs of the report whose files go with the message.
hold: Option<Loose<bool>>Hold this delivery: the output is rendered and every other destination delivered, and this one waits for dre release. dre run --hold holds every destination.
rate: Option<Loose<String>>At most this many deliveries to this destination per second, minute or hour (100/minute, 5/second, 20000/hour), spaced evenly: 60/minute sends one a second. For dre run and dre release; --rate overrides it.
burst: Option<Loose<u64>>With rate: how many deliveries may go back to back while keeping the same average. Default: 1 (evenly spaced).
zip: Option<Loose<OneOf<bool, ZipConfig>>>Deliver one zip instead of loose files: the output’s files plus every attach:ed output’s, flat. true for no password, or {password, encryption}. The zip is named by path (which must end in .zip), else <output>.zip.
options: Map<Value>The destination plugin’s options.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Destination
impl<'de> Deserialize<'de> for Destination
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>,
Source§impl JsonSchema for Destination
impl JsonSchema for Destination
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 more