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/" ' 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/" ' 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-time type: string x-default-description: 'null' required: - id - bastionId - bastionName - keyDetails - lifecycleState - timeCreated - sessionTtlInSeconds - targetResourceDetails type: object Error: description: Error Information. properties: code: description: A short error code that defines the error, meant for programmatic parsing. type: string message: description: A human-readable error string. type: string required: - code - message CreateSessionDetails: description: The configuration details for a new bastion session. A 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. properties: bastionId: description: The unique identifier (OCID) of the bastion on which to create this session. maxLength: 255 minLength: 1 type: string displayName: description: The name of the session. maxLength: 255 minLength: 1 type: string x-default-description: This field will be set to a value in the format session- 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 sessionTtlInSeconds: default: 1800 description: The amount of time the session can remain active. minimum: 1800 type: integer targetResourceDetails: $ref: '#/components/schemas/CreateSessionTargetResourceDetails' required: - bastionId - keyDetails - targetResourceDetails type: object 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. 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. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' 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. Example: `{"bar-key": "value"}` ' 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. ' 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. ' items: type: string type: array systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' 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). Example: `2020-01-25T21:10:29.600Z` ' format: date-time type: string timeUpdated: description: 'The time the bastion was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` ' format: date-time type: string x-default-description: 'null' required: - id - name - compartmentId - targetVcnId - targetSubnetId - lifecycleState - timeCreated - maxSessionTtlInSeconds - bastionType type: object ChangeBastionCompartmentDetails: description: Details about the compartment that the bastion should move to. properties: compartmentId: description: The unique identifier (OCID) of the compartment that the bastion should move to. maxLength: 100 minLength: 1 type: string required: - compartmentId type: object SessionSummary: description: Summary information for a bastion session resource. 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 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 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 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-time type: string x-default-description: 'null' required: - id - bastionName - bastionId - targetResourceDetails - lifecycleState - timeCreated - sessionTtlInSeconds type: object TargetResourceDetails: description: Details about a bastion session's target resource. discriminator: propertyName: sessionType properties: sessionType: description: The Bastion service recognizes three types of sessions, managed SSH sessions, SSH port forwarding sessions, and Dynamic SSH port forwarding sessions. Managed SSH sessions require that the target resource has an OpenSSH server and the Oracle Cloud Agent both running. enum: - MANAGED_SSH - PORT_FORWARDING - DYNAMIC_PORT_FORWARDING type: string x-obmcs-top-level-enum: '#/definitions/SessionType' required: - sessionType type: object WorkRequestResource: description: A resource created or operated on by a work request. properties: actionType: description: 'The way in which this resource is affected by the work tracked in the work request. A resource being created, updated, or deleted will remain in the IN_PROGRESS state until work is complete for that resource at which point it will transition to CREATED, UPDATED, or DELETED, respectively. ' enum: - CREATED - UPDATED - DELETED - IN_PROGRESS - RELATED type: string x-obmcs-top-level-enum: '#/definitions/ActionType' entityType: description: The resource type the work request affects. type: string entityUri: description: The URI path that the user can do a GET on to access the resource metadata. type: string identifier: description: The unique identifier (OCID) of the resource that the work request affects. type: string required: - actionType - entityType - identifier PublicKeyDetails: description: Public key details for a bastion session. properties: publicKeyContent: description: The public key in OpenSSH format of the SSH key pair for the session. When you connect to the session, you must provide the private key of the same SSH key pair. type: string required: - publicKeyContent type: object 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. properties: bastionType: description: 'The type of bastion. Use `standard`. ' 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. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' 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. Example: `{"bar-key": "value"}` ' 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. ' type: string staticJumpHostIpAddresses: description: 'A list of IP addresses of the hosts that the bastion has access to. Not applicable to `standard` bastions. ' 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 CreateSessionTargetResourceDetails: description: Details about a bastion session's target resource. discriminator: propertyName: sessionType properties: sessionType: description: The session type. enum: - MANAGED_SSH - PORT_FORWARDING - DYNAMIC_PORT_FORWARDING type: string x-obmcs-top-level-enum: '#/definitions/SessionType' required: - sessionType type: object WorkRequestSummary: description: A description of workrequest status. properties: compartmentId: description: 'The ocid of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request affects multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used ' type: string id: description: The unique identifier (OCID) of the work request. type: string operationType: description: Type of the work request. enum: - CREATE_BASTION - UPDATE_BASTION - DELETE_BASTION - CREATE_SESSION - DELETE_SESSION type: string x-obmcs-top-level-enum: '#/definitions/OperationType' percentComplete: description: Percentage of the request completed. format: float type: number resources: description: The resources affected by this work request. items: $ref: '#/components/schemas/WorkRequestResource' type: array status: description: Status of current work request. enum: - ACCEPTED - IN_PROGRESS - FAILED - SUCCEEDED - CANCELING - CANCELED type: string x-obmcs-top-level-enum: '#/definitions/OperationStatus' timeAccepted: description: 'The date and time the request was created, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. ' format: date-time type: string timeFinished: description: 'The date and time the object was finished, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339). ' format: date-time type: string timeStarted: description: 'The date and time the request was started, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. ' format: date-time type: string required: - operationType - status - id - compartmentId - resources - percentComplete - timeAccepted BastionSummary: description: Summary information for 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: bastionType: description: The type of bastion. type: string 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. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' 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. Example: `{"bar-key": "value"}` ' 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' name: description: The name of the bastion, which can't be changed after creation. type: string systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' 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). Example: `2020-01-25T21:10:29.600Z` ' format: date-time type: string timeUpdated: description: 'The time the bastion was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` ' format: date-time type: string x-default-description: 'null' required: - id - name - compartmentId - targetVcnId - targetSubnetId - lifecycleState - timeCreated - bastionType type: object WorkRequestError: description: An error encountered while executing a work request. properties: code: description: 'A machine-usable code for the error that occurred. Error codes are listed on (https://docs.cloud.oracle.com/Content/API/References/apierrors.htm) ' type: string message: description: A human readable description of the issue encountered. type: string timestamp: description: The time the error occurred. An RFC3339 formatted datetime string. format: date-time type: string required: - code - message - timestamp WorkRequestLogEntry: description: A log message from the execution of a work request. properties: message: description: Human-readable log message. type: string timestamp: description: The time the log message was written. An RFC3339 formatted datetime string. format: date-time type: string required: - message - timestamp UpdateBastionDetails: description: The configuration to update on an existing bastion. properties: 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 definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object maxSessionTtlInSeconds: description: The maximum amount of time that any session on the bastion can remain active. maximum: 10800 minimum: 1800 type: integer staticJumpHostIpAddresses: description: 'A list of IP addresses of the hosts that the bastion has access to. Not applicable to `standard` bastions. ' items: maxLength: 32 minLength: 1 type: string maxItems: 5 minItems: 1 type: array type: object UpdateSessionDetails: description: The session information to be updated. properties: displayName: description: The name of the session. maxLength: 255 minLength: 1 type: string type: object WorkRequest: description: A description of workrequest status. properties: compartmentId: description: 'The ocid of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request affects multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used ' type: string id: description: The unique identifier (OCID) of the work request. type: string operationType: description: Type of the work request. enum: - CREATE_BASTION - UPDATE_BASTION - DELETE_BASTION - CREATE_SESSION - DELETE_SESSION type: string x-obmcs-top-level-enum: '#/definitions/OperationType' percentComplete: description: Percentage of the request completed. format: float type: number resources: description: The resources affected by this work request. items: $ref: '#/components/schemas/WorkRequestResource' type: array status: description: Status of current work request. enum: - ACCEPTED - IN_PROGRESS - FAILED - SUCCEEDED - CANCELING - CANCELED type: string x-obmcs-top-level-enum: '#/definitions/OperationStatus' timeAccepted: description: 'The date and time the request was created, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. ' format: date-time type: string timeFinished: description: 'The date and time the object was finished, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339). ' format: date-time type: string timeStarted: description: 'The date and time the request was started, as described in [RFC 3339](https://tools.ietf.org/rfc/rfc3339), section 14.29. ' format: date-time type: string required: - operationType - status - id - compartmentId - resources - percentComplete - timeAccepted parameters: NameQueryParam: description: A filter to return only resources that match the entire name given. in: query name: name x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 PaginationTokenQueryParam: description: The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call. in: query name: page x-default-description: 'null' schema: type: string minLength: 1 SortByQueryWithDisplayNameParam: description: 'The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default. ' in: query name: sortBy schema: type: string enum: - timeCreated - displayName default: timeCreated BastionIdentifierRequiredQueryParam: description: The unique identifier (OCID) of the bastion in which to list sessions. in: query name: bastionId required: true x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 SessionIdentifierQueryParam: description: The unique identifier (OCID) of the session in which to list resources. in: query name: sessionId x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 CompartmentIdQueryParam: description: The unique identifier (OCID) of the compartment in which to list resources. in: query name: compartmentId required: true schema: type: string IfMatchHeader: description: 'For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource''s current etag value. ' in: header name: if-match required: false schema: type: string PaginationLimitQueryParam: description: The maximum number of items to return. in: query name: limit schema: type: integer default: 10 maximum: 1000 minimum: 1 WorkRequestIdPathParam: description: The unique identifier (OCID) of the asynchronous request. in: path name: workRequestId required: true schema: type: string SortOrderQueryParam: description: The sort order to use, either 'asc' or 'desc'. in: query name: sortOrder x-obmcs-top-level-enum: '#/definitions/SortOrder' schema: type: string enum: - ASC - DESC default: ASC SessionLifecycleStateQueryParam: description: A filter to return only resources their lifecycleState matches the given lifecycleState. in: query name: sessionLifecycleState required: false x-default-description: 'null' x-obmcs-top-level-enum: '#/definitions/SessionLifecycleState' schema: type: string enum: - CREATING - ACTIVE - DELETING - DELETED - FAILED SessionIdentifierPathParam: description: The unique identifier (OCID) of the session. in: path name: sessionId required: true schema: type: string BastionLifecycleStateQueryParam: description: A filter to return only resources their lifecycleState matches the given lifecycleState. in: query name: bastionLifecycleState required: false x-default-description: 'null' x-obmcs-top-level-enum: '#/definitions/BastionLifecycleState' schema: type: string enum: - CREATING - UPDATING - ACTIVE - DELETING - DELETED - FAILED BastionIdentifierPathParam: description: The unique identifier (OCID) of the bastion. in: path name: bastionId required: true schema: type: string RetryTokenHeader: description: 'A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry tokens expire after 24 hours, but can be invalidated before then due to conflicting operations. For example, if a resource has been deleted and purged from the system, then a retry of the original creation request might be rejected. ' in: header name: opc-retry-token required: false schema: type: string maxLength: 64 minLength: 1 BastionIdentifierOptionalQueryParam: description: The unique identifier (OCID) of the bastion in which to list resources. in: query name: bastionId x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 DisplayNameQueryParam: description: A filter to return only resources that match the entire display name given. in: query name: displayName x-default-description: 'null' schema: type: string maxLength: 255 minLength: 1 RequestIdHeader: description: The client request ID for tracing. in: header name: opc-request-id x-default-description: 'null' schema: type: string SortByQueryWithNameParam: description: 'The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for name is ascending. If no value is specified timeCreated is default. ' in: query name: sortBy schema: type: string enum: - timeCreated - name default: timeCreated responses: default: description: Unknown Error 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 content: application/json: schema: $ref: '#/components/schemas/Error' x-anchors: x-headers: etag: description: 'For optimistic concurrency control. See `if-match`. ' type: string location: description: 'this contains the full URI for the get request, e.g. "https://iaas.us-phoenix-1.oraclecloud.com/20210331/bastions/" ' type: string 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. ' 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. ' 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. ' type: string retry-after: description: A decimal number representing the number of seconds the client should wait before polling this endpoint again. format: float type: number x-properties: definedTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing predefined tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace": {"bar-key": "value"}}` ' type: object freeformTags: additionalProperties: type: string description: 'Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` ' type: object systemTags: additionalProperties: additionalProperties: description: 'The value of the tag. Only string, integer and boolean types are supported. ' type: object description: 'Key-value pair representing system tags'' keys and values scoped to a namespace. Example: `{"bar-key": "value"}` ' type: object description: 'Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` ' type: object x-oracle-package: com.oracle.oci.bastions.controlplane.resources