Skip to content

Oracle Cloud Infrastructure

Manage Oracle Cloud Infrastructure resources in workflows

SuperPlane authenticates to OCI using API Key authentication tied to a dedicated service user with least-privilege permissions.

Part 1 — Create a Dedicated Group and Service User

Section titled “Part 1 — Create a Dedicated Group and Service User”
  1. Open the OCI Console and sign in.
  2. Go to MenuIdentity & Security → Domains → Default → User Management → Groups.
  3. Click Create Group.
  4. Set the name to SuperPlaneIntegration and add a description, then click Create.
  5. In the same User Management tab, go to Users → Create User.
  6. Fill in the details:
    • Lastname: superplane-integration
    • Email: use any valid email (not used for authentication)
  7. In the Groups section, assign the user to the SuperPlaneIntegration group
  8. Click Create.
  1. Go to Identity & Security → Policies.
  2. Make sure you are in the root compartment (check the Compartment selector on the left).
  3. Click Create Policy, name it SuperPlanePolicies, add a description and enable the manual editor.
  4. Paste in the following statements, replacing <your-compartment> with your target compartment name, and then Click Create.:
Allow group SuperPlaneIntegration to manage instances in tenancy
Allow group SuperPlaneIntegration to manage volumes in tenancy
Allow group SuperPlaneIntegration to manage volume-attachments in tenancy
Allow group SuperPlaneIntegration to manage virtual-network-family in tenancy
Allow group SuperPlaneIntegration to manage buckets in tenancy
Allow group SuperPlaneIntegration to manage objects in tenancy
Allow group SuperPlaneIntegration to manage objectstorage-namespaces in tenancy
Allow group SuperPlaneIntegration to manage fn-app in tenancy
Allow group SuperPlaneIntegration to manage fn-function in tenancy
Allow group SuperPlaneIntegration to manage fn-invocation in tenancy
Allow group SuperPlaneIntegration to manage ons-topics in tenancy
Allow group SuperPlaneIntegration to manage ons-subscriptions in tenancy
Allow group SuperPlaneIntegration to inspect compartments in tenancy
Allow group SuperPlaneIntegration to inspect all-resources in tenancy
Allow group SuperPlaneIntegration to manage cloudevents-rules in tenancy
Allow group SuperPlaneIntegration to manage autonomous-database-family in tenancy
Allow service cloudEvents to use ons-topics in tenancy

Part 3 — Generate API Keys for the Service User and Connect to SuperPlane

Section titled “Part 3 — Generate API Keys for the Service User and Connect to SuperPlane”
  1. Go to MenuIdentity & Security → Domains → Default → User Management → Users.
  2. Choose the service user you created, then go to API Keys → Add API Key.
  3. Select Generate API key pair, download the private key file and then click Add.
  4. Copy the Configuration File Preview values that appear to the UI:
    • User OCID (begins with ocid1.user.)
    • Fingerprint (e.g. 12:34:56:…)
    • Tenancy OCID (begins with ocid1.tenancy.)
  5. Select the Region that matches your OCI tenancy’s home region.
  6. Open the downloaded private key file and paste its full contents into the Private Key field.
  7. Click Connect to validate the credentials and save the integration.

The On Compute Instance Created trigger starts a workflow execution whenever an OCI Compute instance launch completes.

When the OCI integration is set up, SuperPlane automatically creates a shared OCI Notifications (ONS) topic and a tenancy-level OCI Events rule that forwards com.oraclecloud.computeapi.launchinstance.end events to that topic. When this trigger is added to a workflow, SuperPlane subscribes your workflow webhook to that topic and filters deliveries to the configured compartment — no manual OCI configuration is required.

  • Compartment: The compartment to monitor for new Compute instances.

