Bastion
A bastion resource. A bastion provides secured, public access to target resources in the cloud that you cannot otherwise reach from the internet. A bastion resides in a public subnet and establishes the network infrastructure needed to connect a user to a target resource in a private subnet.
Properties
| Name | Type | Description |
|---|---|---|
| bastionType | string | The type of bastion. |
| clientCidrBlockAllowList | array | A list of address ranges in CIDR notation that you want to allow to connect to sessions hosted by this bastion. |
| compartmentId | string | The unique identifier (OCID) of the compartment where the bastion is located. |
| definedTags | object | Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` |
| dnsProxyStatus | string | The current dns proxy status of the bastion. |
| freeformTags | object | Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` |
| id | string | The unique identifier (OCID) of the bastion, which can't be changed after creation. |
| lifecycleDetails | string | A message describing the current state in more detail. |
| lifecycleState | string | The current state of the bastion. |
| maxSessionTtlInSeconds | integer | The maximum amount of time that any session on the bastion can remain active. |
| maxSessionsAllowed | integer | The maximum number of active sessions allowed on the bastion. |
| name | string | The name of the bastion, which can't be changed after creation. |
| phoneBookEntry | string | The phonebook entry of the customer's team, which can't be changed after creation. Not applicable to `standard` bastions. |
| privateEndpointIpAddress | string | The private IP address of the created private endpoint. |
| staticJumpHostIpAddresses | array | A list of IP addresses of the hosts that the bastion has access to. Not applicable to `standard` bastions. |
| systemTags | object | Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` |
| targetSubnetId | string | The unique identifier (OCID) of the subnet that the bastion connects to. |
| targetVcnId | string | The unique identifier (OCID) of the virtual cloud network (VCN) that the bastion connects to. |
| timeCreated | string | The time the bastion was created. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` |
| timeUpdated | string | The time the bastion was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-bastion-schema.json",
"title": "Bastion",
"description": "A bastion resource. A bastion provides secured, public access to target resources in the cloud that you cannot otherwise reach from the internet. A bastion resides in a public subnet and establishes the network infrastructure needed to connect a user to a target resource in a private subnet.",
"x-generated": "2026-10-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/oracle-bastion-api-openapi.yml#/components/schemas/Bastion",
"properties": {
"bastionType": {
"description": "The type of bastion.",
"type": "string"
},
"clientCidrBlockAllowList": {
"description": "A list of address ranges in CIDR notation that you want to allow to connect to sessions hosted by this bastion.",
"items": {
"type": "string"
},
"type": "array"
},
"compartmentId": {
"description": "The unique identifier (OCID) of the compartment where the bastion is located.",
"type": "string"
},
"definedTags": {
"additionalProperties": {
"additionalProperties": {
"description": "The value of the tag. Only string, integer and boolean types are supported.\n",
"type": "object"
},
"description": "Key-value pair representing predefined tags' keys and values scoped to a namespace.\nExample: `{\"bar-key\": \"value\"}`\n",
"type": "object"
},
"description": "Defined tags for this resource. Each key is predefined and scoped to a namespace.\nExample: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`\n",
"type": "object"
},
"dnsProxyStatus": {
"description": "The current dns proxy status of the bastion.",
"enum": [
"DISABLED",
"ENABLED"
],
"type": "string",
"x-obmcs-top-level-enum": "#/definitions/BastionDnsProxyStatus"
},
"freeformTags": {
"additionalProperties": {
"type": "string"
},
"description": "Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.\nExample: `{\"bar-key\": \"value\"}`\n",
"type": "object"
},
"id": {
"description": "The unique identifier (OCID) of the bastion, which can't be changed after creation.",
"type": "string"
},
"lifecycleDetails": {
"description": "A message describing the current state in more detail.",
"type": "string",
"x-default-description": "null"
},
"lifecycleState": {
"description": "The current state of the bastion.",
"enum": [
"CREATING",
"UPDATING",
"ACTIVE",
"DELETING",
"DELETED",
"FAILED"
],
"type": "string",
"x-obmcs-top-level-enum": "#/definitions/BastionLifecycleState"
},
"maxSessionTtlInSeconds": {
"description": "The maximum amount of time that any session on the bastion can remain active.",
"type": "integer"
},
"maxSessionsAllowed": {
"description": "The maximum number of active sessions allowed on the bastion.",
"type": "integer"
},
"name": {
"description": "The name of the bastion, which can't be changed after creation.",
"type": "string"
},
"phoneBookEntry": {
"description": "The phonebook entry of the customer's team, which can't be changed after creation. Not applicable to `standard` bastions.\n",
"type": "string"
},
"privateEndpointIpAddress": {
"description": "The private IP address of the created private endpoint.",
"type": "string"
},
"staticJumpHostIpAddresses": {
"description": "A list of IP addresses of the hosts that the bastion has access to. Not applicable to `standard` bastions.\n",
"items": {
"type": "string"
},
"type": "array"
},
"systemTags": {
"additionalProperties": {
"additionalProperties": {
"description": "The value of the tag. Only string, integer and boolean types are supported.\n",
"type": "object"
},
"description": "Key-value pair representing system tags' keys and values scoped to a namespace.\nExample: `{\"bar-key\": \"value\"}`\n",
"type": "object"
},
"description": "Usage of system tag keys. These predefined keys are scoped to namespaces.\nExample: `{\"orcl-cloud\": {\"free-tier-retained\": \"true\"}}`\n",
"type": "object"
},
"targetSubnetId": {
"description": "The unique identifier (OCID) of the subnet that the bastion connects to.",
"type": "string"
},
"targetVcnId": {
"description": "The unique identifier (OCID) of the virtual cloud network (VCN) that the bastion connects to.",
"type": "string"
},
"timeCreated": {
"description": "The time the bastion was created. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339).\nExample: `2020-01-25T21:10:29.600Z`\n",
"format": "date-time",
"type": "string"
},
"timeUpdated": {
"description": "The time the bastion was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339).\nExample: `2020-01-25T21:10:29.600Z`\n",
"format": "date-time",
"type": "string",
"x-default-description": "null"
}
},
"required": [
"id",
"name",
"compartmentId",
"targetVcnId",
"targetSubnetId",
"lifecycleState",
"timeCreated",
"maxSessionTtlInSeconds",
"bastionType"
],
"type": "object"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/oracle-bastion"
curl "https://apis.io/api/v1/json-schemas?limit=25"
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.
A second provider on the same verified email joins the account you already have.