Amazon CodeGuru Profiler · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Amazon CodeGuru Profiler Profiling Groups API
17 actions
17 updates
phrasing
extends
openapi/amazon-codeguru-profiler-profiling-groups-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Amazon CodeGuru Profiler's API. It is a proposal applied on top of the contract, not a document Amazon CodeGuru Profiler publishes.
What the actions change
x-apievangelist-phrasing
Targets 17 · first 16 shown; the file carries all of them
$.info
$.paths['/profilingGroups/{profilingGroupName}/notificationConfiguration'].get
$.paths['/profilingGroups/{profilingGroupName}/notificationConfiguration'].post
$.paths['/profilingGroups/{profilingGroupName}/frames/-/metrics'].post
$.paths['/profilingGroups/{profilingGroupName}/configureAgent'].post
$.paths['/profilingGroups#clientToken'].post
$.paths['/profilingGroups/{profilingGroupName}'].get
$.paths['/profilingGroups/{profilingGroupName}'].put
$.paths['/profilingGroups/{profilingGroupName}'].delete
$.paths['/profilingGroups/{profilingGroupName}/policy'].get
$.paths['/profilingGroups/{profilingGroupName}/profile'].get
$.paths['/profilingGroups/{profilingGroupName}/profileTimes#endTime&period&startTime'].get
$.paths['/profilingGroups'].get
$.paths['/profilingGroups/{profilingGroupName}/agentProfile#Content-Type'].post
$.paths['/profilingGroups/{profilingGroupName}/policy/{actionGroup}'].put
$.paths['/profilingGroups/{profilingGroupName}/notificationConfiguration/{channelId}'].delete
OpenAPI Overlay
# 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'