Each event payload includes:

  • eventTypecom.oraclecloud.computeapi.launchinstance.end
  • data.resourceId — the instance OCID
  • data.resourceName — the instance display name
  • data.compartmentId — the compartment OCID
  • data.availabilityDomain — the availability domain
  • eventTime — ISO-8601 timestamp of the event
{
"data": {
"cloudEventsVersion": "0.1",
"contentType": "application/json",
"data": {
"additionalDetails": {
"imageId": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz1234567890ab",
"shape": "VM.Standard.E2.1.Micro",
"type": "CustomerVmi"
},
"availabilityDomain": "EXAMPLE:EU-FRANKFURT-1-AD-1",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz1234567890",
"compartmentName": "root",
"definedTags": {},
"freeformTags": {},
"resourceId": "ocid1.instance.oc1.eu-frankfurt-1.aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz1234567890cd",
"resourceName": "my-instance"
},
"eventID": "00000000-0000-0000-0000-000000000000",
"eventTime": "2026-01-01T00:00:00Z",
"eventType": "com.oraclecloud.computeapi.launchinstance.end",
"eventTypeVersion": "2.0",
"extensions": {
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz1234567890"
},
"source": "ComputeApi"
},
"timestamp": "2026-01-01T00:00:05Z",
"type": "oci.onComputeInstanceCreated"
}

The On Instance State Change trigger starts a workflow execution whenever an Oracle Cloud Infrastructure Compute instance completes a power or termination operation.

When the OCI integration is set up, SuperPlane creates a shared OCI Notifications (ONS) topic and a tenancy-level OCI Events rule that forwards Compute instance power and termination events to that topic. When this trigger is added to a workflow, SuperPlane subscribes your workflow webhook to that topic and filters deliveries to the configured compartment and selected state changes — no separate Events rule is created per trigger.

  • Compartment: The compartment to monitor for Compute instance state changes.
  • State Changes: Optional list of state changes to emit. Leave empty to emit all supported state changes.

Each event payload includes:

  • eventType — the OCI Compute API event type, such as com.oraclecloud.computeapi.instanceaction.end
  • data.resourceId — the instance OCID
  • data.resourceName — the instance display name
  • data.compartmentId — the compartment OCID
  • data.availabilityDomain — the availability domain
  • data.additionalDetails.instanceActionType — the completed power action, such as start, stop, or softstop
  • eventTime — ISO-8601 timestamp of the event
{
"data": {
"cloudEventsVersion": "0.1",
"contentType": "application/json",
"data": {
"additionalDetails": {
"imageId": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaa4ktlslmw2fqu5trx2xk3rnnqozgstuqutjm3ffusi6juo3ef4zaq",
"instanceActionType": "stop",
"shape": "VM.Standard.E2.1.Micro",
"type": "CustomerVmi"
},
"availabilityDomain": "pYRG:EU-FRANKFURT-1-AD-3",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaaorle4tqd7rmhv2w7h37k32u6bskjrsnbnfem6i7qjupvexidmwpq",
"compartmentName": "root",
"definedTags": {},
"freeformTags": {},
"resourceId": "ocid1.instance.oc1.eu-frankfurt-1.antheljthvjhcwice6b33efkswzlk56zv4n5rcnb7xf4gsdlvuqlihvszjlq",
"resourceName": "test-instance-12"
},
"eventID": "8fc0df4c-ea5d-4438-a817-db7fa6440b8a",
"eventTime": "2026-04-22T20:34:54Z",
"eventType": "com.oraclecloud.computeapi.instanceaction.end",
"eventTypeVersion": "2.0",
"extensions": {
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaaorle4tqd7rmhv2w7h37k32u6bskjrsnbnfem6i7qjupvexidmwpq"
},
"source": "ComputeApi"
},
"timestamp": "2026-04-22T20:35:05.079372195Z",
"type": "oci.onInstanceStateChange"
}

The Create Application component creates a new Oracle Cloud Infrastructure Functions application.

  • Serverless environment provisioning: Create application containers as part of a deployment workflow
  • Environment lifecycle management: Automatically create application environments for each release
  • Compartment: The compartment where the application will be created
  • Display Name: A human-readable name for the application
  • Subnet OCIDs: One or more subnet OCIDs (comma-separated) for the application’s VCN configuration

