#[non_exhaustive]pub struct Service {
pub key_attributes: HashMap<String, String>,
pub attribute_maps: Option<Vec<HashMap<String, String>>>,
pub service_groups: Option<Vec<ServiceGroup>>,
pub metric_references: Vec<MetricReference>,
pub log_group_references: Option<Vec<HashMap<String, String>>>,
}Expand description
This structure contains information about one of your services that was discovered by Application Signals.
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.key_attributes: HashMap<String, String>This is a string-to-string map. It can include the following fields.
-
Typedesignates the type of object this is. -
ResourceTypespecifies the type of the resource. This field is used only when the value of theTypefield isResourceorAWS::Resource. -
Namespecifies the name of the object. This is used only if the value of theTypefield isService,RemoteService, orAWS::Service. -
Identifieridentifies the resource objects of this resource. This is used only if the value of theTypefield isResourceorAWS::Resource. -
Environmentspecifies the location where this object is hosted, or what it belongs to.
attribute_maps: Option<Vec<HashMap<String, String>>>This structure contains one or more string-to-string maps that help identify this service. It can include platform attributes, application attributes, and telemetry attributes.
Platform attributes contain information the service's platform.
-
PlatformTypedefines the hosted-in platform. -
EKS.Clusteris the name of the Amazon EKS cluster. -
K8s.Clusteris the name of the self-hosted Kubernetes cluster. -
K8s.Namespaceis the name of the Kubernetes namespace in either Amazon EKS or Kubernetes clusters. -
K8s.Workloadis the name of the Kubernetes workload in either Amazon EKS or Kubernetes clusters. -
K8s.Nodeis the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters. -
K8s.Podis the name of the Kubernetes pod in either Amazon EKS or Kubernetes clusters. -
EC2.AutoScalingGroupis the name of the Amazon EC2 Auto Scaling group. -
EC2.InstanceIdis the ID of the Amazon EC2 instance. -
Hostis the name of the host, for all platform types.
Application attributes contain information about the application.
-
AWS.Applicationis the application's name in Amazon Web Services Service Catalog AppRegistry. -
AWS.Application.ARNis the application's ARN in Amazon Web Services Service Catalog AppRegistry.
Telemetry attributes contain telemetry information.
-
Telemetry.SDKis the fingerprint of the OpenTelemetry SDK version for instrumented services. -
Telemetry.Agentis the fingerprint of the agent used to collect and send telemetry data. -
Telemetry.SourceSpecifies the point of application where the telemetry was collected or specifies what was used for the source of telemetry data.
service_groups: Option<Vec<ServiceGroup>>An array of service groups that this service belongs to, based on the configured grouping attributes.
metric_references: Vec<MetricReference>An array of structures that each contain information about one metric associated with this service.
log_group_references: Option<Vec<HashMap<String, String>>>An array of string-to-string maps that each contain information about one log group associated with this service. Each string-to-string map includes the following fields:
-
"Type": "AWS::Resource" -
"ResourceType": "AWS::Logs::LogGroup" -
"Identifier": "name-of-log-group"
Implementations§
Source§impl Service
impl Service
Sourcepub fn key_attributes(&self) -> &HashMap<String, String>
pub fn key_attributes(&self) -> &HashMap<String, String>
This is a string-to-string map. It can include the following fields.
-
Typedesignates the type of object this is. -
ResourceTypespecifies the type of the resource. This field is used only when the value of theTypefield isResourceorAWS::Resource. -
Namespecifies the name of the object. This is used only if the value of theTypefield isService,RemoteService, orAWS::Service. -
Identifieridentifies the resource objects of this resource. This is used only if the value of theTypefield isResourceorAWS::Resource. -
Environmentspecifies the location where this object is hosted, or what it belongs to.
Sourcepub fn attribute_maps(&self) -> &[HashMap<String, String>]
pub fn attribute_maps(&self) -> &[HashMap<String, String>]
This structure contains one or more string-to-string maps that help identify this service. It can include platform attributes, application attributes, and telemetry attributes.
Platform attributes contain information the service's platform.
-
PlatformTypedefines the hosted-in platform. -
EKS.Clusteris the name of the Amazon EKS cluster. -
K8s.Clusteris the name of the self-hosted Kubernetes cluster. -
K8s.Namespaceis the name of the Kubernetes namespace in either Amazon EKS or Kubernetes clusters. -
K8s.Workloadis the name of the Kubernetes workload in either Amazon EKS or Kubernetes clusters. -
K8s.Nodeis the name of the Kubernetes node in either Amazon EKS or Kubernetes clusters. -
K8s.Podis the name of the Kubernetes pod in either Amazon EKS or Kubernetes clusters. -
EC2.AutoScalingGroupis the name of the Amazon EC2 Auto Scaling group. -
EC2.InstanceIdis the ID of the Amazon EC2 instance. -
Hostis the name of the host, for all platform types.
Application attributes contain information about the application.
-
AWS.Applicationis the application's name in Amazon Web Services Service Catalog AppRegistry. -
AWS.Application.ARNis the application's ARN in Amazon Web Services Service Catalog AppRegistry.
Telemetry attributes contain telemetry information.
-
Telemetry.SDKis the fingerprint of the OpenTelemetry SDK version for instrumented services. -
Telemetry.Agentis the fingerprint of the agent used to collect and send telemetry data. -
Telemetry.SourceSpecifies the point of application where the telemetry was collected or specifies what was used for the source of telemetry data.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .attribute_maps.is_none().
Sourcepub fn service_groups(&self) -> &[ServiceGroup]
pub fn service_groups(&self) -> &[ServiceGroup]
An array of service groups that this service belongs to, based on the configured grouping attributes.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .service_groups.is_none().
Sourcepub fn metric_references(&self) -> &[MetricReference]
pub fn metric_references(&self) -> &[MetricReference]
An array of structures that each contain information about one metric associated with this service.
Sourcepub fn log_group_references(&self) -> &[HashMap<String, String>]
pub fn log_group_references(&self) -> &[HashMap<String, String>]
An array of string-to-string maps that each contain information about one log group associated with this service. Each string-to-string map includes the following fields:
-
"Type": "AWS::Resource" -
"ResourceType": "AWS::Logs::LogGroup" -
"Identifier": "name-of-log-group"
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .log_group_references.is_none().
Trait Implementations§
impl StructuralPartialEq for Service
Auto Trait Implementations§
impl Freeze for Service
impl RefUnwindSafe for Service
impl Send for Service
impl Sync for Service
impl Unpin for Service
impl UnwindSafe for Service
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);