Oracle Cloud Infrastructure · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Core Services Virtual Network API

268 actions 268 updates phrasing extends openapi/oracle-cloud-virtualnetwork-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Oracle Cloud Infrastructure's API. It is a proposal applied on top of the contract, not a document Oracle Cloud Infrastructure publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 268 · first 16 shown; the file carries all of them

$.info
$.paths['/allowedPeerRegionsForRemotePeering'].get
$.paths['/byoasns'].get
$.paths['/byoasns'].post
$.paths['/byoasns/{byoasnId}'].get
$.paths['/byoasns/{byoasnId}'].put
$.paths['/byoasns/{byoasnId}'].delete
$.paths['/byoasns/{byoasnId}/actions/changeCompartment'].post
$.paths['/byoasns/{byoasnId}/actions/validate'].post
$.paths['/byoipRanges'].get
$.paths['/byoipRanges'].post
$.paths['/byoipRanges/{byoipRangeId}'].get
$.paths['/byoipRanges/{byoipRangeId}'].put
$.paths['/byoipRanges/{byoipRangeId}'].delete
$.paths['/byoipRanges/{byoipRangeId}/actions/advertise'].post
$.paths['/byoipRanges/{byoipRangeId}/actions/changeCompartment'].post

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 Core Services Virtual Network API
  version: 1.0.0