Emits the created application details including:

  • applicationId — application OCID
  • displayName — application name
  • lifecycleState — current state (ACTIVE)
  • compartmentId — the compartment OCID
  • timeCreated — ISO-8601 creation timestamp
{
"data": {
"applicationId": "ocid1.fnapp.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz1234567890",
"displayName": "my-functions-app",
"lifecycleState": "ACTIVE",
"timeCreated": "2026-04-22T20:31:25.145Z"
},
"timestamp": "2026-04-22T20:31:58.249783188Z",
"type": "oci.applicationCreated"
}

The Create Compute Instance component provisions a new Oracle Cloud Infrastructure Compute instance and waits until it reaches RUNNING state before emitting.

  • Environment provisioning: Spin up instances as part of deployment or testing workflows
  • On-demand compute: Launch instances when triggered by events in other systems
  • Auto-scaling workflows: Create additional capacity in response to metrics or alerts
  • Compartment OCID: The compartment where the instance will be created
  • Availability Domain: The OCI availability domain (e.g. Uocm:PHX-AD-1)
  • Display Name: Human-readable name for the instance
  • Shape: Compute shape (e.g. VM.Standard.E4.Flex, VM.Standard2.1)
  • Image OCID: OCID of the platform or custom image to boot from
  • Subnet OCID: OCID of the subnet where the primary VNIC will be placed
  • SSH Public Key: Optional SSH public key added to ~/.ssh/authorized_keys on the instance
  • OCPUs / Memory: For flex shapes, the number of OCPUs and memory in GB

Emits the created instance details on the default output channel, including:

  • instanceId — instance OCID
  • displayName — instance display name
  • lifecycleState — should be RUNNING
  • publicIp — public IP address (if assigned)
  • privateIp — primary private IP address
  • shape — the instance shape
  • availabilityDomain — the availability domain
  • compartmentId — the compartment OCID
  • region — the region
  • timeCreated — ISO-8601 creation timestamp
{
"data": {
"availabilityDomain": "XXXX:eu-frankfurt-1-AD-1",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz1234567890",
"displayName": "test-instance-12",
"instanceId": "ocid1.instance.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"lifecycleState": "RUNNING",
"privateIp": "10.0.0.17",
"publicIp": "192.0.2.1",
"region": "eu-frankfurt-1",
"shape": "VM.Standard.E2.1.Micro",
"timeCreated": "2026-04-22T20:31:25.145Z"
},
"timestamp": "2026-04-22T20:31:58.249783188Z",
"type": "oci.computeInstanceCreated"
}

The Create Function component deploys a new serverless function within an existing OCI Functions application.

  • Continuous deployment: Automatically deploy new function versions as part of a CI/CD pipeline
  • Serverless provisioning: Create functions on-demand as part of environment setup workflows
  • Compartment: The compartment containing the application
  • Application: The application to deploy the function into
  • Display Name: A human-readable name for the function
  • Image: The container image URI (e.g. phx.ocir.io/namespace/repo/image:tag)
  • Memory (MB): Memory allocated to the function (minimum 128 MB)
  • Timeout (seconds): Optional maximum execution time in seconds

Emits the created function details including:

  • functionId — function OCID
  • displayName — function name
  • applicationId — parent application OCID
  • image — the container image
  • invokeEndpoint — the HTTPS endpoint used to invoke the function
  • memoryInMBs — memory allocated in megabytes
  • lifecycleState — current state
  • timeCreated — ISO-8601 creation timestamp
{
"data": {
"applicationId": "ocid1.fnapp.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"displayName": "my-function",
"functionId": "ocid1.fnfunc.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"image": "phx.ocir.io/mynamespace/myrepo/myfunction:0.0.1",
"invokeEndpoint": "https://aabbccddeeff.call.eu-frankfurt-1.oci.oraclecloud.com",
"lifecycleState": "ACTIVE",
"memoryInMBs": 256,
"timeCreated": "2026-04-22T20:33:10.512Z"
},
"timestamp": "2026-04-22T20:33:11.102345678Z",
"type": "oci.functionCreated"
}

