Progress Software · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Chef Automate API Documentation Policies API

11 actions 11 updates phrasing extends openapi/progress-software-policies-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Progress Software's API. It is a proposal applied on top of the contract, not a document Progress Software publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/apis/iam/v2/policies'].get
$.paths['/apis/iam/v2/policies'].post
$.paths['/apis/iam/v2/policies/{id}'].get
$.paths['/apis/iam/v2/policies/{id}'].put
$.paths['/apis/iam/v2/policies/{id}'].delete
$.paths['/apis/iam/v2/policies/{id}/members'].get
$.paths['/apis/iam/v2/policies/{id}/members'].put
$.paths['/apis/iam/v2/policies/{id}/members:add'].post
$.paths['/apis/iam/v2/policies/{id}/members:remove'].post
$.paths['/apis/iam/v2/policy_version'].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 Chef Automate API Documentation Policies API
  version: 1.0.0
extends: openapi/progress-software-policies-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: 10
- target: $.paths['/apis/iam/v2/policies'].get
  update:
    x-apievangelist-phrasing:
      intent: List IAM policies
      effect: read
      questions:
      - Which IAM policies exist in my Chef Automate install?
      - Can I see both custom and Chef-managed access policies in one list?
      instructions:
      - text: List all IAM policies.
      - text: Show every access policy defined in Automate.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a custom IAM policy
      effect: write
      questions:
      - How do I create a policy that grants a team a role on specific projects?
      - Can a new policy's statement be scoped to every project at once?
      instructions:
      - text: Create policy {id} named {name} with statements {statements}.
        slots:
          id: requestBody.id
          name: requestBody.name
          statements: requestBody.statements
      - text: Create custom policy {id} called {name} granting {statements} to members {members}.
        slots:
          id: requestBody.id
          name: requestBody.name
          statements: requestBody.statements
          members: requestBody.members
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one IAM policy
      effect: read
      questions:
      - What statements and members are on a specific policy?
      - Can I look up a single access policy by its ID?
      instructions:
      - text: Get IAM policy {id}.
        slots:
          id: path.id
      - text: Show the statements, members and projects of policy {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Overwrite a custom IAM policy
      effect: write
      questions:
      - How do I change the statements on an existing custom policy?
      - Does updating a policy reset any fields I leave out of the request?
      instructions:
      - text: Overwrite policy {id} with name {name} and statements {statements}.
        slots:
          id: path.id
          name: requestBody.name
          statements: requestBody.statements
      - text: Replace the full definition of policy {id}, setting name {name}, statements {statements} and projects {projects}.
        slots:
          id: path.id
          name: requestBody.name
          statements: requestBody.statements
          projects: requestBody.projects
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a custom IAM policy
      effect: destructive
      questions:
      - How do I delete a custom access policy?
      - Can Chef-managed policies be deleted, or only custom ones?
      instructions:
      - text: Delete custom policy {id}.
        slots:
          id: path.id
      - text: Remove IAM policy {id} permanently.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}/members'].get
  update:
    x-apievangelist-phrasing:
      intent: List the members of a policy
      effect: read
      questions:
      - Which users, teams and tokens are members of a given policy?
      - Who is granted access through a particular policy?
      instructions:
      - text: List the members of policy {id}.
        slots:
          id: path.id
      - text: Show who belongs to policy {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}/members'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a policy's entire member list
      effect: write
      questions:
      - How do I swap out the whole member list of a policy in one call?
      - What format do member expressions need when I replace a policy's members?
      instructions:
      - text: Replace all members of policy {id} with {members}.
        slots:
          id: path.id
          members: requestBody.members
      - text: Set the member list of policy {id} to exactly {members}, dropping anyone else.
        slots:
          id: path.id
          members: requestBody.members
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}/members:add'].post
  update:
    x-apievangelist-phrasing:
      intent: Add members to a policy
      effect: write
      questions:
      - How do I grant a new team access by adding it to an existing policy?
      - Can I add members to a Chef-managed policy like Administrator?
      instructions:
      - text: Add members {members} to policy {id}.
        slots:
          members: requestBody.members
          id: path.id
      - text: Grant policy {id} to the additional members {members}, keeping current ones.
        slots:
          id: path.id
          members: requestBody.members
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policies/{id}/members:remove'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove members from a policy
      effect: write
      questions:
      - How do I revoke a user's access granted through a specific policy?
      - What happens if I remove a member who isn't on the policy?
      instructions:
      - text: Remove members {members} from policy {id}.
        slots:
          members: requestBody.members
          id: path.id
      - text: Take {members} off the member list of policy {id}.
        slots:
          members: requestBody.members
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/apis/iam/v2/policy_version'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the IAM version Automate is running
      effect: read
      questions:
      - Which IAM version is my Automate installation running?
      - Is my Automate on IAM v2?
      instructions:
      - text: Get the IAM major and minor version.
      - text: Tell me which IAM version this Automate install uses.
      method: generated
      generated: '2026-10-01'