CreateBastionDetails
The configuration details for a new bastion. 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. Use `standard`. |
| 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 desired 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"}` |
| maxSessionTtlInSeconds | integer | The maximum amount of time that any session on the bastion can remain active. |
| 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. |
| staticJumpHostIpAddresses | array | A list of IP addresses of the hosts that the bastion has access to. Not applicable to `standard` bastions. |
| targetSubnetId | string | The unique identifier (OCID) of the subnet that the bastion connects to. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-create-bastion-details-schema.json",
"title": "CreateBastionDetails",
"description": "The configuration details for a new bastion. 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/CreateBastionDetails",
"properties": {
"bastionType": {
"description": "The type of bastion. Use `standard`.\n",
"type": "string",
"x-default-description": "this field will determine what kind of bastion to create"
},
"clientCidrBlockAllowList": {
"description": "A list of address ranges in CIDR notation that you want to allow to connect to sessions hosted by this bastion.",
"items": {
"maxLength": 32,
"minLength": 1,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"compartmentId": {
"description": "The unique identifier (OCID) of the compartment where the bastion is located.",
"maxLength": 100,
"minLength": 1,
"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 desired 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"
},
"maxSessionTtlInSeconds": {
"default": 10800,
"description": "The maximum amount of time that any session on the bastion can remain active.",
"maximum": 10800,
"minimum": 1800,
"type": "integer"
},
"name": {
"description": "The name of the bastion, which can't be changed after creation.",
"maxLength": 255,
"minLength": 1,
"pattern": "^[a-zA-Z_](-?[a-zA-Z_0-9])*$",
"type": "string",
"x-default-description": "this field will be unique per region per tenancy"
},
"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"
},
"staticJumpHostIpAddresses": {
"description": "A list of IP addresses of the hosts that the bastion has access to. Not applicable to `standard` bastions.\n",
"items": {
"maxLength": 32,
"minLength": 1,
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"type": "array"
},
"targetSubnetId": {
"description": "The unique identifier (OCID) of the subnet that the bastion connects to.",
"maxLength": 255,
"minLength": 1,
"type": "string"
}
},
"required": [
"compartmentId",
"targetSubnetId",
"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-create-bastion-details"
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.