Struct aws_sdk_codeguruprofiler::client::Client

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

Client for Amazon CodeGuru Profiler

Client for invoking operations on Amazon CodeGuru Profiler. Each operation on Amazon CodeGuru Profiler 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_codeguruprofiler::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_codeguruprofiler::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 GetFindingsReportAccountSummary operation has a Client::get_findings_report_account_summary, 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.get_findings_report_account_summary()
    .next_token("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 add_notification_channels(&self) -> AddNotificationChannelsFluentBuilder

Constructs a fluent builder for the AddNotificationChannels operation.

source§

impl Client

source

pub fn batch_get_frame_metric_data( &self ) -> BatchGetFrameMetricDataFluentBuilder

Constructs a fluent builder for the BatchGetFrameMetricData operation.

  • The fluent builder is configurable:
  • On success, responds with BatchGetFrameMetricDataOutput with field(s):
    • start_time(DateTime):

      The start time of the time period for the returned time series values. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

    • end_time(DateTime):

      The end time of the time period for the returned time series values. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

    • resolution(AggregationPeriod):

      Resolution or granularity of the profile data used to generate the time series. This is the value used to jump through time steps in a time series. There are 3 valid values.

      • P1D — 1 day

      • PT1H — 1 hour

      • PT5M — 5 minutes

    • end_times(Vec::<TimestampStructure>):

      List of instances, or time steps, in the time series. For example, if the period is one day (PT24H)), and the resolution is five minutes (PT5M), then there are 288 endTimes in the list that are each five minutes appart.

    • unprocessed_end_times(HashMap::<String, Vec::<TimestampStructure>>):

      List of instances which remained unprocessed. This will create a missing time step in the list of end times.

    • frame_metric_data(Vec::<FrameMetricDatum>):

      Details of the metrics to request a time series of values. The metric includes the name of the frame, the aggregation type to calculate the metric value for the frame, and the thread states to use to get the count for the metric value of the frame.

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

impl Client

source

pub fn configure_agent(&self) -> ConfigureAgentFluentBuilder

Constructs a fluent builder for the ConfigureAgent operation.

  • The fluent builder is configurable:
    • profiling_group_name(impl Into<String>) / set_profiling_group_name(Option<String>):
      required: true

      The name of the profiling group for which the configured agent is collecting profiling data.


    • fleet_instance_id(impl Into<String>) / set_fleet_instance_id(Option<String>):
      required: false

      A universally unique identifier (UUID) for a profiling instance. For example, if the profiling instance is an Amazon EC2 instance, it is the instance ID. If it is an AWS Fargate container, it is the container’s task ID.


    • metadata(MetadataField, impl Into<String>) / set_metadata(Option<HashMap::<MetadataField, String>>):
      required: false

      Metadata captured about the compute platform the agent is running on. It includes information about sampling and reporting. The valid fields are:

      • COMPUTE_PLATFORM - The compute platform on which the agent is running

      • AGENT_ID - The ID for an agent instance.

      • AWS_REQUEST_ID - The AWS request ID of a Lambda invocation.

      • EXECUTION_ENVIRONMENT - The execution environment a Lambda function is running on.

      • LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used to invoke a Lambda function.

      • LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda function.

      • LAMBDA_REMAINING_TIME_IN_MILLISECONDS - The time in milliseconds before execution of a Lambda function times out.

      • LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - The time in milliseconds between two invocations of a Lambda function.

      • LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The time in milliseconds for the previous Lambda invocation.


  • On success, responds with ConfigureAgentOutput with field(s):
  • On failure, responds with SdkError<ConfigureAgentError>
source§

impl Client

source

pub fn create_profiling_group(&self) -> CreateProfilingGroupFluentBuilder

Constructs a fluent builder for the CreateProfilingGroup operation.

source§

impl Client

source

pub fn delete_profiling_group(&self) -> DeleteProfilingGroupFluentBuilder

Constructs a fluent builder for the DeleteProfilingGroup operation.

source§

impl Client

source

pub fn describe_profiling_group(&self) -> DescribeProfilingGroupFluentBuilder

Constructs a fluent builder for the DescribeProfilingGroup operation.

source§

impl Client

source

pub fn get_findings_report_account_summary( &self ) -> GetFindingsReportAccountSummaryFluentBuilder

Constructs a fluent builder for the GetFindingsReportAccountSummary 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 nextToken value returned from a previous paginated GetFindingsReportAccountSummary request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.


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

      The maximum number of results returned by GetFindingsReportAccountSummary in paginated output. When this parameter is used, GetFindingsReportAccountSummary only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another GetFindingsReportAccountSummary request with the returned nextToken value.


    • daily_reports_only(bool) / set_daily_reports_only(Option<bool>):
      required: false

      A Boolean value indicating whether to only return reports from daily profiles. If set to True, only analysis data from daily profiles is returned. If set to False, analysis data is returned from smaller time windows (for example, one hour).


  • On success, responds with GetFindingsReportAccountSummaryOutput with field(s):
    • report_summaries(Vec::<FindingsReportSummary>):

      The return list of FindingsReportSummary objects taht contain summaries of analysis results for all profiling groups in your AWS account.

    • next_token(Option<String>):

      The nextToken value to include in a future GetFindingsReportAccountSummary request. When the results of a GetFindingsReportAccountSummary request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

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

