Struct aws_sdk_amp::Client

source ·
pub struct Client { /* private fields */ }
Expand description

Client for Amazon Prometheus Service

Client for invoking operations on Amazon Prometheus Service. Each operation on Amazon Prometheus Service 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_amp::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 Config 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_amp::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 ListTagsForResource operation has a Client::list_tags_for_resource, 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.list_tags_for_resource()
    .resource_arn("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

source

pub fn create_alert_manager_definition( &self ) -> CreateAlertManagerDefinitionFluentBuilder

Constructs a fluent builder for the CreateAlertManagerDefinition operation.

source§

impl Client

source

pub fn create_logging_configuration( &self ) -> CreateLoggingConfigurationFluentBuilder

Constructs a fluent builder for the CreateLoggingConfiguration operation.

source§

impl Client

source

pub fn create_rule_groups_namespace( &self ) -> CreateRuleGroupsNamespaceFluentBuilder

Constructs a fluent builder for the CreateRuleGroupsNamespace operation.

source§

impl Client

source

pub fn create_scraper(&self) -> CreateScraperFluentBuilder

Constructs a fluent builder for the CreateScraper operation.

source§

impl Client

source

pub fn create_workspace(&self) -> CreateWorkspaceFluentBuilder

Constructs a fluent builder for the CreateWorkspace operation.

source§

impl Client

source

pub fn delete_alert_manager_definition( &self ) -> DeleteAlertManagerDefinitionFluentBuilder

Constructs a fluent builder for the DeleteAlertManagerDefinition operation.

source§

impl Client

source

pub fn delete_logging_configuration( &self ) -> DeleteLoggingConfigurationFluentBuilder

Constructs a fluent builder for the DeleteLoggingConfiguration operation.

source§

impl Client

source

pub fn delete_rule_groups_namespace( &self ) -> DeleteRuleGroupsNamespaceFluentBuilder

Constructs a fluent builder for the DeleteRuleGroupsNamespace operation.

source§

impl Client

source

pub fn delete_scraper(&self) -> DeleteScraperFluentBuilder

Constructs a fluent builder for the DeleteScraper operation.

source§

impl Client

source

pub fn delete_workspace(&self) -> DeleteWorkspaceFluentBuilder

Constructs a fluent builder for the DeleteWorkspace operation.

source§

impl Client

source

pub fn describe_alert_manager_definition( &self ) -> DescribeAlertManagerDefinitionFluentBuilder

Constructs a fluent builder for the DescribeAlertManagerDefinition operation.

source§

impl Client

source

pub fn describe_logging_configuration( &self ) -> DescribeLoggingConfigurationFluentBuilder

Constructs a fluent builder for the DescribeLoggingConfiguration operation.

source§

impl Client

source

pub fn describe_rule_groups_namespace( &self ) -> DescribeRuleGroupsNamespaceFluentBuilder

Constructs a fluent builder for the DescribeRuleGroupsNamespace operation.

source§

impl Client

source

pub fn describe_scraper(&self) -> DescribeScraperFluentBuilder

Constructs a fluent builder for the DescribeScraper operation.

source§

impl Client

source

pub fn describe_workspace(&self) -> DescribeWorkspaceFluentBuilder

Constructs a fluent builder for the DescribeWorkspace operation.

source§

impl Client

source

pub fn get_default_scraper_configuration( &self ) -> GetDefaultScraperConfigurationFluentBuilder

Constructs a fluent builder for the GetDefaultScraperConfiguration operation.

source§

impl Client

source

pub fn list_rule_groups_namespaces( &self ) -> ListRuleGroupsNamespacesFluentBuilder

Constructs a fluent builder for the ListRuleGroupsNamespaces operation. This operation supports pagination; See into_paginator().

source§

impl Client

source

pub fn list_scrapers(&self) -> ListScrapersFluentBuilder

Constructs a fluent builder for the ListScrapers operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • filters(impl Into<String>, Vec::<String>) / set_filters(Option<HashMap::<String, Vec::<String>>>):
      required: false

      (Optional) A list of key-value pairs to filter the list of scrapers returned. Keys include status, sourceArn, destinationArn, and alias.

      Filters on the same key are OR’d together, and filters on different keys are AND’d together. For example, status=ACTIVE&status=CREATING&alias=Test, will return all scrapers that have the alias Test, and are either in status ACTIVE or CREATING.

      To find all active scrapers that are sending metrics to a specific Amazon Managed Service for Prometheus workspace, you would use the ARN of the workspace in a query:

      status=ACTIVE&destinationArn=arn:aws:aps:us-east-1:123456789012:workspace/ws-example1-1234-abcd-56ef-123456789012

      If this is included, it filters the results to only the scrapers that match the filter.


    • next_token(impl Into<String>) / set_next_token(Option<String>):
      required: false

      (Optional) The token for the next set of items to return. (You received this token from a previous call.)


    • max_results(i32) / set_max_results(Option<i32>):
      required: false

      Optional) The maximum number of scrapers to return in one ListScrapers operation. The range is 1-1000.

      If you omit this parameter, the default of 100 is used.


  • On success, responds with ListScrapersOutput with field(s):
    • scrapers(Vec::<ScraperSummary>):

      A list of ScraperSummary structures giving information about scrapers in the account that match the filters provided.

    • next_token(Option<String>):

      A token indicating that there are more results to retrieve. You can use this token as part of your next ListScrapers operation to retrieve those results.

  • On failure, responds with SdkError<ListScrapersError>
