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: true- Provides a name for the investigation group. 
- role_arn(impl Into<String>)/- set_role_arn(Option<String>):
 required: true- Specify the ARN of the IAM role that CloudWatch investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that CloudWatch 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: false- Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch 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: false- Specify 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: false- A 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:TagResourcepermission.- 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: false- Enter 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: false- Use this structure to integrate CloudWatch 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: false- Specify - trueto enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is- true.
- cross_account_configurations(CrossAccountConfiguration)/- set_cross_account_configurations(Option<Vec::<CrossAccountConfiguration>>):
 required: false- Number of - sourceAccountIdvalues that have been configured for cross-account access.
 
- On success, responds with CreateInvestigationGroupOutputwith 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: true- Specify 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: true- Specify 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: true- Specify either the name or the ARN of the investigation group that you want to view. 
 
- On success, responds with GetInvestigationGroupOutputwith 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 CloudWatch investigationshas access to change events that are recorded by CloudTrail. 
- cross_account_configurations(Option<Vec::<CrossAccountConfiguration>>):- Lists the - AWSAccountIdof the accounts configured for cross-account access and the results of the last scan performed on each account.
 
- 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: true- Specify either the name or the ARN of the investigation group that you want to view the policy of. 
 
- On success, responds with GetInvestigationGroupPolicyOutputwith 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: false- Include 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: false- The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used. 
 
- On success, responds with ListInvestigationGroupsOutputwith 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: true- The ARN of the CloudWatch 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 ListTagsForResourceOutputwith 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: true- Specify 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: true- The policy, in JSON format. 
 
- On success, responds with PutInvestigationGroupPolicyOutputwith 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: true- The 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: true- The 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: true- The 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: true- The 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: true- Specify 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: false- Specify this field if you want to change the IAM role that CloudWatch 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 CloudWatch 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: false- Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch 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: false- Enter 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: false- Use this structure to integrate CloudWatch 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: false- Specify - trueto enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is- true.
- cross_account_configurations(CrossAccountConfiguration)/- set_cross_account_configurations(Option<Vec::<CrossAccountConfiguration>>):
 required: false- Used to configure cross-account access for an investigation group. It allows the investigation group to access resources in other accounts. 
 
- 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_implconfigured.
- Identity caching is enabled without a sleep_implandtime_sourceconfigured.
- No behavior_versionis 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_configis missing an async sleep implementation. If you experience this panic, set thesleep_implon the Config passed into this function to fix it.
- This method will panic if the sdk_configis missing an HTTP connector. If you experience this panic, set thehttp_connectoron the Config passed into this function to fix it.
- This method will panic if no BehaviorVersionis provided. If you experience this panic, setbehavior_versionon the Config or enable thebehavior-version-latestCargo 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);