impl Client

source

pub fn get_notification_configuration( &self ) -> GetNotificationConfigurationFluentBuilder

Constructs a fluent builder for the GetNotificationConfiguration operation.

source§

impl Client

source

pub fn get_policy(&self) -> GetPolicyFluentBuilder

Constructs a fluent builder for the GetPolicy operation.

source§

impl Client

source

pub fn get_profile(&self) -> GetProfileFluentBuilder

Constructs a fluent builder for the GetProfile operation.

  • The fluent builder is configurable:
    • profiling_group_name(impl Into<String>) / set_profiling_group_name(Option<String>):
      required: true

      The name of the profiling group to get.


    • start_time(DateTime) / set_start_time(Option<DateTime>):
      required: false

      The start time of the profile to get. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

      If you specify startTime, then you must also specify period or endTime, but not both.


    • period(impl Into<String>) / set_period(Option<String>):
      required: false

      Used with startTime or endTime to specify the time range for the returned aggregated profile. Specify using the ISO 8601 format. For example, P1DT1H1M1S.

      To get the latest aggregated profile, specify only period.


    • end_time(DateTime) / set_end_time(Option<DateTime>):
      required: false

      The end time of the requested profile. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

      If you specify endTime, then you must also specify period or startTime, but not both.


    • max_depth(i32) / set_max_depth(Option<i32>):
      required: false

      The maximum depth of the stacks in the code that is represented in the aggregated profile. For example, if CodeGuru Profiler finds a method A, which calls method B, which calls method C, which calls method D, then the depth is 4. If the maxDepth is set to 2, then the aggregated profile contains representations of methods A and B.


    • accept(impl Into<String>) / set_accept(Option<String>):
      required: false

      The format of the returned profiling data. The format maps to the Accept and Content-Type headers of the HTTP request. You can specify one of the following: or the default .

      • application/json — standard JSON format

      • application/x-amzn-ion — the Amazon Ion data format. For more information, see Amazon Ion.


  • On success, responds with GetProfileOutput with field(s):
  • On failure, responds with SdkError<GetProfileError>
source§

impl Client

source

pub fn get_recommendations(&self) -> GetRecommendationsFluentBuilder

Constructs a fluent builder for the GetRecommendations operation.

source§

impl Client

source

pub fn list_findings_reports(&self) -> ListFindingsReportsFluentBuilder

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

  • The fluent builder is configurable:
    • profiling_group_name(impl Into<String>) / set_profiling_group_name(Option<String>):
      required: true

      The name of the profiling group from which to search for analysis data.


    • start_time(DateTime) / set_start_time(Option<DateTime>):
      required: true

      The start time of the profile to get analysis data about. You must specify startTime and endTime. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.


    • end_time(DateTime) / set_end_time(Option<DateTime>):
      required: true

      The end time of the profile to get analysis data about. You must specify startTime and endTime. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.


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

      The nextToken value returned from a previous paginated ListFindingsReportsRequest request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

      This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.


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

      The maximum number of report results returned by ListFindingsReports in paginated output. When this parameter is used, ListFindingsReports only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFindingsReports request with the returned nextToken value.


    • daily_reports_only(bool) / set_daily_reports_only(Option<bool>):
      required: false

      A Boolean value indicating whether to only return reports from daily profiles. If set to True, only analysis data from daily profiles is returned. If set to False, analysis data is returned from smaller time windows (for example, one hour).


  • On success, responds with ListFindingsReportsOutput with field(s):
  • On failure, responds with SdkError<ListFindingsReportsError>
source§

impl Client

source

pub fn list_profile_times(&self) -> ListProfileTimesFluentBuilder

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

source§

impl Client

source

pub fn list_profiling_groups(&self) -> ListProfilingGroupsFluentBuilder

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

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 post_agent_profile(&self) -> PostAgentProfileFluentBuilder

Constructs a fluent builder for the PostAgentProfile operation.

source§

impl Client

source

pub fn put_permission(&self) -> PutPermissionFluentBuilder

Constructs a fluent builder for the PutPermission operation.

source§

impl Client

source

pub fn remove_notification_channel( &self ) -> RemoveNotificationChannelFluentBuilder

Constructs a fluent builder for the RemoveNotificationChannel operation.

source§

impl Client

source

pub fn remove_permission(&self) -> RemovePermissionFluentBuilder

Constructs a fluent builder for the RemovePermission operation.

source§

impl Client

source

pub fn submit_feedback(&self) -> SubmitFeedbackFluentBuilder

Constructs a fluent builder for the SubmitFeedback 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_profiling_group(&self) -> UpdateProfilingGroupFluentBuilder

Constructs a fluent builder for the UpdateProfilingGroup 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<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
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