The Create Image component creates an OCI Compute boot disk image.

  • Golden image pipelines: Bake reusable server images from configured instances
  • Environment promotion: Import exported images from Object Storage into a target compartment
  • Backup workflows: Capture a known-good instance image before a risky change
  • Source Type: Create from an instance, import from an Object Storage URL, or import from a bucket object
  • Compartment: Compartment where the image is created
  • Display Name: Friendly name for the image
  • Instance OCID: Source instance when creating from an instance
  • Source Image Type: Image format for imported images, such as QCOW2, VMDK, or OCI
  • Namespace, Bucket, Object: Object Storage location when importing from a bucket object
  • Tags: Optional freeform tags to apply to the image

The component waits for the image to reach AVAILABLE before emitting.

{
"data": {
"image": {
"baseImageId": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaBaseImageExample",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"createImageAllowed": true,
"displayName": "app-golden-image-2026-04-28",
"id": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaImageExample1234567890abcdefghijklmnopqrstuvwxyz",
"launchMode": "PARAVIRTUALIZED",
"lifecycleState": "AVAILABLE",
"operatingSystem": "Oracle Linux",
"operatingSystemVersion": "8",
"sizeInMBs": 51200,
"timeCreated": "2026-04-28T09:12:42.000Z"
}
},
"timestamp": "2026-04-28T09:15:12.000Z",
"type": "oci.image"
}

The Delete Application component removes an Oracle Cloud Infrastructure Functions application.

Important: OCI will reject the deletion with a 409 Conflict if the application still contains functions. You must delete all functions inside the application (using the Delete Function component) before using this component.

  • Compartment: The compartment containing the application
  • Application: The application to delete. The application must have no remaining functions.

Emits the deleted application ID on the default output channel:

  • applicationId — OCID of the deleted application
  • deleted — boolean confirming deletion
  • displayName — name of the deleted application
{
"data": {
"applicationId": "ocid1.fnapp.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"deleted": true,
"displayName": "my-functions-app"
},
"timestamp": "2026-04-22T20:35:00.000000000Z",
"type": "oci.applicationDeleted"
}

The Delete Function component removes a function from an Oracle Cloud Infrastructure Functions application.

  • Compartment: The compartment containing the application
  • Application: The application that owns the function
  • Function: The function to delete

Emits the deleted function ID on the default output channel:

  • functionId — OCID of the deleted function
  • deleted — boolean confirming deletion
{
"data": {
"deleted": true,
"functionId": "ocid1.fnfunc.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz"
},
"timestamp": "2026-04-22T20:36:00.000000000Z",
"type": "oci.functionDeleted"
}

The Delete Image component deletes an OCI Compute custom image. Oracle-provided platform images cannot be deleted.

  • Cleanup workflows: Remove obsolete custom images
  • Quota management: Delete old images before creating new ones
  • Security response: Retire vulnerable images from automated provisioning
{
"data": {
"deletedAt": "2026-04-28T09:20:00Z",
"imageId": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaImageExample1234567890abcdefghijklmnopqrstuvwxyz",
"state": "DELETED"
},
"timestamp": "2026-04-28T09:20:00Z",
"type": "oci.imageDeleted"
}

The Delete Instance component terminates an Oracle Cloud Infrastructure Compute instance and waits until OCI reports it as terminated.

  • Cleanup workflows: Tear down temporary instances after a test or deployment finishes
  • Cost controls: Delete unused Compute instances from automation
  • Incident remediation: Terminate compromised or unhealthy instances after replacement capacity exists
  • Instance: The OCI Compute instance to terminate.
  • Preserve Boot Volume: When enabled, OCI preserves the boot volume after instance termination.