source§

impl Client

source

pub fn list_tags_for_resource(&self) -> ListTagsForResourceFluentBuilder

Constructs a fluent builder for the ListTagsForResource operation.

source§

impl Client

source

pub fn list_workspaces(&self) -> ListWorkspacesFluentBuilder

Constructs a fluent builder for the ListWorkspaces 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

      The token for the next set of items to return. You receive this token from a previous call, and use it to get the next page of results. The other parameters must be the same as the initial call.

      For example, if your initial request has maxResults of 10, and there are 12 workspaces to return, then your initial request will return 10 and a nextToken. Using the next token in a subsequent call will return the remaining 2 workspaces.


    • alias(impl Into<String>) / set_alias(Option<String>):
      required: false

      If this is included, it filters the results to only the workspaces with names that start with the value that you specify here.

      Amazon Managed Service for Prometheus will automatically strip any blank spaces from the beginning and end of the alias that you specify.


    • max_results(i32) / set_max_results(Option<i32>):
      required: false

      The maximum number of workspaces to return per request. The default is 100.


  • On success, responds with ListWorkspacesOutput with field(s):
    • workspaces(Vec::<WorkspaceSummary>):

      An array of WorkspaceSummary structures containing information about the workspaces requested.

    • next_token(Option<String>):

      A token indicating that there are more results to retrieve. You can use this token as part of your next ListWorkspaces request to retrieve those results.

  • On failure, responds with SdkError<ListWorkspacesError>
source§

impl Client

source

pub fn put_alert_manager_definition( &self ) -> PutAlertManagerDefinitionFluentBuilder

Constructs a fluent builder for the PutAlertManagerDefinition operation.

source§

impl Client

source

pub fn put_rule_groups_namespace(&self) -> PutRuleGroupsNamespaceFluentBuilder

Constructs a fluent builder for the PutRuleGroupsNamespace operation.

source§

impl Client

source

pub fn tag_resource(&self) -> TagResourceFluentBuilder

Constructs a fluent builder for the TagResource operation.

source§

impl Client

source

pub fn untag_resource(&self) -> UntagResourceFluentBuilder

Constructs a fluent builder for the UntagResource operation.

source§

impl Client

source

pub fn update_logging_configuration( &self ) -> UpdateLoggingConfigurationFluentBuilder

Constructs a fluent builder for the UpdateLoggingConfiguration operation.

source§

impl Client

source

pub fn update_workspace_alias(&self) -> UpdateWorkspaceAliasFluentBuilder

Constructs a fluent builder for the UpdateWorkspaceAlias operation.

source§

impl Client

source

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 and time_source configured.
  • No behavior_version is provided.

The panic message for each of these will have instructions on how to resolve them.

source

pub fn config(&self) -> &Config

Returns the client’s configuration.

source§

impl Client

source

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 the sleep_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 the http_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, set behavior_version on the Config or enable the behavior-version-latest Cargo feature.

Trait Implementations§

source§

impl Clone for Client

source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Client

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more