Oracle Bastion API

The bastion API from Oracle — 9 operation(s) for bastion.

Documentation

📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/access-governance-cp/20220518/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/adm/20220421/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/advisor/20200606/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/ai-data-platform/20240831/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/analytics/20190331/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/announcements/0.0.1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/api-gateway/20190501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-config/20210201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-control-plane/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-synthetic-monitoring/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-trace-explorer/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/audit/20190901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/autoscaling/20181001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/bastion/20210331/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/batch/20251031/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/bigdata/20190531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/blockchain/20191010/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/budgets/20190111/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/certificates/20210224/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/certificatesmgmt/20210224/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/cloud-guard/20200131/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/clusterplacementgroups/20230801/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/compute-cloud-at-customer/20221208/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/container-instances/20210415/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/container-registry/20180419/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/cost-anomaly/20190111/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/dashboard/20210731/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-catalog/20190325/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-flow/20200129/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-integration/20200430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-safe/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-science/20190101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-management/20201101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-migration/20230518/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-multicloud-integrations/20240501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-tools/20201005/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-tools-runtime/20230222/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/datacc/20251101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/datalabeling-dp/20211001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/datalabeling/20211001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/delegate-access-control/20230801/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/devops/20210630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/digital-assistant/20190506/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/disaster-recovery/20220125/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/dms/20211101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/dns/20180115/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/document-understanding/20221109/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/edsfu/20220528/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/emaildelivery/20170907/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/emaildeliverysubmission/20220926/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/events/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/fleet-management/20250228/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/functions/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/functionsdocgenpbf/1.0/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/fusion-applications/20211201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-agents-client/20240531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-agents/20240531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-inference/20231130/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-nl2sql/20260325/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai/20231130/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generic/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/globally-distributed-database/20250101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/goldengate/20200407/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/healthchecks/20180501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/identity-domains/v1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/identity-dp/v1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/identity/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/incidentmanagement/20181231/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/instanceagent/20180530/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/integration/20190131/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/iot/20250531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/itas/v1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/jms-java-download/20230601/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/jms/20210610/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/jms-utils/20250521/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/kafka/20240901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/key/release/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/language/20221001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/licensemanager/20220430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/limits-increase/20251101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/limits/20181025/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/loadbalancer/20170115/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logan-api-spec/20200601/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logging-dataplane/20200831/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logging-management/20200531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logging-search/20190909/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/lustre/20250228/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/managed-access/20220126/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/management-agent/20200202/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/managementdashboard/20200901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/marketplace/20181001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/mngdmac/20250320/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/monitoring/20180401/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/multicloud-omhub-cp/20180828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/mysql/20190415/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/NetMonitor/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/network-firewall/20211001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/network-firewall/20230501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/networkloadbalancer/20200501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/nosql-database/20190828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/notification/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/objectstorage/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/OCB/20220509/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/occ/20230515/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/occds/20240430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/occm/20231107/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/ocicache/20220315/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/ocm/20220919/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/opa/20210621/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/opensearch/20180828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/operations-insights/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/operatoraccesscontrol/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/oracle-api-access-control/20241130/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/organizations/20230401/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/organizations/20200801/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/osmh/20220901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/postgresql/20220915/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/psasvc/20240301/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/publisher/20241201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/queue/20210201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/recovery-service/20210216/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/registry/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resource-analytics/20241031/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resource-discovery-monitoring-control-api/20210330/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resource-scheduler/20240430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resourcemanager/20180917/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/rover/20201210/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/s3objectstorage/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/scanning/20210215/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/search/20180409/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/secretmgmt/20180608/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/secretretrieval/20190301/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/secure-desktops/20220618/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/security-attribute/20240815/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/self/20260129/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/service-catalog/20210527/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/serviceconnectors/20200909/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/smp/20210914/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/speech/20220101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/stack-monitoring/20210330/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/streaming/20180418/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/threat-intel/20220901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/usage/20200107/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/usage-proxy/20190111/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/vision/20220125/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/visual-builder/20210601/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/visual-builder-studio/20180828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/vmware/20200501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/vmware/20230701/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/waa/20211230/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/waas/20181116/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/waf/20210930/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/wlms/20241101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/workrequests/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/zero-trust-packet-routing/20240301/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/zero-trust-packet-routing-tools/20240301/

