#[non_exhaustive]pub struct ServiceLevelObjective {
pub arn: String,
pub name: String,
pub description: Option<String>,
pub created_time: DateTime,
pub last_updated_time: DateTime,
pub sli: Option<ServiceLevelIndicator>,
pub request_based_sli: Option<RequestBasedServiceLevelIndicator>,
pub evaluation_type: Option<EvaluationType>,
pub goal: Option<Goal>,
pub burn_rate_configurations: Option<Vec<BurnRateConfiguration>>,
pub metric_source_type: Option<MetricSourceType>,
}
Expand description
A structure containing information about one service level objective (SLO) that has been created in Application Signals. Creating SLOs can help you ensure your services are performing to the level that you expect. SLOs help you set and track a specific target level for the reliability and availability of your applications and services. Each SLO uses a service level indicator (SLI), which is a key performance metric, to calculate how much underperformance can be tolerated before the goal that you set for the SLO is not achieved.
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.arn: String
The ARN of this SLO.
name: String
The name of this SLO.
description: Option<String>
The description that you created for this SLO.
created_time: DateTime
The date and time that this SLO was created. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss
. For example, 2019-07-01T23:59:59
.
last_updated_time: DateTime
The time that this SLO was most recently updated. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss
. For example, 2019-07-01T23:59:59
.
sli: Option<ServiceLevelIndicator>
A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
request_based_sli: Option<RequestBasedServiceLevelIndicator>
A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
evaluation_type: Option<EvaluationType>
Displays whether this is a period-based SLO or a request-based SLO.
goal: Option<Goal>
This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.
burn_rate_configurations: Option<Vec<BurnRateConfiguration>>
Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
metric_source_type: Option<MetricSourceType>
Displays the SLI metric source type for this SLO. Supported types are:
-
Service operation
-
Service dependency
-
CloudWatch metric
Implementations§
Source§impl ServiceLevelObjective
impl ServiceLevelObjective
Sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
The description that you created for this SLO.
Sourcepub fn created_time(&self) -> &DateTime
pub fn created_time(&self) -> &DateTime
The date and time that this SLO was created. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss
. For example, 2019-07-01T23:59:59
.
Sourcepub fn last_updated_time(&self) -> &DateTime
pub fn last_updated_time(&self) -> &DateTime
The time that this SLO was most recently updated. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss
. For example, 2019-07-01T23:59:59
.
Sourcepub fn sli(&self) -> Option<&ServiceLevelIndicator>
pub fn sli(&self) -> Option<&ServiceLevelIndicator>
A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
Sourcepub fn request_based_sli(&self) -> Option<&RequestBasedServiceLevelIndicator>
pub fn request_based_sli(&self) -> Option<&RequestBasedServiceLevelIndicator>
A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
Sourcepub fn evaluation_type(&self) -> Option<&EvaluationType>
pub fn evaluation_type(&self) -> Option<&EvaluationType>
Displays whether this is a period-based SLO or a request-based SLO.
Sourcepub fn goal(&self) -> Option<&Goal>
pub fn goal(&self) -> Option<&Goal>
This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.
Sourcepub fn burn_rate_configurations(&self) -> &[BurnRateConfiguration]
pub fn burn_rate_configurations(&self) -> &[BurnRateConfiguration]
Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .burn_rate_configurations.is_none()
.
Sourcepub fn metric_source_type(&self) -> Option<&MetricSourceType>
pub fn metric_source_type(&self) -> Option<&MetricSourceType>
Displays the SLI metric source type for this SLO. Supported types are:
-
Service operation
-
Service dependency
-
CloudWatch metric
Source§impl ServiceLevelObjective
impl ServiceLevelObjective
Sourcepub fn builder() -> ServiceLevelObjectiveBuilder
pub fn builder() -> ServiceLevelObjectiveBuilder
Creates a new builder-style object to manufacture ServiceLevelObjective
.
Trait Implementations§
Source§impl Clone for ServiceLevelObjective
impl Clone for ServiceLevelObjective
Source§fn clone(&self) -> ServiceLevelObjective
fn clone(&self) -> ServiceLevelObjective
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ServiceLevelObjective
impl Debug for ServiceLevelObjective
Source§impl PartialEq for ServiceLevelObjective
impl PartialEq for ServiceLevelObjective
impl StructuralPartialEq for ServiceLevelObjective
Auto Trait Implementations§
impl Freeze for ServiceLevelObjective
impl RefUnwindSafe for ServiceLevelObjective
impl Send for ServiceLevelObjective
impl Sync for ServiceLevelObjective
impl Unpin for ServiceLevelObjective
impl UnwindSafe for ServiceLevelObjective
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);