Emits a minimal deletion payload on the default output channel:

  • instanceId — instance OCID
  • lifecycleStateTERMINATED
{
"data": {
"instanceId": "ocid1.instance.oc1.eu-frankfurt-1.aaaaExample1234567890",
"lifecycleState": "TERMINATED"
},
"timestamp": "2026-04-22T20:40:00.000Z",
"type": "oci.deleteInstance"
}

The Get Image component retrieves metadata for an OCI Compute custom image. Oracle-provided platform images are not returned by this component.

  • Deployment checks: Verify that an image is available before launching instances
  • Traceability: Resolve image details by OCID
  • Audit workflows: Capture operating system, launch mode, and lifecycle state metadata
{
"data": {
"image": {
"baseImageId": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaBaseImageExample",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"createImageAllowed": true,
"displayName": "app-golden-image-2026-04-28",
"id": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaImageExample1234567890abcdefghijklmnopqrstuvwxyz",
"launchMode": "PARAVIRTUALIZED",
"lifecycleState": "AVAILABLE",
"operatingSystem": "Oracle Linux",
"operatingSystemVersion": "8",
"sizeInMBs": 51200,
"timeCreated": "2026-04-28T09:12:42.000Z"
}
},
"timestamp": "2026-04-28T09:16:00.000Z",
"type": "oci.image"
}

The Get Instance component fetches the latest details for an Oracle Cloud Infrastructure Compute instance.

  • Inventory checks: Read instance state, shape, region, and network addresses during a workflow
  • Deployment gates: Verify a target instance exists and is in the expected lifecycle state
  • Audit workflows: Capture instance metadata before another operation runs
  • Instance: The OCI Compute instance to fetch.

Emits the instance details on the default output channel, including:

  • instanceId — instance OCID
  • displayName — instance display name
  • lifecycleState — current lifecycle state
  • publicIp — public IP address, if assigned
  • privateIp — primary private IP address, if available
  • shape — the instance shape
  • availabilityDomain — the availability domain
  • compartmentId — the compartment OCID
  • region — the region
  • timeCreated — ISO-8601 creation timestamp
{
"data": {
"availabilityDomain": "XXXX:eu-frankfurt-1-AD-1",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890",
"displayName": "test-instance-12",
"instanceId": "ocid1.instance.oc1.eu-frankfurt-1.aaaaExample1234567890",
"lifecycleState": "RUNNING",
"privateIp": "10.0.0.17",
"publicIp": "192.0.2.1",
"region": "eu-frankfurt-1",
"shape": "VM.Standard.E2.1.Micro",
"timeCreated": "2026-04-22T20:31:25.145Z"
},
"timestamp": "2026-04-22T20:32:00.000Z",
"type": "oci.getInstance"
}

The Invoke Function component executes an Oracle Cloud Infrastructure serverless function and emits its response.

  • Data transformation: Invoke a function to process or transform data mid-workflow
  • Custom logic: Run arbitrary serverless code as a workflow step
  • Integration hooks: Call a function to trigger external systems
  • Compartment: The compartment containing the application
  • Application: The application that owns the function
  • Function: The function to invoke
  • Payload: Optional JSON or plain-text body sent to the function

