Stop an instance, update its flexible shape configuration, then start it back up.
1 workflow1 source API1 provider
View SpecView on GitHubCloud ComputingEnterprise CloudInfrastructure-as-a-ServiceOraclePlatform-as-a-ServiceComputeObject StorageIdentity and Access ManagementDatabaseKubernetesServerlessMonitoringEvent-DrivenArazzoWorkflows
arazzo: 1.0.1
info:
title: Oracle Cloud Resize Instance Shape
summary: Stop an instance, update its flexible shape configuration, then start it back up.
description: >-
Rescales a flexible-shape compute instance safely. The workflow stops the
instance, polls until it is STOPPED, updates the instance shape
configuration with new OCPU and memory values, and starts the instance again
so the new sizing takes effect. Every step spells out its request inline so
the resize flow can be read and executed without opening the underlying
OpenAPI description.
version: 1.0.0
sourceDescriptions:
- name: instancesApi
url: ../openapi/oracle-cloud-instances-api-openapi.yml
type: openapi
workflows:
- workflowId: resize-instance-shape
summary: Stop an instance, resize its shape config, then start it again.
description: >-
Stops the instance and polls until STOPPED, updates its shapeConfig OCPUs
and memory, then starts it back up.
inputs:
type: object
required:
- instanceId
- ocpus
- memoryInGBs
properties:
instanceId:
type: string
description: The OCID of the instance to resize.
ocpus:
type: number
description: The new total number of OCPUs.
memoryInGBs:
type: number
description: The new total amount of memory in gigabytes.
steps:
- stepId: stopInstance
description: Issue a STOP action to power down the instance before resizing.
operationId: instanceAction
parameters:
- name: instanceId
in: path
value: $inputs.instanceId
- name: action
in: path
value: STOP
successCriteria:
- condition: $statusCode == 200
- stepId: pollStopped
description: Poll the instance until it reports the STOPPED lifecycle state.
operationId: getInstance
parameters:
- name: instanceId
in: path
value: $inputs.instanceId
successCriteria:
- condition: $statusCode == 200
- context: $response.body
condition: $.lifecycleState == "STOPPED"
type: jsonpath
outputs:
lifecycleState: $response.body#/lifecycleState
- stepId: updateInstance
description: Update the instance flexible shape configuration with new sizing.
operationId: updateInstance
parameters:
- name: instanceId
in: path
value: $inputs.instanceId
requestBody:
contentType: application/json
payload:
shapeConfig:
ocpus: $inputs.ocpus
memoryInGBs: $inputs.memoryInGBs
successCriteria:
- condition: $statusCode == 200
outputs:
updatedShape: $response.body#/shape
- stepId: startInstance
description: Start the resized instance so the new shape configuration takes effect.
operationId: instanceAction
parameters:
- name: instanceId
in: path
value: $inputs.instanceId
- name: action
in: path
value: START
successCriteria:
- condition: $statusCode == 200
outputs:
lifecycleState: $response.body#/lifecycleState
outputs:
instanceId: $inputs.instanceId
updatedShape: $steps.updateInstance.outputs.updatedShape
finalState: $steps.startInstance.outputs.lifecycleState
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.