extends: openapi/oracle-cloud-virtualnetwork-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 267
- target: $.paths['/allowedPeerRegionsForRemotePeering'].get
  update:
    x-apievangelist-phrasing:
      intent: List regions allowed for remote VCN peering
      effect: read
      questions:
      - Which OCI regions can I peer my VCN with across regions?
      - Is remote peering supported in every region or only some?
      instructions:
      - text: Show me the regions that support remote VCN peering.
      - text: List every region I can set up cross-region peering with.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns'].get
  update:
    x-apievangelist-phrasing:
      intent: List BYOASN resources in a compartment
      effect: read
      questions:
      - What bring-your-own ASNs have I imported into this compartment?
      - Can I filter my BYOASN resources by lifecycle state?
      instructions:
      - text: List the BYOASN resources in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Show BYOASNs in compartment {compartmentId} that are in state {lifecycleState}.
        slots:
          compartmentId: query.compartmentId
          lifecycleState: query.lifecycleState
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns'].post
  update:
    x-apievangelist-phrasing:
      intent: Import your own autonomous system number
      effect: write
      questions:
      - How do I bring my own ASN into Oracle Cloud?
      - What do I need to supply to register a BYOASN resource?
      instructions:
      - text: Create a BYOASN for ASN {asn} named {displayName} in compartment {compartmentId}.
        slots:
          asn: requestBody.asn
          displayName: requestBody.displayName
          compartmentId: requestBody.compartmentId
      - text: Register my autonomous system number {asn} in compartment {compartmentId} as {displayName}.
        slots:
          asn: requestBody.asn
          compartmentId: requestBody.compartmentId
          displayName: requestBody.displayName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns/{byoasnId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a BYOASN resource
      effect: read
      questions:
      - Where can I see the details and state of one imported ASN?
      - Can I check whether my BYOASN has finished validation?
      instructions:
      - text: Get BYOASN {byoasnId}.
        slots:
          byoasnId: path.byoasnId
      - text: Show the lifecycle state of BYOASN {byoasnId}.
        slots:
          byoasnId: path.byoasnId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns/{byoasnId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename or retag a BYOASN resource
      effect: write
      questions:
      - Can I change the display name of a BYOASN after importing it?
      - What fields on an imported ASN can I update?
      instructions:
      - text: Rename BYOASN {byoasnId} to {displayName}.
        slots:
          byoasnId: path.byoasnId
          displayName: requestBody.displayName
      - text: Update the tags on BYOASN {byoasnId}.
        slots:
          byoasnId: path.byoasnId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns/{byoasnId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a BYOASN resource
      effect: destructive
      questions:
      - How do I remove an ASN I imported that I no longer need?
      - Which states must a BYOASN be in before it can be deleted?
      instructions:
      - text: Delete BYOASN {byoasnId}.
        slots:
          byoasnId: path.byoasnId
      - text: Remove the imported ASN resource {byoasnId} from my tenancy.
        slots:
          byoasnId: path.byoasnId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns/{byoasnId}/actions/changeCompartment'].post
  update:
    x-apievangelist-phrasing:
      intent: Move a BYOASN to another compartment
      effect: write
      questions:
      - Can I move an imported ASN resource into a different compartment?
      - What happens to a BYOASN when I change its compartment?
      instructions:
      - text: Move BYOASN {byoasnId} into compartment {compartmentId}.
        slots:
          byoasnId: path.byoasnId
          compartmentId: requestBody.compartmentId
      - text: Relocate my imported ASN {byoasnId} to compartment {compartmentId}.
        slots:
          byoasnId: path.byoasnId
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoasns/{byoasnId}/actions/validate'].post
  update:
    x-apievangelist-phrasing:
      intent: Submit a BYOASN for validation
      effect: write
      questions:
      - How do I get my imported ASN validated by Oracle?
      - When should I submit a BYOASN for ownership validation?
      instructions:
      - text: Submit BYOASN {byoasnId} for validation.
        slots:
          byoasnId: path.byoasnId
      - text: Start ownership validation on imported ASN {byoasnId}.
        slots:
          byoasnId: path.byoasnId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges'].get
  update:
    x-apievangelist-phrasing:
      intent: List BYOIP CIDR ranges in a compartment
      effect: read
      questions:
      - Which bring-your-own IP ranges have I imported into this compartment?
      - Can I filter my BYOIP ranges by display name or state?
      instructions:
      - text: List the BYOIP ranges in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Find BYOIP ranges named {displayName} in compartment {compartmentId}.
        slots:
          displayName: query.displayName
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges'].post
  update:
    x-apievangelist-phrasing:
      intent: Import a BYOIP CIDR block
      effect: write
      questions:
      - How do I bring my own public IPv4 or IPv6 range into OCI?
      - Can I import an IPv6 prefix as a BYOIP range?
      instructions:
      - text: Create a BYOIP range for CIDR {cidrBlock} in compartment {compartmentId}.
        slots:
          cidrBlock: requestBody.cidrBlock
          compartmentId: requestBody.compartmentId
      - text: Import IPv6 prefix {ipv6CidrBlock} as a BYOIP range in compartment {compartmentId}.
        slots:
          ipv6CidrBlock: requestBody.ipv6CidrBlock
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a BYOIP CIDR range
      effect: read
      questions:
      - Where do I see the status and CIDR details of one BYOIP range?
      - Can I check whether my imported IP range is provisioned or advertised?
      instructions:
      - text: Get BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Show me the lifecycle state of BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename or retag a BYOIP range
      effect: write
      questions:
      - Can I rename an imported BYOIP CIDR block?
      - Which attributes of a BYOIP range are editable?
      instructions:
      - text: Rename BYOIP range {byoipRangeId} to {displayName}.
        slots:
          byoipRangeId: path.byoipRangeId
          displayName: requestBody.displayName
      - text: Update the tags on BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a BYOIP range
      effect: destructive
      questions:
      - How do I remove an imported IP range from my tenancy?
      - What state does a BYOIP range need to be in before I can delete it?
      instructions:
      - text: Delete BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Remove imported CIDR block {byoipRangeId} from OCI.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/actions/advertise'].post
  update:
    x-apievangelist-phrasing:
      intent: Start BGP advertisement of a BYOIP range
      effect: write
      questions:
      - How do I start announcing my imported IP range over BGP?
      - Does a BYOIP range have to be provisioned before it can be advertised?
      instructions:
      - text: Advertise BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Begin BGP route advertisements for imported block {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/actions/changeCompartment'].post
  update:
    x-apievangelist-phrasing:
      intent: Move a BYOIP range to another compartment
      effect: write
      questions:
      - Can I move an imported CIDR block into a different compartment?
      - What is required to relocate a BYOIP range between compartments?
      instructions:
      - text: Move BYOIP range {byoipRangeId} into compartment {compartmentId}.
        slots:
          byoipRangeId: path.byoipRangeId
          compartmentId: requestBody.compartmentId
      - text: Relocate imported IP block {byoipRangeId} to compartment {compartmentId}.
        slots:
          byoipRangeId: path.byoipRangeId
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/actions/setOrigin/byoasn'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a BYOIP range's origin to my own ASN
      effect: write
      questions:
      - Can my imported IP range be originated from my own BYOASN instead of Oracle's ASN?
      - Is AS path prepending supported when I set a custom origin ASN?
      instructions:
      - text: Set the origin ASN of BYOIP range {byoipRangeId} to BYOASN {byoasnId}.
        slots:
          byoipRangeId: path.byoipRangeId
          byoasnId: requestBody.byoasnId
      - text: Originate range {byoipRangeId} from BYOASN {byoasnId} with AS path prepend length {asPathPrependLength}.
        slots:
          byoipRangeId: path.byoipRangeId
          byoasnId: requestBody.byoasnId
          asPathPrependLength: requestBody.asPathPrependLength
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/actions/setOrigin/oracleAsn'].post
  update:
    x-apievangelist-phrasing:
      intent: Revert a BYOIP range's origin to Oracle's ASN
      effect: write
      questions:
      - How do I switch my imported prefix back to being originated by OCI's ASN?
      - Can I undo a custom origin ASN on a BYOIP range?
      instructions:
      - text: Set the origin ASN of BYOIP range {byoipRangeId} back to Oracle.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Make OCI's own ASN the origin for imported prefix {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/actions/validate'].post
  update:
    x-apievangelist-phrasing:
      intent: Submit a BYOIP range for validation
      effect: write
      questions:
      - How do I ask Oracle to validate ownership of my imported IP range?
      - What should be in place before I submit a BYOIP range for validation?
      instructions:
      - text: Submit BYOIP range {byoipRangeId} for validation.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Kick off ownership validation for imported CIDR {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/actions/withdraw'].post
  update:
    x-apievangelist-phrasing:
      intent: Stop BGP advertisement of a BYOIP range
      effect: write
      questions:
      - How do I stop announcing my imported IP range to the internet?
      - Can I pause BGP advertisement of a BYOIP block without deleting it?
      instructions:
      - text: Withdraw the BGP advertisement for BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Stop advertising imported block {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/byoipRanges/{byoipRangeId}/byoipAllocatedRanges'].get
  update:
    x-apievangelist-phrasing:
      intent: List BYOIP subranges allocated to IP pools
      effect: read
      questions:
      - Which parts of my BYOIP range are already allocated to public IP pools?
      - Can I see how an imported CIDR block has been split across pools?
      instructions:
      - text: List the allocated subranges of BYOIP range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      - text: Show which pools use pieces of imported range {byoipRangeId}.
        slots:
          byoipRangeId: path.byoipRangeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/captureFilters'].get
  update:
    x-apievangelist-phrasing:
      intent: List VTAP capture filters
      effect: read
      questions:
      - What VTAP capture filters exist in my compartment?
      - Can I filter capture filters by name or lifecycle state?
      instructions:
      - text: List the capture filters in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Find capture filters named {displayName} in compartment {compartmentId}.
        slots:
          displayName: query.displayName
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/captureFilters'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a VTAP capture filter
      effect: write
      questions:
      - How do I define which traffic a virtual test access point captures?
      - Can a capture filter include custom capture rules when I create it?
      instructions:
      - text: Create a capture filter of type {filterType} in compartment {compartmentId}.
        slots:
          filterType: requestBody.filterType
          compartmentId: requestBody.compartmentId
      - text: Create VTAP capture filter {displayName} in compartment {compartmentId} with rules {vtapCaptureFilterRules} and type {filterType}.
        slots:
          displayName: requestBody.displayName
          compartmentId: requestBody.compartmentId
          vtapCaptureFilterRules: requestBody.vtapCaptureFilterRules
          filterType: requestBody.filterType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/captureFilters/{captureFilterId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a VTAP capture filter
      effect: read
      questions:
      - Where can I see the rules defined in one capture filter?
      - Can I look up a single VTAP capture filter by its OCID?
      instructions:
      - text: Get capture filter {captureFilterId}.
        slots:
          captureFilterId: path.captureFilterId
      - text: Show the capture rules in filter {captureFilterId}.
        slots:
          captureFilterId: path.captureFilterId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/captureFilters/{captureFilterId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a VTAP capture filter
      effect: write
      questions:
      - Can I change the capture rules on an existing capture filter?
      - How do I rename a VTAP capture filter?
      instructions:
      - text: Rename capture filter {captureFilterId} to {displayName}.
        slots:
          captureFilterId: path.captureFilterId
          displayName: requestBody.displayName
      - text: Replace the rules on capture filter {captureFilterId} with {vtapCaptureFilterRules}.
        slots:
          captureFilterId: path.captureFilterId
          vtapCaptureFilterRules: requestBody.vtapCaptureFilterRules
      method: generated
      generated: '2026-09-26'
- target: $.paths['/captureFilters/{captureFilterId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a VTAP capture filter
      effect: destructive
      questions:
      - How do I get rid of a capture filter I'm not using?
      - Is deleting a VTAP capture filter immediate or asynchronous?
      instructions:
      - text: Delete capture filter {captureFilterId}.
        slots:
          captureFilterId: path.captureFilterId
      - text: Remove VTAP capture filter {captureFilterId} permanently.
        slots:
          captureFilterId: path.captureFilterId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/captureFilters/{captureFilterId}/actions/changeCompartment'].post
  update:
    x-apievangelist-phrasing:
      intent: Move a capture filter to another compartment
      effect: write
      questions:
      - Can I move a VTAP capture filter into another compartment?
      - Does moving a capture filter keep it in the same tenancy?
      instructions:
      - text: Move capture filter {captureFilterId} into compartment {compartmentId}.
        slots:
          captureFilterId: path.captureFilterId
          compartmentId: requestBody.compartmentId
      - text: Relocate VTAP filter {captureFilterId} to compartment {compartmentId}.
        slots:
          captureFilterId: path.captureFilterId
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpeDeviceShapes'].get
  update:
    x-apievangelist-phrasing:
      intent: List supported CPE device types
      effect: read
      questions:
      - Which on-premises router models can OCI generate VPN config for?
      - What CPE device types are supported for Site-to-Site VPN configuration content?
      instructions:
      - text: List the supported CPE device shapes.
      - text: Show every router vendor and platform the Networking service has CPE config templates for.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpeDeviceShapes/{cpeDeviceShapeId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of a CPE device type
      effect: read
      questions:
      - What questions do I need to answer to generate config for a specific router model?
      - Can I see the parameters a given CPE device type needs?
      instructions:
      - text: Get CPE device shape {cpeDeviceShapeId}.
        slots:
          cpeDeviceShapeId: path.cpeDeviceShapeId
      - text: Show the configuration questions for CPE device type {cpeDeviceShapeId}.
        slots:
          cpeDeviceShapeId: path.cpeDeviceShapeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes'].get
  update:
    x-apievangelist-phrasing:
      intent: List customer-premises equipment objects
      effect: read
      questions:
      - Which on-premises CPE objects have I defined in this compartment?
      - Where can I see all the customer-premises equipment registered for my VPNs?
      instructions:
      - text: List the CPEs in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Show all customer-premises equipment objects in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes'].post
  update:
    x-apievangelist-phrasing:
      intent: Register a customer-premises equipment object
      effect: write
      questions:
      - How do I register my on-premises router's public IP for a Site-to-Site VPN?
      - Can I create a CPE with a private IP address?
      instructions:
      - text: Create a CPE for public IP {ipAddress} in compartment {compartmentId}.
        slots:
          ipAddress: requestBody.ipAddress
          compartmentId: requestBody.compartmentId
      - text: Register router {displayName} at {ipAddress} in compartment {compartmentId} using device shape {cpeDeviceShapeId}.
        slots:
          displayName: requestBody.displayName
          ipAddress: requestBody.ipAddress
          compartmentId: requestBody.compartmentId
          cpeDeviceShapeId: requestBody.cpeDeviceShapeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes/{cpeId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a customer-premises equipment object
      effect: read
      questions:
      - Where can I see the IP address and device type of one CPE?
      - Can I look up a CPE object by its OCID?
      instructions:
      - text: Get CPE {cpeId}.
        slots:
          cpeId: path.cpeId
      - text: Show the details of customer-premises equipment {cpeId}.
        slots:
          cpeId: path.cpeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes/{cpeId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename a CPE or change its device type
      effect: write
      questions:
      - Can I change the device type recorded on an existing CPE?
      - Is it possible to rename a customer-premises equipment object?
      instructions:
      - text: Rename CPE {cpeId} to {displayName}.
        slots:
          cpeId: path.cpeId
          displayName: requestBody.displayName
      - text: Set the device shape of CPE {cpeId} to {cpeDeviceShapeId}.
        slots:
          cpeId: path.cpeId
          cpeDeviceShapeId: requestBody.cpeDeviceShapeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes/{cpeId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a customer-premises equipment object
      effect: destructive
      questions:
      - How do I remove a CPE object I no longer use?
      - Can I delete a CPE that's still connected to a DRG?
      instructions:
      - text: Delete CPE {cpeId}.
        slots:
          cpeId: path.cpeId
      - text: Remove customer-premises equipment {cpeId} from my tenancy.
        slots:
          cpeId: path.cpeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes/{cpeId}/actions/changeCompartment'].post
  update:
    x-apievangelist-phrasing:
      intent: Move a CPE to another compartment
      effect: write
      questions:
      - Can I move a CPE object into another compartment?
      - Does changing a CPE's compartment affect its VPN connections?
      instructions:
      - text: Move CPE {cpeId} into compartment {compartmentId}.
        slots:
          cpeId: path.cpeId
          compartmentId: requestBody.compartmentId
      - text: Relocate customer-premises equipment {cpeId} to compartment {compartmentId}.
        slots:
          cpeId: path.cpeId
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/cpes/{cpeId}/cpeConfigContent'].get
  update:
    x-apievangelist-phrasing:
      intent: Render router config for a CPE
      effect: read
      questions:
      - How do I get ready-to-paste router configuration for my on-premises CPE?
      - Can OCI generate the device config covering all IPSec connections on a CPE?
      instructions:
      - text: Render the device configuration content for CPE {cpeId}.
        slots:
          cpeId: path.cpeId
      - text: Generate the router config my network engineer needs for CPE {cpeId}.
        slots:
          cpeId: path.cpeId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectGroups'].get
  update:
    x-apievangelist-phrasing:
      intent: List FastConnect cross-connect groups
      effect: read
      questions:
      - What cross-connect groups do I have in this compartment?
      - Can I filter cross-connect groups by lifecycle state?
      instructions:
      - text: List the cross-connect groups in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Show cross-connect groups in compartment {compartmentId} with state {lifecycleState}.
        slots:
          compartmentId: query.compartmentId
          lifecycleState: query.lifecycleState
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectGroups'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a FastConnect cross-connect group
      effect: write
      questions:
      - How do I set up a cross-connect group for FastConnect colocation?
      - Can I enable MACsec when creating a cross-connect group?
      instructions:
      - text: Create a cross-connect group named {displayName} in compartment {compartmentId}.
        slots:
          displayName: requestBody.displayName
          compartmentId: requestBody.compartmentId
      - text: Create a cross-connect group in compartment {compartmentId} with MACsec settings {macsecProperties}.
        slots:
          compartmentId: requestBody.compartmentId
          macsecProperties: requestBody.macsecProperties
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectGroups/{crossConnectGroupId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a cross-connect group
      effect: read
      questions:
      - Where can I see the settings of one FastConnect cross-connect group?
      - Can I check the MACsec configuration on a cross-connect group?
      instructions:
      - text: Get cross-connect group {crossConnectGroupId}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
      - text: Show the details of cross-connect group {crossConnectGroupId}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectGroups/{crossConnectGroupId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a cross-connect group
      effect: write
      questions:
      - Can I change the customer reference name on a cross-connect group?
      - Is it possible to turn on MACsec for an existing cross-connect group?
      instructions:
      - text: Rename cross-connect group {crossConnectGroupId} to {displayName}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
          displayName: requestBody.displayName
      - text: Set the customer reference on cross-connect group {crossConnectGroupId} to {customerReferenceName}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
          customerReferenceName: requestBody.customerReferenceName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectGroups/{crossConnectGroupId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a cross-connect group
      effect: destructive
      questions:
      - How do I delete an empty cross-connect group?
      - Can I delete a cross-connect group that still contains cross-connects?
      instructions:
      - text: Delete cross-connect group {crossConnectGroupId}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
      - text: Remove the FastConnect cross-connect group {crossConnectGroupId}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectGroups/{crossConnectGroupId}/actions/changeCompartment'].post
  update:
    x-apievangelist-phrasing:
      intent: Move a cross-connect group to another compartment
      effect: write
      questions:
      - Can I move a cross-connect group into a different compartment?
      - Does a cross-connect group have to stay in the same tenancy when moved?
      instructions:
      - text: Move cross-connect group {crossConnectGroupId} into compartment {compartmentId}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
          compartmentId: requestBody.compartmentId
      - text: Relocate the cross-connect group {crossConnectGroupId} to compartment {compartmentId}.
        slots:
          crossConnectGroupId: path.crossConnectGroupId
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectLocations'].get
  update:
    x-apievangelist-phrasing:
      intent: List FastConnect cross-connect locations
      effect: read
      questions:
      - Which FastConnect locations can I install a cross-connect at?
      - Where do I find valid location names for a new cross-connect?
      instructions:
      - text: List the cross-connect locations available to compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Show FastConnect colocation sites for compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnectPortSpeedShapes'].get
  update:
    x-apievangelist-phrasing:
      intent: List cross-connect port speeds
      effect: read
      questions:
      - What port speeds are available for a FastConnect cross-connect?
      - Can I get 100 Gbps ports for a cross-connect?
      instructions:
      - text: List the cross-connect port speed shapes for compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: Show which cross-connect port speeds I can order in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnects'].get
  update:
    x-apievangelist-phrasing:
      intent: List FastConnect cross-connects
      effect: read
      questions:
      - Which cross-connects exist in my compartment?
      - Can I list only the cross-connects that belong to one cross-connect group?
      instructions:
      - text: List the cross-connects in compartment {compartmentId}.
        slots:
          compartmentId: query.compartmentId
      - text: List cross-connects in group {crossConnectGroupId} within compartment {compartmentId}.
        slots:
          crossConnectGroupId: query.crossConnectGroupId
          compartmentId: query.compartmentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/crossConnects'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a FastConnect cross-connect
      effect: write
      questions:
      - How do I order a physical cross-connect for FastConnect?
      - Can I place a new cross-connect inside an existing cross-connect group?
      instructions:
      - text: Create a cross-connect at {locationName} with port speed {portSpeedShapeName} in compartment {compartmentId}.
        slots:
          locationName: requestBody.locationName
          portSpeedShapeName: requestBody.portSpeedShapeName
          compartmentId: requestBody.compartmentId
      - text: Add a {portSpeedShapeName} cross-connect at {locationName} to group {crossConnectGroupId} in compartment {compartmentId}.
        slots:
          portSpeedShapeName: requestBody.portSpeedShapeName
          locationName: requestBody.locationName
          crossConnectGroupId: requestBody.crossConnectGroupId
          compartmentId: requestBody.compartmentId
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (191 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-cloud/refs/heads/main/overlays/oracle-cloud-virtualnetwork-api-phrasing-overlay.yaml