Densify · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Densify GCP Analysis API

6 actions 6 updates phrasing extends openapi/densify-gcp-analysis-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Densify's API. It is a proposal applied on top of the contract, not a document Densify publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/analysis/gcp/analyze'].post
$.paths['/analysis/cloud/gcp/analyze'].post
$.paths['/analysis/cloud/gcp'].get
$.paths['/analysis/cloud/gcp/{analysisId}'].delete
$.paths['/analysis/cloud/gcp/{analysisId}/results'].get

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 Densify GCP Analysis API
  version: 1.0.0
extends: openapi/densify-gcp-analysis-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: 5
- target: $.paths['/analysis/gcp/analyze'].post
  update:
    x-apievangelist-phrasing:
      intent: Onboard a GCP project or re-run its analysis
      effect: write
      questions:
      - How do I connect a GCP project with a service account so it's analyzed nightly?
      - Can I re-run the GCP analysis without collecting data again?
      instructions:
      - text: Onboard GCP project {projectId} using service account credential {credential}.
        slots:
          projectId: requestBody.projectId
          credential: requestBody.credential
      - text: Connect GCP project {projectId} as {connectionName} with credential {credential}.
        slots:
          projectId: requestBody.projectId
          connectionName: requestBody.connectionName
          credential: requestBody.credential
      - text: Re-run analysis for GCP project {projectId} with credential {credential} under policy {policyInstanceId}.
        slots:
          projectId: requestBody.projectId
          credential: requestBody.credential
          policyInstanceId: requestBody.policyInstanceId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/analysis/cloud/gcp/analyze'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a one-off 30-day historical audit on GCP
      effect: write
      questions:
      - Can I backfill up to 30 days of history for a GCP project I already connected?
      - Why would a GCP historical audit be rejected?
      instructions:
      - text: Run a once-off historical audit for GCP project {projectId} with credential {credential}, flag {triggerAdhocAudit}.
        slots:
          projectId: requestBody.projectId
          credential: requestBody.credential
          triggerAdhocAudit: requestBody.triggerAdhocAudit
      - text: Backfill GCP project {projectId} history from offset {startDayOffset} to {endDayOffset} using {credential}, audit flag {triggerAdhocAudit}.
        slots:
          projectId: requestBody.projectId
          startDayOffset: requestBody.startDayOffset
          endDayOffset: requestBody.endDayOffset
          credential: requestBody.credential
          triggerAdhocAudit: requestBody.triggerAdhocAudit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/analysis/cloud/gcp'].get
  update:
    x-apievangelist-phrasing:
      intent: List GCP projects under analysis
      effect: read
      questions:
      - Which GCP projects have analyses generated in Kubex?
      - Where do I get the analysisId for a GCP project?
      instructions:
      - text: List all GCP analyses.
      - text: Show the analysis IDs for my GCP projects.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/analysis/cloud/gcp/{analysisId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a GCP cloud connection and analysis
      effect: destructive
      questions:
      - How do I remove a GCP project's cloud connection and analysis?
      - Can I delete a GCP project that has no analysisId?
      instructions:
      - text: Delete the GCP cloud connection and analysis {analysisId}.
        slots:
          analysisId: path.analysisId
      - text: Stop analyzing the GCP project behind analysis {analysisId} and remove its connection.
        slots:
          analysisId: path.analysisId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/analysis/cloud/gcp/{analysisId}/results'].get
  update:
    x-apievangelist-phrasing:
      intent: Get Compute Engine recommendations for a GCP analysis
      effect: read
      questions:
      - Which Compute Engine instances in my GCP project should be resized?
      - Can I filter GCP recommendations by region?
      instructions:
      - text: Show the GCP recommendations for analysis {analysisId}.
        slots:
          analysisId: path.analysisId
      - text: List GCP recommendations in analysis {analysisId} for region {region}.
        slots:
          analysisId: path.analysisId
          region: query.region
      - text: Get GCP recommendations for analysis {analysisId} that say {recommendationType}.
        slots:
          analysisId: path.analysisId
          recommendationType: query.recommendationType
      method: generated
      generated: '2026-10-01'