Specifications

OpenAPI Specification

oracle-bastion-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Use the Bastion API to provide restricted and time-limited access to target resources that don't have public endpoints. Bastions let authorized users connect from specific IP addresses to target resources using Secure Shell (SSH) sessions. For more information, see [the Bastion documentation](/iaas/Content/Bastion/home.htm).
  title: Bastion API
  version: '20210331'
  x-provenance:
    method: harvested
    first_party: true
    publisher: Oracle
    source: https://docs.oracle.com/en-us/iaas/api/specs/31acb88061f5176111beb8e181c6dad2beb5f2f17de5a04802c4aedb4e37219c.yaml
    harvested: '2026-08-04'
    note: Published by Oracle as the contract for the Bastion API OCI service and stored verbatim; API Evangelist added only this provenance block.
  x-evidence:
  - url: https://docs.oracle.com/en-us/iaas/api/specs/index.json
    what: Oracle's own index of every OCI service specification
  - url: https://docs.oracle.com/en-us/iaas/api/specs/31acb88061f5176111beb8e181c6dad2beb5f2f17de5a04802c4aedb4e37219c.yaml
    what: the harvested document for Bastion API
servers:
- url: https://bastion.$region.oci.oraclecloud.com/20210331
tags:
- name: bastion
paths:
  /bastions:
    x-obmcs-client-retries-enabled: true
    get:
      description: 'Retrieves a list of BastionSummary objects in a compartment. Bastions provide secured, public access to target resources in the cloud that you cannot otherwise reach from the internet.

        '
      operationId: ListBastions
      parameters:
      - $ref: '#/components/parameters/RequestIdHeader'
      - $ref: '#/components/parameters/CompartmentIdQueryParam'
      - $ref: '#/components/parameters/BastionLifecycleStateQueryParam'
      - $ref: '#/components/parameters/BastionIdentifierOptionalQueryParam'
      - $ref: '#/components/parameters/NameQueryParam'
      - $ref: '#/components/parameters/PaginationLimitQueryParam'
      - $ref: '#/components/parameters/PaginationTokenQueryParam'
      - $ref: '#/components/parameters/SortOrderQueryParam'
      - $ref: '#/components/parameters/SortByQueryWithNameParam'
      responses:
        200:
          description: Successfully retrieved a page of BastionSummary objects.
          headers:
            opc-next-page:
              description: 'For pagination of a list of items. When paging through a list, if this header appears in the response,

                then a partial list might have been returned. Include this value as the `page` parameter for the

                subsequent GET request to get the next batch of items.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BastionSummary'
                type: array
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Retrieves a list of all bastions in a compartment.
      tags:
      - bastion
      x-related-resource: '#/definitions/Bastion'
    post:
      description: 'Creates 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.

        '
      operationId: CreateBastion
      parameters:
      - $ref: '#/components/parameters/RetryTokenHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        201:
          description: Successfully accepted the request. The bastion will be created.
          headers:
            etag:
              description: 'For optimistic concurrency control. See `if-match`.

                '
              schema:
                type: string
            location:
              description: 'this contains the full URI for the get request, e.g. "https://iaas.us-phoenix-1.oraclecloud.com/20210331/bastions/<some-ocid>"

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
            opc-work-request-id:
              description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bastion'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        409:
          $ref: '#/components/responses/409'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Creates a new bastion.
      tags:
      - bastion
      x-related-resource: '#/definitions/Bastion'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBastionDetails'
        description: Details for the new bastion.
        required: true
  /bastions/{bastionId}:
    delete:
      description: Deletes a bastion identified by the bastion ID.
      operationId: DeleteBastion
      parameters:
      - $ref: '#/components/parameters/BastionIdentifierPathParam'
      - $ref: '#/components/parameters/IfMatchHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        202:
          description: Successfully accepted the request. The bastion will be deleted.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
            opc-work-request-id:
              description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation.

                '
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        412:
          $ref: '#/components/responses/412'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Deletes a bastion.
      tags:
      - bastion
      x-related-resource: '#/definitions/Bastion'
    get:
      description: Retrieves a bastion identified by the bastion ID. A bastion provides secured, public access to target resources in the cloud that you cannot otherwise reach from the internet.
      operationId: GetBastion
      parameters:
      - $ref: '#/components/parameters/BastionIdentifierPathParam'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        200:
          description: Successfully retrieved the bastion.
          headers:
            etag:
              description: 'For optimistic concurrency control. See `if-match`.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bastion'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Retrieves a bastion.
      tags:
      - bastion
      x-obmcs-client-retries-enabled: true
    put:
      description: Updates the bastion identified by the bastion ID. A bastion provides secured, public access to target resources in the cloud that you cannot otherwise reach from the internet.
      operationId: UpdateBastion
      parameters:
      - $ref: '#/components/parameters/BastionIdentifierPathParam'
      - $ref: '#/components/parameters/IfMatchHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        202:
          description: Successfully accepted the request. The bastion will be updated.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
            opc-work-request-id:
              description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation.

                '
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        409:
          $ref: '#/components/responses/409'
        412:
          $ref: '#/components/responses/412'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Updates a bastion.
      tags:
      - bastion
      x-obmcs-client-retries-enabled: true
      x-related-resource: '#/definitions/Bastion'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBastionDetails'
        description: The bastion information to be updated.
        required: true
  /bastions/{bastionId}/actions/changeCompartment:
    x-obmcs-client-retries-enabled: true
    post:
      description: Moves a bastion into a different compartment.
      operationId: ChangeBastionCompartment
      parameters:
      - $ref: '#/components/parameters/BastionIdentifierPathParam'
      - $ref: '#/components/parameters/IfMatchHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        204:
          description: Successfully moved the bastion to the new compartment.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        409:
          $ref: '#/components/responses/409'
        412:
          $ref: '#/components/responses/412'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Moves a bastion into a different compartment.
      tags:
      - bastion
      x-related-resource: '#/definitions/Bastion'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeBastionCompartmentDetails'
        description: The compartment information to be updated.
        required: true
  /sessions:
    x-obmcs-client-retries-enabled: true
    get:
      description: 'Retrieves a list of SessionSummary objects for an existing bastion. Bastion sessions let authorized users connect to a target resource for a predetermined amount of time.

        '
      operationId: ListSessions
      parameters:
      - $ref: '#/components/parameters/RequestIdHeader'
      - $ref: '#/components/parameters/DisplayNameQueryParam'
      - $ref: '#/components/parameters/BastionIdentifierRequiredQueryParam'
      - $ref: '#/components/parameters/SessionLifecycleStateQueryParam'
      - $ref: '#/components/parameters/SessionIdentifierQueryParam'
      - $ref: '#/components/parameters/PaginationLimitQueryParam'
      - $ref: '#/components/parameters/PaginationTokenQueryParam'
      - $ref: '#/components/parameters/SortOrderQueryParam'
      - $ref: '#/components/parameters/SortByQueryWithDisplayNameParam'
      responses:
        200:
          description: Successfully retrieved a page of SessionSummary objects.
          headers:
            opc-next-page:
              description: 'For pagination of a list of items. When paging through a list, if this header appears in the response,

                then a partial list might have been returned. Include this value as the `page` parameter for the

                subsequent GET request to get the next batch of items.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SessionSummary'
                type: array
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Retrieves a list of all sessions in a bastion resource.
      tags:
      - bastion
      x-related-resource: '#/definitions/Session'
    post:
      description: 'Creates a new session in a bastion. A bastion session lets authorized users connect to a target resource for a predetermined amount of time. The Bastion service recognizes two types of sessions, managed SSH sessions and SSH port forwarding sessions. Managed SSH sessions require that the target resource has an OpenSSH server and the Oracle Cloud Agent both running.

        '
      operationId: CreateSession
      parameters:
      - $ref: '#/components/parameters/RetryTokenHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        201:
          description: Successfully accepted the request. The bastion session will be created.
          headers:
            etag:
              description: 'For optimistic concurrency control. See `if-match`.

                '
              schema:
                type: string
            location:
              description: 'this contains the full URI for the get request, e.g. "https://iaas.us-phoenix-1.oraclecloud.com/20210331/bastions/<some-ocid>"

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
            opc-work-request-id:
              description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        409:
          $ref: '#/components/responses/409'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Creates a new session in a bastion.
      tags:
      - bastion
      x-related-resource: '#/definitions/Session'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSessionDetails'
        description: Details for the new session.
        required: true
  /sessions/{sessionId}:
    delete:
      description: Deletes a session identified by the session ID.
      operationId: DeleteSession
      parameters:
      - $ref: '#/components/parameters/SessionIdentifierPathParam'
      - $ref: '#/components/parameters/IfMatchHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        202:
          description: Successfully accepted the request. The bastion session will be deleted.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
            opc-work-request-id:
              description: 'Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation.

                '
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        412:
          $ref: '#/components/responses/412'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Deletes a session.
      tags:
      - bastion
      x-related-resource: '#/definitions/Session'
    get:
      description: Retrieves a session identified by the session ID. A bastion session lets authorized users connect to a target resource for a predetermined amount of time.
      operationId: GetSession
      parameters:
      - $ref: '#/components/parameters/SessionIdentifierPathParam'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        200:
          description: Successfully retrieved the bastion session with the session ID.
          headers:
            etag:
              description: 'For optimistic concurrency control. See `if-match`.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Retrieves a session.
      tags:
      - bastion
      x-obmcs-client-retries-enabled: true
    put:
      description: Updates the session identified by the session ID. A bastion session lets authorized users connect to a target resource for a predetermined amount of time.
      operationId: UpdateSession
      parameters:
      - $ref: '#/components/parameters/SessionIdentifierPathParam'
      - $ref: '#/components/parameters/IfMatchHeader'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        200:
          description: Successfully accepted the request. The bastion session will be updated.
          headers:
            etag:
              description: 'For optimistic concurrency control. See `if-match`.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        409:
          $ref: '#/components/responses/409'
        412:
          $ref: '#/components/responses/412'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Updates the session.
      tags:
      - bastion
      x-obmcs-client-retries-enabled: true
      x-related-resource: '#/definitions/Session'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSessionDetails'
        description: The session information to be updated.
        required: true
  /workRequests:
    get:
      description: 'Lists the work requests in a compartment.

        '
      operationId: ListWorkRequests
      parameters:
      - $ref: '#/components/parameters/CompartmentIdQueryParam'
      - $ref: '#/components/parameters/RequestIdHeader'
      - $ref: '#/components/parameters/PaginationTokenQueryParam'
      - $ref: '#/components/parameters/PaginationLimitQueryParam'
      responses:
        200:
          description: The list is being retrieved.
          headers:
            opc-next-page:
              description: 'For pagination of a list of items. When paging through a list, if this header appears in the response,

                then a partial list might have been returned. Include this value as the `page` parameter for the

                subsequent GET request to get the next batch of items.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/WorkRequestSummary'
                type: array
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: List Work Requests.
      tags:
      - bastion
      x-related-resource: '#/definitions/WorkRequest'
  /workRequests/{workRequestId}:
    get:
      description: Gets the status of the work request with the given ID.
      operationId: GetWorkRequest
      parameters:
      - $ref: '#/components/parameters/WorkRequestIdPathParam'
      - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        200:
          description: The detail of the work request.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
            retry-after:
              description: A decimal number representing the number of seconds the client should wait before polling this endpoint again.
              schema:
                type: number
                format: float
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkRequest'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Get Work Request Status.
      tags:
      - bastion
      x-related-resource: '#/definitions/WorkRequest'
  /workRequests/{workRequestId}/errors:
    get:
      description: 'Return a (paginated) list of errors for a given work request.

        '
      operationId: ListWorkRequestErrors
      parameters:
      - $ref: '#/components/parameters/WorkRequestIdPathParam'
      - $ref: '#/components/parameters/RequestIdHeader'
      - $ref: '#/components/parameters/PaginationTokenQueryParam'
      - $ref: '#/components/parameters/PaginationLimitQueryParam'
      responses:
        200:
          description: List of work request errors.
          headers:
            opc-next-page:
              description: 'For pagination of a list of items. When paging through a list, if this header appears in the response,

                then a partial list might have been returned. Include this value as the `page` parameter for the

                subsequent GET request to get the next batch of items.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/WorkRequestError'
                type: array
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Lists work request errors.
      tags:
      - bastion
      x-related-resource: '#/definitions/WorkRequestError'
  /workRequests/{workRequestId}/logs:
    get:
      description: 'Return a (paginated) list of logs for a given work request.

        '
      operationId: ListWorkRequestLogs
      parameters:
      - $ref: '#/components/parameters/WorkRequestIdPathParam'
      - $ref: '#/components/parameters/RequestIdHeader'
      - $ref: '#/components/parameters/PaginationTokenQueryParam'
      - $ref: '#/components/parameters/PaginationLimitQueryParam'
      responses:
        200:
          description: List of work request logs.
          headers:
            opc-next-page:
              description: 'For pagination of a list of items. When paging through a list, if this header appears in the response,

                then a partial list might have been returned. Include this value as the `page` parameter for the

                subsequent GET request to get the next batch of items.

                '
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact

                Oracle about a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/WorkRequestLogEntry'
                type: array
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/default'
      summary: Lists work request logs.
      tags:
      - bastion
      x-related-resource: '#/definitions/WorkRequestLogEntry'
