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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'