/* * 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.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.CodeGuruProfiler.Model; using Amazon.CodeGuruProfiler.Model.Internal.MarshallTransformations; using Amazon.CodeGuruProfiler.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.CodeGuruProfiler { /// /// Implementation 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 class AmazonCodeGuruProfilerClient : AmazonServiceClient, IAmazonCodeGuruProfiler { private static IServiceMetadata serviceMetadata = new AmazonCodeGuruProfilerMetadata(); #region Constructors /// /// Constructs AmazonCodeGuruProfilerClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonCodeGuruProfilerClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonCodeGuruProfilerConfig()) { } /// /// Constructs AmazonCodeGuruProfilerClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonCodeGuruProfilerClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonCodeGuruProfilerConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonCodeGuruProfilerClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonCodeGuruProfilerClient Configuration Object public AmazonCodeGuruProfilerClient(AmazonCodeGuruProfilerConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonCodeGuruProfilerClient with AWS Credentials /// /// AWS Credentials public AmazonCodeGuruProfilerClient(AWSCredentials credentials) : this(credentials, new AmazonCodeGuruProfilerConfig()) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonCodeGuruProfilerClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonCodeGuruProfilerConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Credentials and an /// AmazonCodeGuruProfilerClient Configuration object. /// /// AWS Credentials /// The AmazonCodeGuruProfilerClient Configuration Object public AmazonCodeGuruProfilerClient(AWSCredentials credentials, AmazonCodeGuruProfilerConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonCodeGuruProfilerClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonCodeGuruProfilerConfig()) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonCodeGuruProfilerClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonCodeGuruProfilerConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Access Key ID, AWS Secret Key and an /// AmazonCodeGuruProfilerClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonCodeGuruProfilerClient Configuration Object public AmazonCodeGuruProfilerClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonCodeGuruProfilerConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonCodeGuruProfilerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonCodeGuruProfilerConfig()) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonCodeGuruProfilerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonCodeGuruProfilerConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonCodeGuruProfilerClient with AWS Access Key ID, AWS Secret Key and an /// AmazonCodeGuruProfilerClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonCodeGuruProfilerClient Configuration Object public AmazonCodeGuruProfilerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonCodeGuruProfilerConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private ICodeGuruProfilerPaginatorFactory _paginators; /// /// Paginators for the service /// public ICodeGuruProfilerPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new CodeGuruProfilerPaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonCodeGuruProfilerEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region AddNotificationChannels internal virtual AddNotificationChannelsResponse AddNotificationChannels(AddNotificationChannelsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = AddNotificationChannelsRequestMarshaller.Instance; options.ResponseUnmarshaller = AddNotificationChannelsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task AddNotificationChannelsAsync(AddNotificationChannelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = AddNotificationChannelsRequestMarshaller.Instance; options.ResponseUnmarshaller = AddNotificationChannelsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region BatchGetFrameMetricData internal virtual BatchGetFrameMetricDataResponse BatchGetFrameMetricData(BatchGetFrameMetricDataRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchGetFrameMetricDataRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchGetFrameMetricDataResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task BatchGetFrameMetricDataAsync(BatchGetFrameMetricDataRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchGetFrameMetricDataRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchGetFrameMetricDataResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ConfigureAgent internal virtual ConfigureAgentResponse ConfigureAgent(ConfigureAgentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ConfigureAgentRequestMarshaller.Instance; options.ResponseUnmarshaller = ConfigureAgentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ConfigureAgentAsync(ConfigureAgentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ConfigureAgentRequestMarshaller.Instance; options.ResponseUnmarshaller = ConfigureAgentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateProfilingGroup internal virtual CreateProfilingGroupResponse CreateProfilingGroup(CreateProfilingGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateProfilingGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateProfilingGroupAsync(CreateProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateProfilingGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteProfilingGroup internal virtual DeleteProfilingGroupResponse DeleteProfilingGroup(DeleteProfilingGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteProfilingGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteProfilingGroupAsync(DeleteProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteProfilingGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeProfilingGroup internal virtual DescribeProfilingGroupResponse DescribeProfilingGroup(DescribeProfilingGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeProfilingGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DescribeProfilingGroupAsync(DescribeProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeProfilingGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetFindingsReportAccountSummary internal virtual GetFindingsReportAccountSummaryResponse GetFindingsReportAccountSummary(GetFindingsReportAccountSummaryRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetFindingsReportAccountSummaryRequestMarshaller.Instance; options.ResponseUnmarshaller = GetFindingsReportAccountSummaryResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetFindingsReportAccountSummaryAsync(GetFindingsReportAccountSummaryRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetFindingsReportAccountSummaryRequestMarshaller.Instance; options.ResponseUnmarshaller = GetFindingsReportAccountSummaryResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetNotificationConfiguration internal virtual GetNotificationConfigurationResponse GetNotificationConfiguration(GetNotificationConfigurationRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetNotificationConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = GetNotificationConfigurationResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetNotificationConfigurationAsync(GetNotificationConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetNotificationConfigurationRequestMarshaller.Instance; options.ResponseUnmarshaller = GetNotificationConfigurationResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetPolicy internal virtual GetPolicyResponse GetPolicy(GetPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetPolicyAsync(GetPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetProfile internal virtual GetProfileResponse GetProfile(GetProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = GetProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetProfileAsync(GetProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = GetProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRecommendations internal virtual GetRecommendationsResponse GetRecommendations(GetRecommendationsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRecommendationsRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRecommendationsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task GetRecommendationsAsync(GetRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRecommendationsRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRecommendationsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListFindingsReports internal virtual ListFindingsReportsResponse ListFindingsReports(ListFindingsReportsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListFindingsReportsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListFindingsReportsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListFindingsReportsAsync(ListFindingsReportsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListFindingsReportsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListFindingsReportsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListProfileTimes internal virtual ListProfileTimesResponse ListProfileTimes(ListProfileTimesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListProfileTimesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListProfileTimesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListProfileTimesAsync(ListProfileTimesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListProfileTimesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListProfileTimesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListProfilingGroups internal virtual ListProfilingGroupsResponse ListProfilingGroups(ListProfilingGroupsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListProfilingGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListProfilingGroupsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListProfilingGroupsAsync(ListProfilingGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListProfilingGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListProfilingGroupsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PostAgentProfile internal virtual PostAgentProfileResponse PostAgentProfile(PostAgentProfileRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PostAgentProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = PostAgentProfileResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task PostAgentProfileAsync(PostAgentProfileRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PostAgentProfileRequestMarshaller.Instance; options.ResponseUnmarshaller = PostAgentProfileResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutPermission internal virtual PutPermissionResponse PutPermission(PutPermissionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutPermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = PutPermissionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task PutPermissionAsync(PutPermissionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutPermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = PutPermissionResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region RemoveNotificationChannel internal virtual RemoveNotificationChannelResponse RemoveNotificationChannel(RemoveNotificationChannelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = RemoveNotificationChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = RemoveNotificationChannelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task RemoveNotificationChannelAsync(RemoveNotificationChannelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = RemoveNotificationChannelRequestMarshaller.Instance; options.ResponseUnmarshaller = RemoveNotificationChannelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region RemovePermission internal virtual RemovePermissionResponse RemovePermission(RemovePermissionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = RemovePermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = RemovePermissionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task RemovePermissionAsync(RemovePermissionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = RemovePermissionRequestMarshaller.Instance; options.ResponseUnmarshaller = RemovePermissionResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region SubmitFeedback internal virtual SubmitFeedbackResponse SubmitFeedback(SubmitFeedbackRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SubmitFeedbackRequestMarshaller.Instance; options.ResponseUnmarshaller = SubmitFeedbackResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task SubmitFeedbackAsync(SubmitFeedbackRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SubmitFeedbackRequestMarshaller.Instance; options.ResponseUnmarshaller = SubmitFeedbackResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateProfilingGroup internal virtual UpdateProfilingGroupResponse UpdateProfilingGroup(UpdateProfilingGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateProfilingGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateProfilingGroupAsync(UpdateProfilingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateProfilingGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateProfilingGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }