pub struct Client { /* private fields */ }
Expand description
Client for AWS AI Ops
Client for invoking operations on AWS AI Ops. Each operation on AWS AI Ops is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
§Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_aiops::Client::new(&config);
Occasionally, SDKs may have additional service-specific values that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Builder
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_aiops::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
§Using the Client
A client has a function for every operation that can be performed by the service.
For example, the CreateInvestigationGroup
operation has
a Client::create_investigation_group
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.create_investigation_group()
.name("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
Source§impl Client
impl Client
Sourcepub fn create_investigation_group(
&self,
) -> CreateInvestigationGroupFluentBuilder
pub fn create_investigation_group( &self, ) -> CreateInvestigationGroupFluentBuilder
Constructs a fluent builder for the CreateInvestigationGroup
operation.
- The fluent builder is configurable:
name(impl Into<String>)
/set_name(Option<String>)
:
required: trueA name for the investigation group.
role_arn(impl Into<String>)
/set_role_arn(Option<String>)
:
required: trueSpecify the ARN of the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.
For more information, see How to control what data Amazon Q has access to during investigations.
encryption_configuration(EncryptionConfiguration)
/set_encryption_configuration(Option<EncryptionConfiguration>)
:
required: falseUse this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.
retention_in_days(i64)
/set_retention_in_days(Option<i64>)
:
required: falseSpecify how long that investigation data is kept. For more information, see Operational investigation data retention.
If you omit this parameter, the default of 90 days is used.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: falseA list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation group, you must have the
cloudwatch:TagResource
permission.Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
tag_key_boundaries(impl Into<String>)
/set_tag_key_boundaries(Option<Vec::<String>>)
:
required: falseEnter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven’t deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.
You don’t need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.
chatbot_notification_channel(impl Into<String>, Vec::<String>)
/set_chatbot_notification_channel(Option<HashMap::<String, Vec::<String>>>)
:
required: falseUse this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.
is_cloud_trail_event_history_enabled(bool)
/set_is_cloud_trail_event_history_enabled(Option<bool>)
:
required: falseSpecify
true
to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default istrue
.
- On success, responds with
CreateInvestigationGroupOutput
with field(s):arn(Option<String>)
:The ARN of the investigation group that you just created.
- On failure, responds with
SdkError<CreateInvestigationGroupError>
Source§impl Client
impl Client
Sourcepub fn delete_investigation_group(
&self,
) -> DeleteInvestigationGroupFluentBuilder
pub fn delete_investigation_group( &self, ) -> DeleteInvestigationGroupFluentBuilder
Constructs a fluent builder for the DeleteInvestigationGroup
operation.
- The fluent builder is configurable:
identifier(impl Into<String>)
/set_identifier(Option<String>)
:
required: trueSpecify either the name or the ARN of the investigation group that you want to delete.
- On success, responds with
DeleteInvestigationGroupOutput
- On failure, responds with
SdkError<DeleteInvestigationGroupError>
Source§impl Client
impl Client
Sourcepub fn delete_investigation_group_policy(
&self,
) -> DeleteInvestigationGroupPolicyFluentBuilder
pub fn delete_investigation_group_policy( &self, ) -> DeleteInvestigationGroupPolicyFluentBuilder
Constructs a fluent builder for the DeleteInvestigationGroupPolicy
operation.
- The fluent builder is configurable:
identifier(impl Into<String>)
/set_identifier(Option<String>)
:
required: trueSpecify either the name or the ARN of the investigation group that you want to remove the policy from.
- On success, responds with
DeleteInvestigationGroupPolicyOutput
- On failure, responds with
SdkError<DeleteInvestigationGroupPolicyError>
Source§impl Client
impl Client
Sourcepub fn get_investigation_group(&self) -> GetInvestigationGroupFluentBuilder
pub fn get_investigation_group(&self) -> GetInvestigationGroupFluentBuilder
Constructs a fluent builder for the GetInvestigationGroup
operation.
- The fluent builder is configurable:
identifier(impl Into<String>)
/set_identifier(Option<String>)
:
required: trueSpecify either the name or the ARN of the investigation group that you want to view.
- On success, responds with
GetInvestigationGroupOutput
with field(s):created_by(Option<String>)
:The name of the user who created the investigation group.
created_at(Option<DateTime>)
:The date and time that the investigation group was created.
last_modified_by(Option<String>)
:The name of the user who created the investigation group.
last_modified_at(Option<DateTime>)
:The date and time that the investigation group was most recently modified.
name(Option<String>)
:The name of the investigation group.
arn(Option<String>)
:The Amazon Resource Name (ARN) of the investigation group.
role_arn(Option<String>)
:The ARN of the IAM role that the investigation group uses for permissions to gather data.
encryption_configuration(Option<EncryptionConfiguration>)
:Specifies the customer managed KMS key that the investigation group uses to encrypt data, if there is one. If not, the investigation group uses an Amazon Web Services key to encrypt the data.
retention_in_days(Option<i64>)
:Specifies how long that investigation data is kept.
chatbot_notification_channel(Option<HashMap::<String, Vec::<String>>>)
:This structure is a string array. The first string is the ARN of a Amazon SNS topic. The array of strings display the ARNs of Amazon Q in chat applications configurations that are associated with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.
tag_key_boundaries(Option<Vec::<String>>)
:Displays the custom tag keys for custom applications in your system that you have specified in the investigation group. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources.
is_cloud_trail_event_history_enabled(Option<bool>)
:Specifies whether Amazon Q Developer operational investigationshas access to change events that are recorded by CloudTrail.
- On failure, responds with
SdkError<GetInvestigationGroupError>
Source§impl Client
impl Client
Sourcepub fn get_investigation_group_policy(
&self,
) -> GetInvestigationGroupPolicyFluentBuilder
pub fn get_investigation_group_policy( &self, ) -> GetInvestigationGroupPolicyFluentBuilder
Constructs a fluent builder for the GetInvestigationGroupPolicy
operation.
- The fluent builder is configurable:
identifier(impl Into<String>)
/set_identifier(Option<String>)
:
required: trueSpecify either the name or the ARN of the investigation group that you want to view the policy of.
- On success, responds with
GetInvestigationGroupPolicyOutput
with field(s):investigation_group_arn(Option<String>)
:The Amazon Resource Name (ARN) of the investigation group that you want to view the policy of.
policy(Option<String>)
:The policy, in JSON format.
- On failure, responds with
SdkError<GetInvestigationGroupPolicyError>
Source§impl Client
impl Client
Sourcepub fn list_investigation_groups(&self) -> ListInvestigationGroupsFluentBuilder
pub fn list_investigation_groups(&self) -> ListInvestigationGroupsFluentBuilder
Constructs a fluent builder for the ListInvestigationGroups
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseInclude this value, if it was returned by the previous operation, to get the next set of service operations.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseThe maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.
- On success, responds with
ListInvestigationGroupsOutput
with field(s):next_token(Option<String>)
:Include this value in your next use of this operation to get the next set of service operations.
investigation_groups(Option<Vec::<ListInvestigationGroupsModel>>)
:An array of structures, where each structure contains the information about one investigation group in the account.
- On failure, responds with
SdkError<ListInvestigationGroupsError>
Source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe ARN of the Amazon Q Developer operational investigations resource that you want to view tags for. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.
The ARN format for an investigation group is
arn:aws:aiops:Region:account-id:investigation-group:investigation-group-id
.
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<HashMap::<String, String>>)
:The list of tag keys and values associated with the resource you specified.
- On failure, responds with
SdkError<ListTagsForResourceError>
Source§impl Client
impl Client
Sourcepub fn put_investigation_group_policy(
&self,
) -> PutInvestigationGroupPolicyFluentBuilder
pub fn put_investigation_group_policy( &self, ) -> PutInvestigationGroupPolicyFluentBuilder
Constructs a fluent builder for the PutInvestigationGroupPolicy
operation.
- The fluent builder is configurable:
identifier(impl Into<String>)
/set_identifier(Option<String>)
:
required: trueSpecify either the name or the ARN of the investigation group that you want to assign the policy to.
policy(impl Into<String>)
/set_policy(Option<String>)
:
required: trueThe policy, in JSON format.
- On success, responds with
PutInvestigationGroupPolicyOutput
with field(s):investigation_group_arn(Option<String>)
:The ARN of the investigation group that will use this policy.
- On failure, responds with
SdkError<PutInvestigationGroupPolicyError>
Source§impl Client
impl Client
Sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.
tags(impl Into<String>, impl Into<String>)
/set_tags(Option<HashMap::<String, String>>)
:
required: trueThe list of key-value pairs to associate with the resource.
- On success, responds with
TagResourceOutput
- On failure, responds with
SdkError<TagResourceError>
Source§impl Client
impl Client
Sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource
operation.
- The fluent builder is configurable:
resource_arn(impl Into<String>)
/set_resource_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups.
tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueThe list of tag keys to remove from the resource.
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
Source§impl Client
impl Client
Sourcepub fn update_investigation_group(
&self,
) -> UpdateInvestigationGroupFluentBuilder
pub fn update_investigation_group( &self, ) -> UpdateInvestigationGroupFluentBuilder
Constructs a fluent builder for the UpdateInvestigationGroup
operation.
- The fluent builder is configurable:
identifier(impl Into<String>)
/set_identifier(Option<String>)
:
required: trueSpecify either the name or the ARN of the investigation group that you want to modify.
role_arn(impl Into<String>)
/set_role_arn(Option<String>)
:
required: falseSpecify this field if you want to change the IAM role that Amazon Q Developer operational investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.
The permissions in this role determine which of your resources that Amazon Q Developer operational investigations will have access to during investigations.
For more information, see EHow to control what data Amazon Q has access to during investigations.
encryption_configuration(EncryptionConfiguration)
/set_encryption_configuration(Option<EncryptionConfiguration>)
:
required: falseUse this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, Amazon Q Developer operational investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.
tag_key_boundaries(impl Into<String>)
/set_tag_key_boundaries(Option<Vec::<String>>)
:
required: falseEnter the existing custom tag keys for custom applications in your system. Resource tags help Amazon Q narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, Amazon Q can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven’t deployed these features, Amazon Q will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by Amazon Q in these cases.
You don’t need to enter tags created by myApplications or CloudFormation, because Amazon Q can automatically detect those tags.
chatbot_notification_channel(impl Into<String>, Vec::<String>)
/set_chatbot_notification_channel(Option<HashMap::<String, Vec::<String>>>)
:
required: falseUse this structure to integrate Amazon Q Developer operational investigations with Amazon Q in chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more Amazon Q in chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by Amazon Web Services Chatbot.
is_cloud_trail_event_history_enabled(bool)
/set_is_cloud_trail_event_history_enabled(Option<bool>)
:
required: falseSpecify
true
to enable Amazon Q Developer operational investigations to have access to change events that are recorded by CloudTrail. The default istrue
.
- On success, responds with
UpdateInvestigationGroupOutput
- On failure, responds with
SdkError<UpdateInvestigationGroupError>
Source§impl Client
impl Client
Sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
§Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
Source§impl Client
impl Client
Sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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);