import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CodeGuruProfilerClient } from "./CodeGuruProfilerClient" ; import { AddNotificationChannelsCommand , AddNotificationChannelsCommandInput , AddNotificationChannelsCommandOutput , } from "./commands/AddNotificationChannelsCommand" ; import { BatchGetFrameMetricDataCommand , BatchGetFrameMetricDataCommandInput , BatchGetFrameMetricDataCommandOutput , } from "./commands/BatchGetFrameMetricDataCommand" ; import { ConfigureAgentCommand , ConfigureAgentCommandInput , ConfigureAgentCommandOutput , } from "./commands/ConfigureAgentCommand" ; import { CreateProfilingGroupCommand , CreateProfilingGroupCommandInput , CreateProfilingGroupCommandOutput , } from "./commands/CreateProfilingGroupCommand" ; import { DeleteProfilingGroupCommand , DeleteProfilingGroupCommandInput , DeleteProfilingGroupCommandOutput , } from "./commands/DeleteProfilingGroupCommand" ; import { DescribeProfilingGroupCommand , DescribeProfilingGroupCommandInput , DescribeProfilingGroupCommandOutput , } from "./commands/DescribeProfilingGroupCommand" ; import { GetFindingsReportAccountSummaryCommand , GetFindingsReportAccountSummaryCommandInput , GetFindingsReportAccountSummaryCommandOutput , } from "./commands/GetFindingsReportAccountSummaryCommand" ; import { GetNotificationConfigurationCommand , GetNotificationConfigurationCommandInput , GetNotificationConfigurationCommandOutput , } from "./commands/GetNotificationConfigurationCommand" ; import { GetPolicyCommand , GetPolicyCommandInput , GetPolicyCommandOutput } from "./commands/GetPolicyCommand" ; import { GetProfileCommand , GetProfileCommandInput , GetProfileCommandOutput } from "./commands/GetProfileCommand" ; import { GetRecommendationsCommand , GetRecommendationsCommandInput , GetRecommendationsCommandOutput , } from "./commands/GetRecommendationsCommand" ; import { ListFindingsReportsCommand , ListFindingsReportsCommandInput , ListFindingsReportsCommandOutput , } from "./commands/ListFindingsReportsCommand" ; import { ListProfileTimesCommand , ListProfileTimesCommandInput , ListProfileTimesCommandOutput , } from "./commands/ListProfileTimesCommand" ; import { ListProfilingGroupsCommand , ListProfilingGroupsCommandInput , ListProfilingGroupsCommandOutput , } from "./commands/ListProfilingGroupsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { PostAgentProfileCommand , PostAgentProfileCommandInput , PostAgentProfileCommandOutput , } from "./commands/PostAgentProfileCommand" ; import { PutPermissionCommand , PutPermissionCommandInput , PutPermissionCommandOutput , } from "./commands/PutPermissionCommand" ; import { RemoveNotificationChannelCommand , RemoveNotificationChannelCommandInput , RemoveNotificationChannelCommandOutput , } from "./commands/RemoveNotificationChannelCommand" ; import { RemovePermissionCommand , RemovePermissionCommandInput , RemovePermissionCommandOutput , } from "./commands/RemovePermissionCommand" ; import { SubmitFeedbackCommand , SubmitFeedbackCommandInput , SubmitFeedbackCommandOutput , } from "./commands/SubmitFeedbackCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateProfilingGroupCommand , UpdateProfilingGroupCommandInput , UpdateProfilingGroupCommandOutput , } from "./commands/UpdateProfilingGroupCommand" ; /**
 * <p>
 *           This section provides documentation for the Amazon CodeGuru Profiler API operations.
 *       </p>
 *          <p>
 *          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.
 *       </p>
 *          <p>
 *          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.
 *       </p>
 *          <note>
 *             <p>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.</p>
 *          </note>
 *          <p>
 *          For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html">What is Amazon CodeGuru Profiler</a> in
 *          the <i>Amazon CodeGuru Profiler User Guide</i>.
 *       </p>
 */ export class CodeGuruProfiler extends CodeGuruProfilerClient { /**
     * <p>Add up to 2 anomaly notifications channels for a profiling group.</p>
     */ public addNotificationChannels ( args , options ? ) ; public addNotificationChannels ( args , cb ) ; public addNotificationChannels ( args , options , cb ) ; public addNotificationChannels ( args , optionsOrCb ? , cb ? ) { const command = new AddNotificationChannelsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Returns the time series of values for a requested list
     *          of frame metrics from a time period.</p>
     */ public batchGetFrameMetricData ( args , options ? ) ; public batchGetFrameMetricData ( args , cb ) ; public batchGetFrameMetricData ( args , options , cb ) ; public batchGetFrameMetricData ( args , optionsOrCb ? , cb ? ) { const command = new BatchGetFrameMetricDataCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *           Used by profiler agents to report their current state and to receive remote
     *           configuration updates. For example, <code>ConfigureAgent</code> can be used
     *          to tell an agent whether to profile or not and for how long to return profiling data.
     *       </p>
     */ public configureAgent ( args , options ? ) ; public configureAgent ( args , cb ) ; public configureAgent ( args , options , cb ) ; public configureAgent ( args , optionsOrCb ? , cb ? ) { const command = new ConfigureAgentCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a profiling group.</p>
     */ public createProfilingGroup ( args , options ? ) ; public createProfilingGroup ( args , cb ) ; public createProfilingGroup ( args , options , cb ) ; public createProfilingGroup ( args , optionsOrCb ? , cb ? ) { const command = new CreateProfilingGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a profiling group.</p>
     */ public deleteProfilingGroup ( args , options ? ) ; public deleteProfilingGroup ( args , cb ) ; public deleteProfilingGroup ( args , options , cb ) ; public deleteProfilingGroup ( args , optionsOrCb ? , cb ? ) { const command = new DeleteProfilingGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Returns a <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html">
     *                <code>ProfilingGroupDescription</code>
     *             </a>
     *          object that contains information about the requested profiling group.
     *       </p>
     */ public describeProfilingGroup ( args , options ? ) ; public describeProfilingGroup ( args , cb ) ; public describeProfilingGroup ( args , options , cb ) ; public describeProfilingGroup ( args , optionsOrCb ? , cb ? ) { const command = new DescribeProfilingGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *             Returns a list of
     *             <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html">
     *                <code>FindingsReportSummary</code>
     *             </a>
     *             objects that contain analysis results for all profiling groups in your AWS account.
     *         </p>
     */ public getFindingsReportAccountSummary ( args , options ? ) ; public getFindingsReportAccountSummary ( args , cb ) ; public getFindingsReportAccountSummary ( args , options , cb ) ; public getFindingsReportAccountSummary ( args , optionsOrCb ? , cb ? ) { const command = new GetFindingsReportAccountSummaryCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the current configuration for anomaly notifications for a profiling group.</p>
     */ public getNotificationConfiguration ( args , options ? ) ; public getNotificationConfiguration ( args , cb ) ; public getNotificationConfiguration ( args , options , cb ) ; public getNotificationConfiguration ( args , optionsOrCb ? , cb ? ) { const command = new GetNotificationConfigurationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *             Returns the JSON-formatted resource-based policy on a profiling group.
     *         </p>
     */ public getPolicy ( args , options ? ) ; public getPolicy ( args , cb ) ; public getPolicy ( args , options , cb ) ; public getPolicy ( args , optionsOrCb ? , cb ? ) { const command = new GetPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          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.
     *      </p>
     *
     *          <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>
     */ public getProfile ( args , options ? ) ; public getProfile ( args , cb ) ; public getProfile ( args , options , cb ) ; public getProfile ( args , optionsOrCb ? , cb ? ) { const command = new GetProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *             Returns a list of
     *             <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Recommendation.html">
     *                <code>Recommendation</code>
     *             </a>
     *             objects that contain recommendations for a profiling group for a given time period. A list of
     *             <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Anomaly.html">
     *                <code>Anomaly</code>
     *             </a>
     *             objects that contains details about anomalies detected in the profiling group for the same time period is also
     *             returned.
     *         </p>
     */ public getRecommendations ( args , options ? ) ; public getRecommendations ( args , cb ) ; public getRecommendations ( args , options , cb ) ; public getRecommendations ( args , optionsOrCb ? , cb ? ) { const command = new GetRecommendationsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List the available reports for a given profiling group and time range.</p>
     */ public listFindingsReports ( args , options ? ) ; public listFindingsReports ( args , cb ) ; public listFindingsReports ( args , options , cb ) ; public listFindingsReports ( args , optionsOrCb ? , cb ? ) { const command = new ListFindingsReportsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the start times of the available aggregated profiles of a profiling group
     *         for an aggregation period within the specified time range.</p>
     */ public listProfileTimes ( args , options ? ) ; public listProfileTimes ( args , cb ) ; public listProfileTimes ( args , options , cb ) ; public listProfileTimes ( args , optionsOrCb ? , cb ? ) { const command = new ListProfileTimesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Returns a list of profiling groups. The profiling groups are returned as
     *          <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html">
     *                <code>ProfilingGroupDescription</code>
     *             </a>
     *          objects.
     *       </p>
     */ public listProfilingGroups ( args , options ? ) ; public listProfilingGroups ( args , cb ) ; public listProfilingGroups ( args , options , cb ) ; public listProfilingGroups ( args , optionsOrCb ? , cb ? ) { const command = new ListProfilingGroupsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Returns a list of the tags that are assigned to a specified resource.
     *       </p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Submits profiling data to an aggregated profile of a profiling group. To get an
     *          aggregated profile that is created with this profiling data, use
     *          <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetProfile.html">
     *                <code>GetProfile</code>
     *             </a>.
     *       </p>
     */ public postAgentProfile ( args , options ? ) ; public postAgentProfile ( args , cb ) ; public postAgentProfile ( args , options , cb ) ; public postAgentProfile ( args , optionsOrCb ? , cb ? ) { const command = new PostAgentProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *             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 <code>principals</code> parameter.
     *         </p>
     *
     *         <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>
     */ public putPermission ( args , options ? ) ; public putPermission ( args , cb ) ; public putPermission ( args , options , cb ) ; public putPermission ( args , optionsOrCb ? , cb ? ) { const command = new PutPermissionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Remove one anomaly notifications channel for a profiling group.</p>
     */ public removeNotificationChannel ( args , options ? ) ; public removeNotificationChannel ( args , cb ) ; public removeNotificationChannel ( args , options , cb ) ; public removeNotificationChannel ( args , optionsOrCb ? , cb ? ) { const command = new RemoveNotificationChannelCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p> 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
     *                 <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>
     */ public removePermission ( args , options ? ) ; public removePermission ( args , cb ) ; public removePermission ( args , options , cb ) ; public removePermission ( args , optionsOrCb ? , cb ? ) { const command = new RemovePermissionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Sends feedback to CodeGuru Profiler about whether the anomaly detected by the analysis is
     *             useful or not.</p>
     */ public submitFeedback ( args , options ? ) ; public submitFeedback ( args , cb ) ; public submitFeedback ( args , options , cb ) ; public submitFeedback ( args , optionsOrCb ? , cb ? ) { const command = new SubmitFeedbackCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Use to assign one or more tags to a resource.
     *       </p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>
     *          Use to remove one or more tags from a resource.
     *       </p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a profiling group.</p>
     */ public updateProfilingGroup ( args , options ? ) ; public updateProfilingGroup ( args , cb ) ; public updateProfilingGroup ( args , options , cb ) ; public updateProfilingGroup ( args , optionsOrCb ? , cb ? ) { const command = new UpdateProfilingGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }