# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Amazon CodeGuru Profiler Profiling Groups API version: 1.0.0 extends: openapi/amazon-codeguru-profiler-profiling-groups-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 16 - target: $.paths['/profilingGroups/{profilingGroupName}/notificationConfiguration'].get update: x-apievangelist-phrasing: intent: View anomaly notification settings for a group effect: read questions: - Where are anomaly alerts for my profiling group currently being sent? - Which notification channels are configured on a profiling group? instructions: - text: Show the anomaly notification configuration for profiling group {profilingGroupName}. slots: profilingGroupName: path.profilingGroupName - text: List the notification channels set up on {profilingGroupName}. slots: profilingGroupName: path.profilingGroupName method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/notificationConfiguration'].post update: x-apievangelist-phrasing: intent: Add anomaly notification channels to a group effect: write questions: - How do I get alerted when the profiler detects an anomaly in my app? - How many anomaly notification channels can one profiling group have? instructions: - text: Add notification channels {channels} to profiling group {profilingGroupName}. slots: channels: requestBody.channels profilingGroupName: path.profilingGroupName - text: Send anomaly alerts for {profilingGroupName} to channel {channels}. slots: profilingGroupName: path.profilingGroupName channels: requestBody.channels method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/frames/-/metrics'].post update: x-apievangelist-phrasing: intent: Get time series data for frame metrics effect: read questions: - Can I chart how much time a specific stack frame took over a period? - What resolution can I request for frame metric time series values? - How do I pull metric values for several frames of a profiling group at once? instructions: - text: Get frame metric time series {frameMetrics} for profiling group {profilingGroupName}. slots: frameMetrics: requestBody.frameMetrics profilingGroupName: path.profilingGroupName - text: Fetch frame metrics {frameMetrics} for {profilingGroupName} from {startTime} to {endTime} at {targetResolution} resolution. slots: frameMetrics: requestBody.frameMetrics profilingGroupName: path.profilingGroupName startTime: query.startTime endTime: query.endTime targetResolution: query.targetResolution method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/configureAgent'].post update: x-apievangelist-phrasing: intent: Report agent state and fetch its profiling config effect: write questions: - How does a profiler agent find out whether it should be profiling and for how long? - Can an agent report its compute platform metadata when it checks in? instructions: - text: Check in the profiler agent for group {profilingGroupName} and get its remote configuration. slots: profilingGroupName: path.profilingGroupName - text: Report agent instance {fleetInstanceId} to {profilingGroupName} with metadata {metadata} and return its settings. slots: fleetInstanceId: requestBody.fleetInstanceId profilingGroupName: path.profilingGroupName metadata: requestBody.metadata method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups#clientToken'].post update: x-apievangelist-phrasing: intent: Create a profiling group effect: write questions: - How do I start profiling a new application in CodeGuru Profiler? - Can I create a profiling group for an app running on AWS Lambda? - Is it possible to tag a profiling group at the moment I create it? instructions: - text: Create a profiling group named {profilingGroupName} using client token {clientToken}. slots: profilingGroupName: requestBody.profilingGroupName clientToken: query.clientToken - text: Create a new {computePlatform} profiling group {profilingGroupName} with tags {tags}, client token {clientToken}. slots: computePlatform: requestBody.computePlatform profilingGroupName: requestBody.profilingGroupName tags: requestBody.tags clientToken: query.clientToken method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}'].get update: x-apievangelist-phrasing: intent: Get details of one profiling group effect: read questions: - What compute platform and profiling status does a particular profiling group have? - Can I look up the full description of one profiling group by name? instructions: - text: Describe profiling group {profilingGroupName}. slots: profilingGroupName: path.profilingGroupName - text: Show me the settings and status of the {profilingGroupName} profiling group. slots: profilingGroupName: path.profilingGroupName method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}'].put update: x-apievangelist-phrasing: intent: Turn profiling on or off for a group effect: write questions: - How do I pause profiling on an existing profiling group without deleting it? - Can I re-enable agent profiling for a group I previously switched off? instructions: - text: Update profiling group {profilingGroupName} with agent orchestration config {agentOrchestrationConfig}. slots: profilingGroupName: path.profilingGroupName agentOrchestrationConfig: requestBody.agentOrchestrationConfig - text: Disable profiling on existing group {profilingGroupName} by setting {agentOrchestrationConfig}. slots: profilingGroupName: path.profilingGroupName agentOrchestrationConfig: requestBody.agentOrchestrationConfig method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}'].delete update: x-apievangelist-phrasing: intent: Delete a profiling group effect: destructive questions: - How do I permanently remove a profiling group I no longer use? - What happens to a profiling group once I delete it? instructions: - text: Delete profiling group {profilingGroupName}. slots: profilingGroupName: path.profilingGroupName - text: Remove the {profilingGroupName} profiling group from my account. slots: profilingGroupName: path.profilingGroupName method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/policy'].get update: x-apievangelist-phrasing: intent: View a profiling group's resource policy effect: read questions: - Who has been granted access to my profiling group through its resource-based policy? - Can I read the JSON access policy attached to a profiling group? instructions: - text: Show the resource-based policy on profiling group {profilingGroupName}. slots: profilingGroupName: path.profilingGroupName - text: Get the JSON access policy and its revision id for {profilingGroupName}. slots: profilingGroupName: path.profilingGroupName method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/profile'].get update: x-apievangelist-phrasing: intent: Download an aggregated profile effect: read questions: - How do I download the aggregated profiling data for my app over a time range? - Can I cap the stack depth of an aggregated profile I retrieve? - Which formats can an aggregated profile be returned in? instructions: - text: Get the aggregated profile for {profilingGroupName} from {startTime} to {endTime}. slots: profilingGroupName: path.profilingGroupName startTime: query.startTime endTime: query.endTime - text: Download {profilingGroupName}'s aggregated profile in {Accept} format with a max stack depth of {maxDepth}. slots: profilingGroupName: path.profilingGroupName Accept: header.Accept maxDepth: query.maxDepth method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/profileTimes#endTime&period&startTime'].get update: x-apievangelist-phrasing: intent: List start times of aggregated profiles effect: read questions: - When were aggregated profiles captured for my profiling group in a time range? - Can I list profile start times newest first for a given aggregation period? instructions: - text: List the profile start times for {profilingGroupName} at period {period} between {startTime} and {endTime}. slots: profilingGroupName: path.profilingGroupName period: query.period startTime: query.startTime endTime: query.endTime - text: Show {profilingGroupName}'s available {period} profile times from {startTime} to {endTime}, ordered {orderBy}. slots: profilingGroupName: path.profilingGroupName period: query.period startTime: query.startTime endTime: query.endTime orderBy: query.orderBy method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups'].get update: x-apievangelist-phrasing: intent: List profiling groups effect: read questions: - Which profiling groups exist in my account? - Can the list of profiling groups include full descriptions rather than just names? instructions: - text: List all my profiling groups. - text: 'List up to {maxResults} profiling groups with descriptions included: {includeDescription}.' slots: maxResults: query.maxResults includeDescription: query.includeDescription method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/agentProfile#Content-Type'].post update: x-apievangelist-phrasing: intent: Submit agent profiling data effect: write questions: - How does an agent upload the profiling data it collected to a profiling group? - What content types are accepted when submitting raw agent profile data? instructions: - text: Submit agent profile {agentProfile} to profiling group {profilingGroupName} as {Content-Type}. slots: agentProfile: requestBody.agentProfile profilingGroupName: path.profilingGroupName Content-Type: header.Content-Type - text: Upload collected profiling data {agentProfile} to {profilingGroupName} in {Content-Type} with profile token {profileToken}. slots: agentProfile: requestBody.agentProfile profilingGroupName: path.profilingGroupName Content-Type: header.Content-Type profileToken: query.profileToken method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/policy/{actionGroup}'].put update: x-apievangelist-phrasing: intent: Grant principals access to a profiling group effect: write questions: - How do I let another IAM role send profiling data to my profiling group? - Can I grant agent permissions on a profiling group to several users at once? instructions: - text: Grant action group {actionGroup} on profiling group {profilingGroupName} to principals {principals}. slots: actionGroup: path.actionGroup profilingGroupName: path.profilingGroupName principals: requestBody.principals - text: Add {principals} to {profilingGroupName}'s {actionGroup} policy at revision {revisionId}. slots: principals: requestBody.principals profilingGroupName: path.profilingGroupName actionGroup: path.actionGroup revisionId: requestBody.revisionId method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/notificationConfiguration/{channelId}'].delete update: x-apievangelist-phrasing: intent: Remove an anomaly notification channel effect: destructive questions: - How do I stop anomaly alerts going to one channel for a profiling group? - Can I delete a single notification channel while keeping the others? instructions: - text: Remove notification channel {channelId} from profiling group {profilingGroupName}. slots: channelId: path.channelId profilingGroupName: path.profilingGroupName - text: Stop sending {profilingGroupName} anomaly alerts to channel {channelId}. slots: profilingGroupName: path.profilingGroupName channelId: path.channelId method: generated generated: '2026-10-01' - target: $.paths['/profilingGroups/{profilingGroupName}/policy/{actionGroup}#revisionId'].delete update: x-apievangelist-phrasing: intent: Revoke an action group from a group's policy effect: destructive questions: - How do I revoke agent permissions I previously granted on a profiling group? - Which action group can be removed from a profiling group's resource policy? instructions: - text: Remove action group {actionGroup} from profiling group {profilingGroupName}'s policy at revision {revisionId}. slots: actionGroup: path.actionGroup profilingGroupName: path.profilingGroupName revisionId: query.revisionId - text: Revoke the {actionGroup} permissions on {profilingGroupName}, policy revision {revisionId}. slots: actionGroup: path.actionGroup profilingGroupName: path.profilingGroupName revisionId: query.revisionId method: generated generated: '2026-10-01'