#[non_exhaustive]pub struct CanaryCodeInput {
pub s3_bucket: Option<String>,
pub s3_key: Option<String>,
pub s3_version: Option<String>,
pub zip_file: Option<Blob>,
pub handler: String,
pub dependencies: Option<Vec<Dependency>>,
}
Expand description
Use this structure to input your script code for the canary. This structure contains the Lambda handler with the location where the canary should start running the script. If the script is stored in an Amazon S3 bucket, the bucket name, key, and version are also included. If the script was passed into the canary directly, the script code is contained in the value of Zipfile
.
If you are uploading your canary scripts with an Amazon S3 bucket, your zip file should include your script in a certain folder structure.
-
For Node.js canaries, the folder structure must be
nodejs/node_modules/myCanaryFilename.js
For more information, see Packaging your Node.js canary files -
For Python canaries, the folder structure must be
python/myCanaryFilename.py
orpython/myFolder/myCanaryFilename.py
For more information, see Packaging your Python canary files
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.s3_bucket: Option<String>
If your canary script is located in Amazon S3, specify the bucket name here. Do not include s3://
as the start of the bucket name.
s3_key: Option<String>
The Amazon S3 key of your script. For more information, see Working with Amazon S3 Objects.
s3_version: Option<String>
The Amazon S3 version ID of your script.
zip_file: Option<Blob>
If you input your canary script directly into the canary instead of referring to an Amazon S3 location, the value of this parameter is the base64-encoded contents of the .zip file that contains the script. It must be smaller than 225 Kb.
For large canary scripts, we recommend that you use an Amazon S3 location instead of inputting it directly with this parameter.
handler: String
The entry point to use for the source code when running the canary. For canaries that use the syn-python-selenium-1.0
runtime or a syn-nodejs.puppeteer
runtime earlier than syn-nodejs.puppeteer-3.4
, the handler must be specified as fileName.handler
. For syn-python-selenium-1.1
, syn-nodejs.puppeteer-3.4
, and later runtimes, the handler can be specified as fileName.functionName
, or you can specify a folder where canary scripts reside as folder/fileName.functionName
.
dependencies: Option<Vec<Dependency>>
A list of dependencies that should be used for running this canary. Specify the dependencies as a key-value pair, where the key is the type of dependency and the value is the dependency reference.
Implementations§
Source§impl CanaryCodeInput
impl CanaryCodeInput
Sourcepub fn s3_bucket(&self) -> Option<&str>
pub fn s3_bucket(&self) -> Option<&str>
If your canary script is located in Amazon S3, specify the bucket name here. Do not include s3://
as the start of the bucket name.
Sourcepub fn s3_key(&self) -> Option<&str>
pub fn s3_key(&self) -> Option<&str>
The Amazon S3 key of your script. For more information, see Working with Amazon S3 Objects.
Sourcepub fn s3_version(&self) -> Option<&str>
pub fn s3_version(&self) -> Option<&str>
The Amazon S3 version ID of your script.
Sourcepub fn zip_file(&self) -> Option<&Blob>
pub fn zip_file(&self) -> Option<&Blob>
If you input your canary script directly into the canary instead of referring to an Amazon S3 location, the value of this parameter is the base64-encoded contents of the .zip file that contains the script. It must be smaller than 225 Kb.
For large canary scripts, we recommend that you use an Amazon S3 location instead of inputting it directly with this parameter.
Sourcepub fn handler(&self) -> &str
pub fn handler(&self) -> &str
The entry point to use for the source code when running the canary. For canaries that use the syn-python-selenium-1.0
runtime or a syn-nodejs.puppeteer
runtime earlier than syn-nodejs.puppeteer-3.4
, the handler must be specified as fileName.handler
. For syn-python-selenium-1.1
, syn-nodejs.puppeteer-3.4
, and later runtimes, the handler can be specified as fileName.functionName
, or you can specify a folder where canary scripts reside as folder/fileName.functionName
.
Sourcepub fn dependencies(&self) -> &[Dependency]
pub fn dependencies(&self) -> &[Dependency]
A list of dependencies that should be used for running this canary. Specify the dependencies as a key-value pair, where the key is the type of dependency and the value is the dependency reference.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .dependencies.is_none()
.
Source§impl CanaryCodeInput
impl CanaryCodeInput
Sourcepub fn builder() -> CanaryCodeInputBuilder
pub fn builder() -> CanaryCodeInputBuilder
Creates a new builder-style object to manufacture CanaryCodeInput
.
Trait Implementations§
Source§impl Clone for CanaryCodeInput
impl Clone for CanaryCodeInput
Source§fn clone(&self) -> CanaryCodeInput
fn clone(&self) -> CanaryCodeInput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for CanaryCodeInput
impl Debug for CanaryCodeInput
Source§impl PartialEq for CanaryCodeInput
impl PartialEq for CanaryCodeInput
impl StructuralPartialEq for CanaryCodeInput
Auto Trait Implementations§
impl Freeze for CanaryCodeInput
impl RefUnwindSafe for CanaryCodeInput
impl Send for CanaryCodeInput
impl Sync for CanaryCodeInput
impl Unpin for CanaryCodeInput
impl UnwindSafe for CanaryCodeInput
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,
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);