components:
  schemas:
    Session:
      description: A bastion session resource. A bastion session lets authorized users connect to a target resource using a Secure Shell (SSH) for a predetermined amount of time.
      properties:
        bastionId:
          description: The unique identifier (OCID) of the bastion that is hosting this session.
          type: string
        bastionName:
          description: The name of the bastion that is hosting this session.
          type: string
        bastionPublicHostKeyInfo:
          description: The public key of the bastion host. You can use this to verify that you're connecting to the correct bastion.
          type: string
        bastionUserName:
          description: The username that the session uses to connect to the target resource.
          type: string
        displayName:
          description: The name of the session.
          type: string
        id:
          description: The unique identifier (OCID) of the session, which can't be changed after creation.
          type: string
        keyDetails:
          $ref: '#/components/schemas/PublicKeyDetails'
        keyType:
          default: PUB
          description: The type of the key used to connect to the session. PUB is a standard public key in OpenSSH format.
          enum:
          - PUB
          type: string
        lifecycleDetails:
          description: A message describing the current session state in more detail.
          type: string
          x-default-description: 'null'
        lifecycleState:
          description: The current state of the session.
          enum:
          - CREATING
          - ACTIVE
          - DELETING
          - DELETED
          - FAILED
          type: string
          x-obmcs-top-level-enum: '#/definitions/SessionLifecycleState'
        sessionTtlInSeconds:
          description: The amount of time the session can remain active.
          type: integer
        sshMetadata:
          additionalProperties:
            type: string
          description: The connection message for the session.
          type: object
        targetResourceDetails:
          $ref: '#/components/schemas/TargetResourceDetails'
        timeCreated:
          description: 'The time the session was created. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339).

            Example: `2020-01-25T21:10:29.600Z`

            '
          format: date-time
          type: string
        timeUpdated:
          description: 'The time the session was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339).

            Example: `2020-01-25T21:10:29.600Z`

            '
          format: date-t

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle/refs/heads/main/openapi/oracle-bastion-api-openapi.yml