{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-scaled-blockchain-platform-preview-schema.json", "title": "ScaledBlockchainPlatformPreview", "description": "Blockchain Platform Instance Description Preview after Scaling.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/oracle-blockchainplatform-api-openapi.yml#/components/schemas/ScaledBlockchainPlatformPreview", "properties": { "compartmentId": { "description": "Compartment Identifier", "type": "string" }, "componentDetails": { "$ref": "#/$defs/BlockchainPlatformComponentDetails" }, "componentDetailsPostScaling": { "$ref": "#/$defs/BlockchainPlatformComponentDetails" }, "computeShape": { "description": "Compute shape - STANDARD or ENTERPRISE_SMALL or ENTERPRISE_MEDIUM or ENTERPRISE_LARGE or ENTERPRISE_EXTRA_LARGE or ENTERPRISE_CUSTOM", "type": "string" }, "description": { "description": "Platform Instance Description", "type": "string" }, "displayName": { "description": "Platform Instance Display name, can be renamed", "type": "string" }, "hostOcpuUtilizationInfo": { "description": "List of OcpuUtilization for all hosts", "items": { "$ref": "#/$defs/OcpuUtilizationInfo" }, "type": "array" }, "hostOcpuUtilizationInfoPostScaling": { "description": "List of OcpuUtilization for all hosts after scaling", "items": { "$ref": "#/$defs/OcpuUtilizationInfo" }, "type": "array" }, "id": { "description": "unique identifier that is immutable on creation", "type": "string" }, "meteringPreview": { "$ref": "#/$defs/ScaledPlatformMeteringPreview" }, "newVmCount": { "description": "Number of new VMs that would be created", "type": "integer" }, "replicas": { "$ref": "#/$defs/ReplicaDetails" }, "replicasPostScaling": { "$ref": "#/$defs/ReplicaDetails" }, "scalePayload": { "$ref": "#/$defs/ScaleBlockchainPlatformDetails" }, "storageSizeInTBs": { "description": "Storage size in TBs", "format": "double", "type": "number" }, "storageSizeInTBsPostScaling": { "description": "Storage size in TBs post scaling", "format": "double", "type": "number" } }, "required": [ "id", "compartmentId", "displayName", "computeShape" ], "type": "object", "$defs": { "BlockchainPlatformComponentDetails": { "description": "Blockchain Platform component details.", "properties": { "osns": { "description": "List of OSNs", "items": { "$ref": "#/$defs/Osn" }, "type": "array" }, "peers": { "description": "List of Peers", "items": { "$ref": "#/$defs/Peer" }, "type": "array" } }, "type": "object" }, "CreateOsnDetails": { "description": "The Ordering Service Node details to be added", "properties": { "ad": { "description": "Availability Domain to place new OSN", "type": "string", "x-obmcs-enumref": "#/definitions/AvailabilityDomain/ads" }, "ocpuAllocationParam": { "$ref": "#/$defs/OcpuAllocationNumberParam" } }, "required": [ "ad" ], "type": "object" }, "CreatePeerDetails": { "description": "The Peer details to be added", "properties": { "ad": { "description": "Availability Domain to place new peer", "type": "string", "x-obmcs-enumref": "#/definitions/AvailabilityDomain/ads" }, "alias": { "description": "peer alias", "maxLength": 16, "minLength": 1, "type": "string" }, "ocpuAllocationParam": { "$ref": "#/$defs/OcpuAllocationNumberParam" }, "role": { "description": "Peer role", "type": "string", "x-obmcs-enumref": "#/definitions/PeerRole/role" } }, "required": [ "role", "ocpuAllocationParam", "ad" ], "type": "object" }, "ModifyPeerDetails": { "description": "peer to modify ocpu allocation", "properties": { "ocpuAllocationParam": { "$ref": "#/$defs/OcpuAllocationNumberParam" }, "peerName": { "description": "peer identifier", "maxLength": 64, "minLength": 1, "type": "string" } }, "required": [ "peerName", "ocpuAllocationParam" ], "type": "object" }, "OcpuAllocationNumberParam": { "description": "OCPU allocation parameter", "properties": { "ocpuAllocationNumber": { "description": "Number of OCPU allocation", "format": "float", "maximum": 64, "minimum": 0, "type": "number" } }, "required": [ "ocpuAllocationNumber" ], "type": "object" }, "OcpuUtilizationInfo": { "description": "Ocpu utilization for a VM host", "properties": { "host": { "description": "Host name of VM", "type": "string" }, "ocpuCapacityNumber": { "description": "Number of total OCPU capacity on the host", "format": "float", "type": "number" }, "ocpuUtilizationNumber": { "description": "Number of OCPU utilized", "format": "float", "type": "number" } }, "type": "object" }, "Osn": { "description": "An Ordering Service Node details", "properties": { "ad": { "description": "Availability Domain of OSN", "type": "string", "x-obmcs-enumref": "#/definitions/AvailabilityDomain/ads" }, "lifecycleState": { "description": "The current state of the OSN.", "enum": [ "ACTIVE", "INACTIVE", "FAILED" ], "type": "string" }, "ocpuAllocationParam": { "$ref": "#/$defs/OcpuAllocationNumberParam" }, "osnKey": { "description": "OSN identifier", "maxLength": 255, "minLength": 1, "type": "string" } }, "required": [ "osnKey", "ad" ], "type": "object" }, "Peer": { "description": "A Peer details", "properties": { "ad": { "description": "Availability Domain of peer", "type": "string", "x-obmcs-enumref": "#/definitions/AvailabilityDomain/ads" }, "alias": { "description": "peer alias", "type": "string" }, "host": { "description": "Host on which the Peer exists", "type": "string" }, "lifecycleState": { "description": "The current state of the peer.", "enum": [ "ACTIVE", "INACTIVE", "FAILED" ], "type": "string" }, "ocpuAllocationParam": { "$ref": "#/$defs/OcpuAllocationNumberParam" }, "peerKey": { "description": "peer identifier", "maxLength": 255, "minLength": 1, "type": "string" }, "role": { "description": "Peer role", "type": "string", "x-obmcs-enumref": "#/definitions/PeerRole/role" } }, "required": [ "peerKey", "role", "host", "ad" ], "type": "object" }, "ReplicaDetails": { "description": "Number of replicas of service components like Rest Proxy, CA and Console", "properties": { "caCount": { "description": "Number of CA replicas", "maximum": 10, "minimum": 1, "type": "integer" }, "consoleCount": { "description": "Number of console replicas", "maximum": 10, "minimum": 1, "type": "integer" }, "proxyCount": { "description": "Number of REST proxy replicas", "maximum": 10, "minimum": 1, "type": "integer" } }, "type": "object" }, "ScaleBlockchainPlatformDetails": { "description": "Scale operation details for a blockchain platform. The scale operation payload has multiple options\n- Add one or more Ordering Service Node (addOsns)\n- Add one or more Peers (addPeers)\n- Add more replicas of CA, Console and Rest Proxy (addReplicas)\n- Add more storage to the platform (addStorage)\n- Modify the CPU allocation for Peer Nodes (modifyPeers)\n- Remove one or more replicas of CA, Console and Rest Proxy (removeReplicas)\n- Remove one or more Ordering Service Node (removeOsns)\n- Remove one or more Peers (removePeers).\nThe scale operation payload must have at least one of the above options.\n", "properties": { "addOsns": { "description": "new OSNs to add", "items": { "$ref": "#/$defs/CreateOsnDetails" }, "type": "array" }, "addPeers": { "description": "new Peers to add", "items": { "$ref": "#/$defs/CreatePeerDetails" }, "type": "array" }, "addReplicas": { "$ref": "#/$defs/ReplicaDetails" }, "addStorage": { "$ref": "#/$defs/ScaleStorageDetails" }, "modifyPeers": { "description": "modify ocpu allocation to existing Peers", "items": { "$ref": "#/$defs/ModifyPeerDetails" }, "type": "array" }, "removeOsns": { "description": "OSN id list to remove", "items": { "type": "string" }, "type": "array" }, "removePeers": { "description": "Peer id list to remove", "items": { "type": "string" }, "type": "array" }, "removeReplicas": { "$ref": "#/$defs/ReplicaDetails" } }, "type": "object" }, "ScaleStorageDetails": { "description": "storage size to increase", "properties": { "storageSizeInTBs": { "description": "Storage size in TBs", "maximum": 96, "minimum": 1, "type": "integer" } }, "required": [ "storageSizeInTBs" ], "type": "object" }, "ScaledPlatformMeteringPreview": { "description": "Blockchain Platform Metering Preview after Scaling", "properties": { "extraStorageMeteredUnits": { "description": "Extra Storage units required in TBs", "format": "double", "type": "number" }, "storageMeteredUnits": { "description": "Current Storage metered units in TBs", "format": "double", "type": "number" }, "storageMeteredUnitsPostScaling": { "description": "Total Post Scaling Storage metered units in TBs", "format": "double", "type": "number" }, "totalOcpuAllocation": { "description": "Number of total OCPU allocation for the blockchain platform", "format": "float", "type": "number" }, "totalOcpuAllocationPostScaling": { "description": "Number of total OCPU allocation for the blockchain platform after Scaling", "format": "float", "type": "number" } }, "type": "object" } } }