# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Amazon Lightsail Instances API version: 1.0.0 extends: openapi/amazon-lightsail-instances-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: 22 - target: $.paths['/instances'].get update: x-apievangelist-phrasing: intent: List instances via the REST-style /instances path effect: read questions: - Is there a plain GET /instances resource path for listing my servers? - Which REST-style endpoint lists instances without the JSON action body? instructions: - text: List my instances with a GET on the REST-style /instances path. - text: Call GET /instances to list all virtual private servers. method: generated generated: '2026-09-26' - target: $.paths['/instances'].post update: x-apievangelist-phrasing: intent: Create instances via the REST-style /instances path effect: write questions: - Can I create instances by POSTing to the /instances resource path? - What does the resource-style POST /instances endpoint do? instructions: - text: Create instances with a POST to the REST-style /instances path. - text: Use POST /instances to launch new servers. method: generated generated: '2026-09-26' - target: $.paths['/instances/{instanceName}'].get update: x-apievangelist-phrasing: intent: Get an instance via the REST-style /instances path effect: read questions: - Can I fetch one server with a plain GET on its /instances resource path? - Which resource-path endpoint returns a single instance by name? instructions: - text: GET /instances/{instanceName} to read that server. slots: instanceName: path.instanceName - text: Fetch instance {instanceName} through the REST-style resource path. slots: instanceName: path.instanceName method: generated generated: '2026-09-26' - target: $.paths['/instances/{instanceName}'].delete update: x-apievangelist-phrasing: intent: Delete an instance via an HTTP DELETE on /instances effect: destructive questions: - Can I remove a server with an HTTP DELETE on its /instances path? - Is there a REST-style DELETE endpoint for instances? instructions: - text: Send DELETE /instances/{instanceName} to remove that server. slots: instanceName: path.instanceName - text: Delete instance {instanceName} using the REST-style resource path. slots: instanceName: path.instanceName method: generated generated: '2026-09-26' - target: $.paths['/instances/{instanceName}/start'].post update: x-apievangelist-phrasing: intent: Start an instance via the REST-style /start path effect: write questions: - Can I boot a server by POSTing to its /start sub-path? - Which REST-style path starts an instance? instructions: - text: POST to /instances/{instanceName}/start. slots: instanceName: path.instanceName - text: Start {instanceName} through the REST-style /start path. slots: instanceName: path.instanceName method: generated generated: '2026-09-26' - target: $.paths['/instances/{instanceName}/stop'].post update: x-apievangelist-phrasing: intent: Stop an instance via the REST-style /stop path effect: write questions: - Can I shut down a server by POSTing to its /stop sub-path? - Which REST-style path stops an instance? instructions: - text: POST to /instances/{instanceName}/stop. slots: instanceName: path.instanceName - text: Stop {instanceName} through the REST-style /stop path. slots: instanceName: path.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/CloseInstancePublicPorts'].post update: x-apievangelist-phrasing: intent: Close a firewall port on an instance effect: write questions: - How do I close port 22 to the public on my instance? - Can I remove one firewall rule without touching the others? instructions: - text: Close port {portInfo} on {instanceName}. slots: portInfo: requestBody.portInfo instanceName: requestBody.instanceName - text: Remove the firewall rule {portInfo} from instance {instanceName}. slots: portInfo: requestBody.portInfo instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/CreateInstances'].post update: x-apievangelist-phrasing: intent: Launch new instances from a blueprint effect: write questions: - How do I launch a new Lightsail server running WordPress or Ubuntu? - Can I pass a launch script and SSH key when creating an instance? - Can I create several identical instances in one request? instructions: - text: Create instances {instanceNames} in {availabilityZone} from blueprint {blueprintId} on bundle {bundleId}. slots: instanceNames: requestBody.instanceNames availabilityZone: requestBody.availabilityZone blueprintId: requestBody.blueprintId bundleId: requestBody.bundleId - text: Launch {instanceNames} ({blueprintId}, {bundleId}) in {availabilityZone} with key pair {keyPairName} and user data {userData}. slots: instanceNames: requestBody.instanceNames blueprintId: requestBody.blueprintId bundleId: requestBody.bundleId availabilityZone: requestBody.availabilityZone keyPairName: requestBody.keyPairName userData: requestBody.userData method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/DeleteInstance'].post update: x-apievangelist-phrasing: intent: Delete an instance effect: destructive questions: - How do I permanently delete a Lightsail server? - Can I force-delete an instance's add-ons like automatic snapshots along with it? instructions: - text: Delete instance {instanceName}. slots: instanceName: requestBody.instanceName - text: Delete {instanceName} and force-delete its add-ons ({forceDeleteAddOns}). slots: instanceName: requestBody.instanceName forceDeleteAddOns: requestBody.forceDeleteAddOns method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/GetInstance'].post update: x-apievangelist-phrasing: intent: Get details of one instance effect: read questions: - What's the public IP, plan and blueprint of a particular server? - Which disks and add-ons are on a specific instance? instructions: - text: Get details for instance {instanceName}. slots: instanceName: requestBody.instanceName - text: Show the IP addresses and plan of {instanceName}. slots: instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/GetInstanceAccessDetails'].post update: x-apievangelist-phrasing: intent: Get temporary SSH or RDP access credentials effect: read questions: - How do I get temporary SSH keys to connect to my instance? - Can I get RDP login details for a Windows instance? instructions: - text: Get temporary access details for {instanceName}. slots: instanceName: requestBody.instanceName - text: Give me {protocol} credentials to connect to {instanceName}. slots: protocol: requestBody.protocol instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/GetInstanceMetricData'].post update: x-apievangelist-phrasing: intent: Get CPU, network or status metrics for an instance effect: read questions: - How much CPU has my instance been using this week? - Can I check whether my instance is running out of burst capacity? instructions: - text: Get {metricName} for instance {instanceName} from {startTime} to {endTime} every {period}s as {statistics} in {unit}. slots: metricName: requestBody.metricName instanceName: requestBody.instanceName startTime: requestBody.startTime endTime: requestBody.endTime period: requestBody.period statistics: requestBody.statistics unit: requestBody.unit - text: Show instance {instanceName} {metricName} since {startTime}. slots: instanceName: requestBody.instanceName metricName: requestBody.metricName startTime: requestBody.startTime method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/GetInstancePortStates'].post update: x-apievangelist-phrasing: intent: Show an instance's open firewall ports effect: read questions: - Which ports are open on my instance's firewall? - What IP ranges are allowed to reach each open port? instructions: - text: List the firewall port states for {instanceName}. slots: instanceName: requestBody.instanceName - text: Show which ports and source IPs are allowed on {instanceName}. slots: instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/GetInstanceState'].post update: x-apievangelist-phrasing: intent: Check whether an instance is running effect: read questions: - Is my server running, stopped or pending right now? - What state is a given instance in? instructions: - text: Get the state of instance {instanceName}. slots: instanceName: requestBody.instanceName - text: Check if {instanceName} is running. slots: instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/GetInstances'].post update: x-apievangelist-phrasing: intent: List all instances effect: read questions: - Which Lightsail servers do I have in this region? - Can I page through all my instances with a page token? instructions: - text: List all my Lightsail instances. - text: Get the next page of instances using {pageToken}. slots: pageToken: requestBody.pageToken method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/OpenInstancePublicPorts'].post update: x-apievangelist-phrasing: intent: Open an additional firewall port effect: write questions: - How do I open port 443 on my instance without changing other rules? - Can I restrict a newly opened port to certain IP addresses? instructions: - text: Open port {portInfo} on {instanceName}. slots: portInfo: requestBody.portInfo instanceName: requestBody.instanceName - text: Add firewall rule {portInfo} to {instanceName}, keeping existing rules. slots: portInfo: requestBody.portInfo instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/PutInstancePublicPorts'].post update: x-apievangelist-phrasing: intent: Replace all firewall rules on an instance effect: write questions: - Can I overwrite the whole firewall of an instance with a new set of rules? - What happens to ports I leave out when I replace an instance's rules? instructions: - text: Replace all firewall rules on {instanceName} with {portInfos}. slots: instanceName: requestBody.instanceName portInfos: requestBody.portInfos - text: Set the full list of open ports on {instanceName} to {portInfos}. slots: instanceName: requestBody.instanceName portInfos: requestBody.portInfos method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/RebootInstance'].post update: x-apievangelist-phrasing: intent: Reboot an instance effect: write questions: - How do I restart a Lightsail server that's unresponsive? - Does rebooting an instance keep its public IP? instructions: - text: Reboot instance {instanceName}. slots: instanceName: requestBody.instanceName - text: Restart {instanceName}. slots: instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/StartInstance'].post update: x-apievangelist-phrasing: intent: Start a stopped instance effect: write questions: - How do I boot a stopped Lightsail server? - Will my instance get a new public IP when I start it again? instructions: - text: Start instance {instanceName}. slots: instanceName: requestBody.instanceName - text: Power on the stopped server {instanceName}. slots: instanceName: requestBody.instanceName method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/StopInstance'].post update: x-apievangelist-phrasing: intent: Stop a running instance effect: write questions: - How do I shut down a running Lightsail server? - Can I force-stop an instance that's stuck stopping? instructions: - text: Stop instance {instanceName}. slots: instanceName: requestBody.instanceName - text: Force-stop {instanceName} ({force}). slots: instanceName: requestBody.instanceName force: requestBody.force method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/UpdateInstanceMetadataOptions'].post update: x-apievangelist-phrasing: intent: Change an instance's metadata service settings effect: write questions: - How do I require IMDSv2 tokens on my instance? - Can I turn off the instance metadata endpoint or enable it over IPv6? instructions: - text: Require metadata tokens on {instanceName} by setting httpTokens to {httpTokens}. slots: instanceName: requestBody.instanceName httpTokens: requestBody.httpTokens - text: Set the metadata endpoint of {instanceName} to {httpEndpoint}. slots: instanceName: requestBody.instanceName httpEndpoint: requestBody.httpEndpoint method: generated generated: '2026-09-26' - target: $.paths['/ls/api/2016-11-28/setup-instance-https'].post update: x-apievangelist-phrasing: intent: Set up HTTPS on an instance's website effect: write questions: - How do I add a free SSL certificate to the website on my instance? - Can Lightsail configure HTTPS for several domain names on one server? instructions: - text: Set up HTTPS on {instanceName} for {domainNames} using {certificateProvider}, contact {emailAddress}. slots: instanceName: requestBody.instanceName domainNames: requestBody.domainNames certificateProvider: requestBody.certificateProvider emailAddress: requestBody.emailAddress - text: Secure the site on {instanceName} ({domainNames}) with a {certificateProvider} certificate registered to {emailAddress}. slots: instanceName: requestBody.instanceName domainNames: requestBody.domainNames certificateProvider: requestBody.certificateProvider emailAddress: requestBody.emailAddress method: generated generated: '2026-09-26'