Emits the function response on the default output channel:

  • functionId — OCID of the invoked function
  • statusCode — HTTP status code returned by the function runtime
  • response — raw response body as a string
{
"data": {
"functionId": "ocid1.fnfunc.oc1.eu-frankfurt-1.aaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"response": "{\"result\": \"ok\", \"processed\": 42}",
"statusCode": 200
},
"timestamp": "2026-04-22T20:34:05.987654321Z",
"type": "oci.functionInvoked"
}

The Manage Instance Power component performs a power lifecycle action on an Oracle Cloud Infrastructure Compute instance and waits for the target state.

  • Scheduled shutdowns: Stop instances outside business hours to reduce cost
  • Recovery workflows: Reset or soft-reset an instance after an incident
  • Startup automation: Start instances before a deployment, test, or maintenance workflow runs
  • Instance: The OCI Compute instance.
  • Action: One of START, STOP, SOFTSTOP, RESET, or SOFTRESET.

Emits the instance details on the default output channel once the instance reaches the expected lifecycle state:

  • instanceId — instance OCID
  • displayName — instance display name
  • lifecycleStateRUNNING for start/reset actions, or STOPPED for stop actions
  • shape — the instance shape
  • availabilityDomain — the availability domain
  • compartmentId — the compartment OCID
  • region — the region
  • timeCreated — ISO-8601 creation timestamp
{
"data": {
"availabilityDomain": "XXXX:eu-frankfurt-1-AD-1",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890",
"displayName": "test-instance-12",
"instanceId": "ocid1.instance.oc1.eu-frankfurt-1.aaaaExample1234567890",
"lifecycleState": "STOPPED",
"region": "eu-frankfurt-1",
"shape": "VM.Standard.E2.1.Micro",
"timeCreated": "2026-04-22T20:31:25.145Z"
},
"timestamp": "2026-04-22T20:35:00.000Z",
"type": "oci.manageInstancePower"
}

The Update Image component updates the display name of an OCI Compute custom image. Oracle-provided platform images cannot be updated.

  • Release promotion: Rename an image after validation
  • Operational cleanup: Standardize image names
  • Inventory hygiene: Keep image metadata readable in automated workflows
{
"data": {
"image": {
"baseImageId": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaBaseImageExample",
"compartmentId": "ocid1.compartment.oc1..aaaaaaaExample1234567890abcdefghijklmnopqrstuvwxyz",
"createImageAllowed": true,
"displayName": "app-golden-image-production",
"id": "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaImageExample1234567890abcdefghijklmnopqrstuvwxyz",
"launchMode": "PARAVIRTUALIZED",
"lifecycleState": "AVAILABLE",
"operatingSystem": "Oracle Linux",
"operatingSystemVersion": "8",
"sizeInMBs": 51200,
"timeCreated": "2026-04-28T09:12:42.000Z"
}
},
"timestamp": "2026-04-28T09:18:00.000Z",
"type": "oci.image"
}

The Update Instance component updates mutable attributes on an Oracle Cloud Infrastructure Compute instance.

  • Rename instances: Update the display name for operational clarity
  • Resize flex shapes: Adjust OCPUs or memory for supported flexible shapes
  • Post-provisioning changes: Apply instance settings after a workflow decides the desired capacity
  • Instance: The OCI Compute instance to update.
  • Display Name: Optional new display name.
  • OCPUs: Optional OCPU count for flexible shapes.
  • Memory (GB): Optional memory size for flexible shapes.

Emits the updated instance details on the default output channel, including:

  • instanceId — instance OCID
  • displayName — instance display name
  • lifecycleState — current lifecycle state
  • publicIp — public IP address, if assigned
  • privateIp — primary private IP address, if available
  • shape — the instance shape
  • availabilityDomain — the availability domain
  • compartmentId — the compartment OCID
  • region — the region
  • timeCreated — ISO-8601 creation timestamp
{
"data": {
"availabilityDomain": "XXXX:eu-frankfurt-1-AD-1",
"compartmentId": "ocid1.tenancy.oc1..aaaaaaaExample1234567890",
"displayName": "test-instance-renamed",
"instanceId": "ocid1.instance.oc1.eu-frankfurt-1.aaaaExample1234567890",
"lifecycleState": "RUNNING",
"privateIp": "10.0.0.17",
"publicIp": "192.0.2.1",
"region": "eu-frankfurt-1",
"shape": "VM.Standard.E2.1.Micro",
"timeCreated": "2026-04-22T20:31:25.145Z"
},
"timestamp": "2026-04-22T20:33:00.000Z",
"type": "oci.updateInstance"
}