/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the codeguruprofiler-2019-07-18.normal.json service model. */ using System; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using Amazon.Runtime; using Amazon.CodeGuruProfiler.Model; namespace Amazon.CodeGuruProfiler { /// /// Interface for accessing CodeGuruProfiler /// /// This section provides documentation for the Amazon CodeGuru Profiler API operations. /// /// /// /// /// Amazon CodeGuru Profiler collects runtime performance data from your live applications, /// and provides recommendations that can help you fine-tune your application performance. /// Using machine learning algorithms, CodeGuru Profiler can help you find your most expensive /// lines of code and suggest ways you can improve efficiency and remove CPU bottlenecks. /// /// /// /// /// Amazon CodeGuru Profiler provides different visualizations of profiling data to help /// you identify what code is running on the CPU, see how much time is consumed, and suggest /// ways to reduce CPU utilization. /// /// /// /// Amazon CodeGuru Profiler currently supports applications written in all Java virtual /// machine (JVM) languages and Python. While CodeGuru Profiler supports both visualizations /// and recommendations for applications written in Java, it can also generate visualizations /// and a subset of recommendations for applications written in other JVM languages and /// Python. /// /// /// /// For more information, see What /// is Amazon CodeGuru Profiler in the Amazon CodeGuru Profiler User Guide. /// /// /// public partial interface IAmazonCodeGuruProfiler : IAmazonService, IDisposable { #if AWS_ASYNC_ENUMERABLES_API /// /// Paginators for the service /// ICodeGuruProfilerPaginatorFactory Paginators { get; } #endif #region AddNotificationChannels /// /// Add up to 2 anomaly notifications channels for a profiling group. /// /// Container for the necessary parameters to execute the AddNotificationChannels service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the AddNotificationChannels service method, as returned by CodeGuruProfiler. /// /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Resolve the conflict before retrying this request. /// /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// You have exceeded your service quota. To perform the requested action, remove some /// of the relevant resources, or use Service /// Quotas to request a service quota increase. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for AddNotificationChannels Operation Task AddNotificationChannelsAsync(AddNotificationChannelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region BatchGetFrameMetricData /// /// Returns the time series of values for a requested list of frame metrics from a time /// period. /// /// Container for the necessary parameters to execute the BatchGetFrameMetricData service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchGetFrameMetricData service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for BatchGetFrameMetricData Operation Task BatchGetFrameMetricDataAsync(BatchGetFrameMetricDataRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region ConfigureAgent /// /// Used by profiler agents to report their current state and to receive remote configuration /// updates. For example, ConfigureAgent can be used to tell an agent whether /// to profile or not and for how long to return profiling data. /// /// Container for the necessary parameters to execute the ConfigureAgent service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ConfigureAgent service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for ConfigureAgent Operation Task ConfigureAgentAsync(ConfigureAgentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region CreateProfilingGroup /// /// Creates a profiling group. /// /// Container for the necessary parameters to execute the CreateProfilingGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateProfilingGroup service method, as returned by CodeGuruProfiler. /// /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Resolve the conflict before retrying this request. /// /// /// The server encountered an internal error and is unable to complete the request. /// /// /// You have exceeded your service quota. To perform the requested action, remove some /// of the relevant resources, or use Service /// Quotas to request a service quota increase. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for CreateProfilingGroup Operation Task CreateProfilingGroupAsync(CreateProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region DeleteProfilingGroup /// /// Deletes a profiling group. /// /// Container for the necessary parameters to execute the DeleteProfilingGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteProfilingGroup service method, as returned by CodeGuruProfiler. /// /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Resolve the conflict before retrying this request. /// /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for DeleteProfilingGroup Operation Task DeleteProfilingGroupAsync(DeleteProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region DescribeProfilingGroup /// /// Returns a /// ProfilingGroupDescription object that contains information about /// the requested profiling group. /// /// Container for the necessary parameters to execute the DescribeProfilingGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeProfilingGroup service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for DescribeProfilingGroup Operation Task DescribeProfilingGroupAsync(DescribeProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region GetFindingsReportAccountSummary /// /// Returns a list of /// FindingsReportSummary objects that contain analysis results for /// all profiling groups in your AWS account. /// /// Container for the necessary parameters to execute the GetFindingsReportAccountSummary service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetFindingsReportAccountSummary service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for GetFindingsReportAccountSummary Operation Task GetFindingsReportAccountSummaryAsync(GetFindingsReportAccountSummaryRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region GetNotificationConfiguration /// /// Get the current configuration for anomaly notifications for a profiling group. /// /// Container for the necessary parameters to execute the GetNotificationConfiguration service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetNotificationConfiguration service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for GetNotificationConfiguration Operation Task GetNotificationConfigurationAsync(GetNotificationConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region GetPolicy /// /// Returns the JSON-formatted resource-based policy on a profiling group. /// /// Container for the necessary parameters to execute the GetPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetPolicy service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// REST API Reference for GetPolicy Operation Task GetPolicyAsync(GetPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region GetProfile /// /// Gets the aggregated profile of a profiling group for a specified time range. Amazon /// CodeGuru Profiler collects posted agent profiles for a profiling group into aggregated /// profiles. /// ///
 <note> <p> Because aggregated profiles expire over time <code>GetProfile</code>
        /// is not idempotent. </p> </note> <p> Specify the time range for the
        /// requested aggregated profile using 1 or 2 of the following parameters: <code>startTime</code>,
        /// <code>endTime</code>, <code>period</code>. The maximum time
        /// range allowed is 7 days. If you specify all 3 parameters, an exception is thrown.
        /// If you specify only <code>period</code>, the latest aggregated profile
        /// is returned. </p> <p> Aggregated profiles are available with aggregation
        /// periods of 5 minutes, 1 hour, and 1 day, aligned to UTC. The aggregation period of
        /// an aggregated profile determines how long it is retained. For more information, see
        /// <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html">
        /// <code>AggregatedProfileTime</code> </a>. The aggregated profile's
        /// aggregation period determines how long it is retained by CodeGuru Profiler. </p>
        /// <ul> <li> <p> If the aggregation period is 5 minutes, the aggregated
        /// profile is retained for 15 days. </p> </li> <li> <p> If the
        /// aggregation period is 1 hour, the aggregated profile is retained for 60 days. </p>
        /// </li> <li> <p> If the aggregation period is 1 day, the aggregated
        /// profile is retained for 3 years. </p> </li> </ul> <p>There
        /// are two use cases for calling <code>GetProfile</code>.</p> <ol>
        /// <li> <p> If you want to return an aggregated profile that already exists,
        /// use <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListProfileTimes.html">
        /// <code>ListProfileTimes</code> </a> to view the time ranges of existing
        /// aggregated profiles. Use them in a <code>GetProfile</code> request to
        /// return a specific, existing aggregated profile. </p> </li> <li>
        /// <p> If you want to return an aggregated profile for a time range that doesn't
        /// align with an existing aggregated profile, then CodeGuru Profiler makes a best effort
        /// to combine existing aggregated profiles from the requested time range and return them
        /// as one aggregated profile. </p> <p> If aggregated profiles do not exist
        /// for the full time range requested, then aggregated profiles for a smaller time range
        /// are returned. For example, if the requested time range is from 00:00 to 00:20, and
        /// the existing aggregated profiles are from 00:15 and 00:25, then the aggregated profiles
        /// from 00:15 to 00:20 are returned. </p> </li> </ol> 
///
/// Container for the necessary parameters to execute the GetProfile service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetProfile service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for GetProfile Operation Task GetProfileAsync(GetProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region GetRecommendations /// /// Returns a list of /// Recommendation objects that contain recommendations for a profiling /// group for a given time period. A list of /// Anomaly objects that contains details about anomalies detected in /// the profiling group for the same time period is also returned. /// /// Container for the necessary parameters to execute the GetRecommendations service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRecommendations service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for GetRecommendations Operation Task GetRecommendationsAsync(GetRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region ListFindingsReports /// /// List the available reports for a given profiling group and time range. /// /// Container for the necessary parameters to execute the ListFindingsReports service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListFindingsReports service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for ListFindingsReports Operation Task ListFindingsReportsAsync(ListFindingsReportsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region ListProfileTimes /// /// Lists the start times of the available aggregated profiles of a profiling group for /// an aggregation period within the specified time range. /// /// Container for the necessary parameters to execute the ListProfileTimes service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListProfileTimes service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for ListProfileTimes Operation Task ListProfileTimesAsync(ListProfileTimesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region ListProfilingGroups /// /// Returns a list of profiling groups. The profiling groups are returned as /// ProfilingGroupDescription objects. /// /// Container for the necessary parameters to execute the ListProfilingGroups service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListProfilingGroups service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The request was denied due to request throttling. /// /// REST API Reference for ListProfilingGroups Operation Task ListProfilingGroupsAsync(ListProfilingGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region ListTagsForResource /// /// Returns a list of the tags that are assigned to a specified resource. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTagsForResource service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The parameter is not valid. /// /// REST API Reference for ListTagsForResource Operation Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region PostAgentProfile /// /// Submits profiling data to an aggregated profile of a profiling group. To get an aggregated /// profile that is created with this profiling data, use /// GetProfile . /// /// Container for the necessary parameters to execute the PostAgentProfile service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PostAgentProfile service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for PostAgentProfile Operation Task PostAgentProfileAsync(PostAgentProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region PutPermission /// /// Adds permissions to a profiling group's resource-based policy that are provided using /// an action group. If a profiling group doesn't have a resource-based policy, one is /// created for it using the permissions in the action group and the roles and users in /// the principals parameter. /// ///
 <p> The one supported action group that can be added is <code>agentPermission</code>
        /// which grants <code>ConfigureAgent</code> and <code>PostAgent</code>
        /// permissions. For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html">Resource-based
        /// policies in CodeGuru Profiler</a> in the <i>Amazon CodeGuru Profiler User
        /// Guide</i>, <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html">
        /// <code>ConfigureAgent</code> </a>, and <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html">
        /// <code>PostAgentProfile</code> </a>. </p> <p> The first
        /// time you call <code>PutPermission</code> on a profiling group, do not
        /// specify a <code>revisionId</code> because it doesn't have a resource-based
        /// policy. Subsequent calls must provide a <code>revisionId</code> to specify
        /// which revision of the resource-based policy to add the permissions to. </p>
        /// <p> The response contains the profiling group's JSON-formatted resource policy.
        /// </p> 
///
/// Container for the necessary parameters to execute the PutPermission service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutPermission service method, as returned by CodeGuruProfiler. /// /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Resolve the conflict before retrying this request. /// /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for PutPermission Operation Task PutPermissionAsync(PutPermissionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region RemoveNotificationChannel /// /// Remove one anomaly notifications channel for a profiling group. /// /// Container for the necessary parameters to execute the RemoveNotificationChannel service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the RemoveNotificationChannel service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for RemoveNotificationChannel Operation Task RemoveNotificationChannelAsync(RemoveNotificationChannelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region RemovePermission /// /// Removes permissions from a profiling group's resource-based policy that are provided /// using an action group. The one supported action group that can be removed is agentPermission /// which grants ConfigureAgent and PostAgent permissions. For /// more information, see Resource-based /// policies in CodeGuru Profiler in the Amazon CodeGuru Profiler User Guide, /// /// ConfigureAgent , and /// PostAgentProfile . /// /// Container for the necessary parameters to execute the RemovePermission service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the RemovePermission service method, as returned by CodeGuruProfiler. /// /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Resolve the conflict before retrying this request. /// /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for RemovePermission Operation Task RemovePermissionAsync(RemovePermissionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region SubmitFeedback /// /// Sends feedback to CodeGuru Profiler about whether the anomaly detected by the analysis /// is useful or not. /// /// Container for the necessary parameters to execute the SubmitFeedback service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the SubmitFeedback service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for SubmitFeedback Operation Task SubmitFeedbackAsync(SubmitFeedbackRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region TagResource /// /// Use to assign one or more tags to a resource. /// /// Container for the necessary parameters to execute the TagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TagResource service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The parameter is not valid. /// /// REST API Reference for TagResource Operation Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region UntagResource /// /// Use to remove one or more tags from a resource. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UntagResource service method, as returned by CodeGuruProfiler. /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The parameter is not valid. /// /// REST API Reference for UntagResource Operation Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion #region UpdateProfilingGroup /// /// Updates a profiling group. /// /// Container for the necessary parameters to execute the UpdateProfilingGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateProfilingGroup service method, as returned by CodeGuruProfiler. /// /// The requested operation would cause a conflict with the current state of a service /// resource associated with the request. Resolve the conflict before retrying this request. /// /// /// The server encountered an internal error and is unable to complete the request. /// /// /// The resource specified in the request does not exist. /// /// /// The request was denied due to request throttling. /// /// /// The parameter is not valid. /// /// REST API Reference for UpdateProfilingGroup Operation Task UpdateProfilingGroupAsync(UpdateProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); #endregion } }