oracle.oci.oci_apigateway_deployment – Manage a Deployment resource in Oracle Cloud Infrastructure¶
Note
This plugin is part of the oracle.oci collection (version 4.14.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install oracle.oci
.
To use it in a playbook, specify: oracle.oci.oci_apigateway_deployment
.
New in version 2.9.0: of oracle.oci
Synopsis¶
This module allows the user to create, update and delete a Deployment resource in Oracle Cloud Infrastructure
For state=present, creates a new deployment.
This resource has the following action operations in the oracle.oci.oci_apigateway_deployment_actions module: change_compartment.
Requirements¶
The below requirements are needed on the host that executes this module.
python >= 3.6
Python SDK for Oracle Cloud Infrastructure https://oracle-cloud-infrastructure-python-sdk.readthedocs.io
Parameters¶
Parameter | Choices/Defaults | Comments | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
api_user
string
|
The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the value of the OCI_USER_ID environment variable, if any, is used. This option is required if the user is not specified through a configuration file (See
config_file_location ). To get the user's OCID, please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm. |
||||||||||
api_user_fingerprint
string
|
Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT environment variable, if any, is used. This option is required if the key fingerprint is not specified through a configuration file (See
config_file_location ). To get the key pair's fingerprint value please refer https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm. |
||||||||||
api_user_key_file
string
|
Full path and filename of the private key (in PEM format). If not set, then the value of the OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is not specified through a configuration file (See
config_file_location ). If the key is encrypted with a pass-phrase, the api_user_key_pass_phrase option must also be provided. |
||||||||||
api_user_key_pass_phrase
string
|
Passphrase used by the key referenced in
api_user_key_file , if it is encrypted. If not set, then the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the key passphrase is not specified through a configuration file (See config_file_location ). |
||||||||||
auth_purpose
string
|
|
The auth purpose which can be used in conjunction with 'auth_type=instance_principal'. The default auth_purpose for instance_principal is None.
|
|||||||||
auth_type
string
|
|
The type of authentication to use for making API requests. By default
auth_type="api_key" based authentication is performed and the API key (see api_user_key_file) in your config file will be used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE, if any, is used. Use auth_type="instance_principal" to use instance principal based authentication when running ansible playbooks within an OCI compute instance. |
|||||||||
cert_bundle
string
|
The full path to a CA certificate bundle to be used for SSL verification. This will override the default CA certificate bundle. If not set, then the value of the OCI_ANSIBLE_CERT_BUNDLE variable, if any, is used.
|
||||||||||
compartment_id
string
|
The OCID of the compartment in which the resource is created.
Required for create using state=present.
Required for update when environment variable
OCI_USE_NAME_AS_IDENTIFIER is set.Required for delete when environment variable
OCI_USE_NAME_AS_IDENTIFIER is set. |
||||||||||
config_file_location
string
|
Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable, if any, is used. Otherwise, defaults to ~/.oci/config.
|
||||||||||
config_profile_name
string
|
The profile to load from the config file referenced by
config_file_location . If not set, then the value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the "DEFAULT" profile in config_file_location . |
||||||||||
defined_tags
dictionary
|
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: `{"Operations": {"CostCenter": "42"}}`
This parameter is updatable.
|
||||||||||
deployment_id
string
|
The ocid of the deployment.
Required for update using state=present when environment variable
OCI_USE_NAME_AS_IDENTIFIER is not set.Required for delete using state=absent when environment variable
OCI_USE_NAME_AS_IDENTIFIER is not set.aliases: id |
||||||||||
display_name
string
|
A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`
Required for create, update, delete when environment variable
OCI_USE_NAME_AS_IDENTIFIER is set.This parameter is updatable when
OCI_USE_NAME_AS_IDENTIFIER is not set.aliases: name |
||||||||||
force_create
boolean
|
|
Whether to attempt non-idempotent creation of a resource. By default, create resource is an idempotent operation, and doesn't create the resource if it already exists. Setting this option to true, forcefully creates a copy of the resource, even if it already exists.This option is mutually exclusive with key_by.
|
|||||||||
freeform_tags
dictionary
|
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.
Example: `{"Department": "Finance"}`
This parameter is updatable.
|
||||||||||
gateway_id
string
|
The OCID of the resource.
Required for create using state=present.
|
||||||||||
key_by
list
/ elements=string
|
The list of attributes of this resource which should be used to uniquely identify an instance of the resource. By default, all the attributes of a resource are used to uniquely identify a resource.
|
||||||||||
path_prefix
string
|
A path on which to deploy all routes contained in the API deployment specification. For more information, see Deploying an API on an API Gateway by Creating an API Deployment.
Required for create using state=present.
|
||||||||||
region
string
|
The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the value of the OCI_REGION variable, if any, is used. This option is required if the region is not specified through a configuration file (See
config_file_location ). Please refer to https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm for more information on OCI regions. |
||||||||||
specification
dictionary
|
Required for create using state=present.
This parameter is updatable.
|
||||||||||
logging_policies
dictionary
|
|||||||||||
access_log
dictionary
|
|||||||||||
is_enabled
boolean
|
|
Enables pushing of access logs to the legacy OCI Object Storage log archival bucket.
Oracle recommends using the OCI Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in OCI Logging service, the logs will not be uploaded to the legacy OCI Object Storage log archival bucket.
Please note that the functionality to push to the legacy OCI Object Storage log archival bucket has been deprecated and will be removed in the future.
|
|||||||||
execution_log
dictionary
|
|||||||||||
is_enabled
boolean
|
|
Enables pushing of execution logs to the legacy OCI Object Storage log archival bucket.
Oracle recommends using the OCI Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in OCI Logging service, the logs will not be uploaded to the legacy OCI Object Storage log archival bucket.
Please note that the functionality to push to the legacy OCI Object Storage log archival bucket has been deprecated and will be removed in the future.
|
|||||||||
log_level
string
|
|
Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
|
|||||||||
request_policies
dictionary
|
|||||||||||
authentication
dictionary
|
|||||||||||
audiences
list
/ elements=string
|
The list of intended recipients for the token.
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
cache_key
list
/ elements=string
|
A list of keys from "parameters" attribute value whose values will be added to the cache key.
Applicable when type is 'CUSTOM_AUTHENTICATION'
|
||||||||||
function_id
string
|
The OCID of the Oracle Functions function resource.
Required when type is 'CUSTOM_AUTHENTICATION'
|
||||||||||
is_anonymous_access_allowed
boolean
|
|
Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
|
|||||||||
issuers
list
/ elements=string
|
A list of parties that could have issued the token.
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
max_clock_skew_in_seconds
float
|
The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
Applicable when type is one of ['TOKEN_AUTHENTICATION', 'JWT_AUTHENTICATION']
|
||||||||||
parameters
dictionary
|
A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: `{"foo": "request.header[abc]"}`
Applicable when type is 'CUSTOM_AUTHENTICATION'
|
||||||||||
public_keys
dictionary
|
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
is_ssl_verify_disabled
boolean
|
|
Defines whether or not to uphold SSL verification.
Applicable when type is 'REMOTE_JWKS'
|
|||||||||
keys
list
/ elements=dictionary
|
The set of static public keys.
Applicable when type is 'STATIC_KEYS'
|
||||||||||
alg
string
|
The algorithm intended for use with this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
e
string
|
The base64 url encoded exponent of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
format
string
/ required
|
|
The format of the public key.
|
|||||||||
key
string
|
The content of the PEM-encoded public key.
Required when format is 'PEM'
|
||||||||||
key_ops
list
/ elements=string
|
|
The operations for which this key is to be used.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
kid
string
/ required
|
A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
|
||||||||||
kty
string
|
|
The key type.
Required when format is 'JSON_WEB_KEY'
|
|||||||||
n
string
|
The base64 url encoded modulus of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
use
string
|
|
The intended use of the public key.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
max_cache_duration_in_hours
integer
|
The duration for which the JWKS should be cached before it is fetched again.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
type
string
/ required
|
|
Type of the public key set.
|
|||||||||
uri
string
|
The uri from which to retrieve the key. It must be accessible without authentication.
Required when type is 'REMOTE_JWKS'
|
||||||||||
token_auth_scheme
string
|
The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
Applicable when type is one of ['TOKEN_AUTHENTICATION', 'JWT_AUTHENTICATION']
|
||||||||||
token_header
string
|
The name of the header containing the authentication token.
|
||||||||||
token_query_param
string
|
The name of the query parameter containing the authentication token.
|
||||||||||
type
string
/ required
|
|
Type of the authentication policy to use.
|
|||||||||
validation_failure_policy
dictionary
|
Applicable when type is one of ['TOKEN_AUTHENTICATION', 'CUSTOM_AUTHENTICATION']
|
||||||||||
client_details
dictionary
|
Required when type is 'OAUTH2'
|
||||||||||
client_id
string
|
Client ID for the OAuth2/OIDC app.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_id
string
|
The OCID of the Oracle Vault Service secret resource.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_version_number
integer
|
The version number of the client secret to use.
Required when type is 'CUSTOM'
|
||||||||||
type
string
/ required
|
|
To specify where the Client App details should be taken from.
|
|||||||||
fallback_redirect_path
string
|
The path to be used as fallback after OAuth2.
Applicable when type is 'OAUTH2'
|
||||||||||
logout_path
string
|
The path to be used as logout.
Applicable when type is 'OAUTH2'
|
||||||||||
max_expiry_duration_in_hours
integer
|
The duration for which the OAuth2 success token should be cached before it is fetched again.
Applicable when type is 'OAUTH2'
|
||||||||||
response_code
string
|
HTTP response code, can include context variables.
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
response_header_transformations
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
filter_headers
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
name
string
/ required
|
The case-insensitive name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
type
string
/ required
|
|
BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
Required when type is 'MODIFY_RESPONSE'
|
|||||||||
rename_headers
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
_from
string
/ required
|
The original case-insensitive name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
to
string
/ required
|
The new name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
set_headers
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
if_exists
string
|
|
If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
Applicable when type is 'MODIFY_RESPONSE'
|
|||||||||
name
string
/ required
|
The case-insensitive name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
values
list
/ elements=string / required
|
A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
response_message
string
|
HTTP response message.
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
response_type
string
|
|
Response Type.
Required when type is 'OAUTH2'
|
|||||||||
scopes
list
/ elements=string
|
List of scopes.
Required when type is 'OAUTH2'
|
||||||||||
source_uri_details
dictionary
|
Required when type is 'OAUTH2'
|
||||||||||
type
string
/ required
|
|
Type of the Uri detail.
|
|||||||||
uri
string
|
The discovery URI for the auth server.
Required when type is 'DISCOVERY_URI'
|
||||||||||
type
string
/ required
|
|
Type of the Validation failure Policy.
|
|||||||||
use_cookies_for_intermediate_steps
boolean
|
|
Defines whether or not to use cookies for OAuth2 intermediate steps.
Applicable when type is 'OAUTH2'
|
|||||||||
use_cookies_for_session
boolean
|
|
Defines whether or not to use cookies for session maintenance.
Applicable when type is 'OAUTH2'
|
|||||||||
use_pkce
boolean
|
|
Defines whether or not to support PKCE.
Applicable when type is 'OAUTH2'
|
|||||||||
validation_policy
dictionary
|
Required when type is 'TOKEN_AUTHENTICATION'
|
||||||||||
additional_validation_policy
dictionary
|
|||||||||||
audiences
list
/ elements=string
|
The list of intended recipients for the token.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
issuers
list
/ elements=string
|
A list of parties that could have issued the token.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
verify_claims
list
/ elements=dictionary
|
A list of claims which should be validated to consider the token valid.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
is_required
boolean
|
|
Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
Applicable when type is 'REMOTE_JWKS'
|
|||||||||
key
string
/ required
|
Name of the claim.
Required when type is 'REMOTE_JWKS'
|
||||||||||
values
list
/ elements=string
|
The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
client_details
dictionary
|
Required when type is 'REMOTE_DISCOVERY'
|
||||||||||
client_id
string
|
Client ID for the OAuth2/OIDC app.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_id
string
|
The OCID of the Oracle Vault Service secret resource.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_version_number
integer
|
The version number of the client secret to use.
Required when type is 'CUSTOM'
|
||||||||||
type
string
/ required
|
|
To specify where the Client App details should be taken from.
|
|||||||||
is_ssl_verify_disabled
boolean
|
|
Defines whether or not to uphold SSL verification.
Applicable when type is one of ['REMOTE_JWKS', 'REMOTE_DISCOVERY']
|
|||||||||
keys
list
/ elements=dictionary
|
The set of static public keys.
Applicable when type is 'STATIC_KEYS'
|
||||||||||
alg
string
|
The algorithm intended for use with this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
e
string
|
The base64 url encoded exponent of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
format
string
/ required
|
|
The format of the public key.
|
|||||||||
key
string
|
The content of the PEM-encoded public key.
Required when format is 'PEM'
|
||||||||||
key_ops
list
/ elements=string
|
|
The operations for which this key is to be used.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
kid
string
/ required
|
A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
|
||||||||||
kty
string
|
|
The key type.
Required when format is 'JSON_WEB_KEY'
|
|||||||||
n
string
|
The base64 url encoded modulus of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
use
string
|
|
The intended use of the public key.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
max_cache_duration_in_hours
integer
|
The duration for which the JWKS should be cached before it is fetched again.
Applicable when type is one of ['REMOTE_JWKS', 'REMOTE_DISCOVERY']
|
||||||||||
source_uri_details
dictionary
|
Required when type is 'REMOTE_DISCOVERY'
|
||||||||||
type
string
/ required
|
|
Type of the Uri detail.
|
|||||||||
uri
string
|
The discovery URI for the auth server.
Required when type is 'DISCOVERY_URI'
|
||||||||||
type
string
/ required
|
|
Type of the token validation policy.
|
|||||||||
uri
string
|
The uri from which to retrieve the key. It must be accessible without authentication.
Required when type is 'REMOTE_JWKS'
|
||||||||||
verify_claims
list
/ elements=dictionary
|
A list of claims which should be validated to consider the token valid.
Applicable when type is 'JWT_AUTHENTICATION'
|
||||||||||
is_required
boolean
|
|
Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
Applicable when type is 'JWT_AUTHENTICATION'
|
|||||||||
key
string
/ required
|
Name of the claim.
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
values
list
/ elements=string
|
The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
Applicable when type is 'JWT_AUTHENTICATION'
|
||||||||||
cors
dictionary
|
|||||||||||
allowed_headers
list
/ elements=string
|
The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
|
||||||||||
allowed_methods
list
/ elements=string
|
The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
|
||||||||||
allowed_origins
list
/ elements=string / required
|
The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
|
||||||||||
exposed_headers
list
/ elements=string
|
The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
|
||||||||||
is_allow_credentials_enabled
boolean
|
|
Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
|
|||||||||
max_age_in_seconds
integer
|
The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
|
||||||||||
dynamic_authentication
dictionary
|
|||||||||||
authentication_servers
list
/ elements=dictionary / required
|
List of authentication servers to choose from during dynamic authentication.
|
||||||||||
authentication_server_detail
dictionary
/ required
|
|||||||||||
audiences
list
/ elements=string
|
The list of intended recipients for the token.
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
cache_key
list
/ elements=string
|
A list of keys from "parameters" attribute value whose values will be added to the cache key.
Applicable when type is 'CUSTOM_AUTHENTICATION'
|
||||||||||
function_id
string
|
The OCID of the Oracle Functions function resource.
Required when type is 'CUSTOM_AUTHENTICATION'
|
||||||||||
is_anonymous_access_allowed
boolean
|
|
Whether an unauthenticated user may access the API. Must be "true" to enable ANONYMOUS route authorization.
|
|||||||||
issuers
list
/ elements=string
|
A list of parties that could have issued the token.
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
max_clock_skew_in_seconds
float
|
The maximum expected time difference between the system clocks of the token issuer and the API Gateway.
Applicable when type is one of ['TOKEN_AUTHENTICATION', 'JWT_AUTHENTICATION']
|
||||||||||
parameters
dictionary
|
A map where key is a user defined string and value is a context expressions whose values will be sent to the custom auth function. Values should contain an expression. Example: `{"foo": "request.header[abc]"}`
Applicable when type is 'CUSTOM_AUTHENTICATION'
|
||||||||||
public_keys
dictionary
|
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
is_ssl_verify_disabled
boolean
|
|
Defines whether or not to uphold SSL verification.
Applicable when type is 'REMOTE_JWKS'
|
|||||||||
keys
list
/ elements=dictionary
|
The set of static public keys.
Applicable when type is 'STATIC_KEYS'
|
||||||||||
alg
string
|
The algorithm intended for use with this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
e
string
|
The base64 url encoded exponent of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
format
string
/ required
|
|
The format of the public key.
|
|||||||||
key
string
|
The content of the PEM-encoded public key.
Required when format is 'PEM'
|
||||||||||
key_ops
list
/ elements=string
|
|
The operations for which this key is to be used.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
kid
string
/ required
|
A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
|
||||||||||
kty
string
|
|
The key type.
Required when format is 'JSON_WEB_KEY'
|
|||||||||
n
string
|
The base64 url encoded modulus of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
use
string
|
|
The intended use of the public key.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
max_cache_duration_in_hours
integer
|
The duration for which the JWKS should be cached before it is fetched again.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
type
string
/ required
|
|
Type of the public key set.
|
|||||||||
uri
string
|
The uri from which to retrieve the key. It must be accessible without authentication.
Required when type is 'REMOTE_JWKS'
|
||||||||||
token_auth_scheme
string
|
The authentication scheme that is to be used when authenticating the token. This must to be provided if "tokenHeader" is specified.
Applicable when type is one of ['TOKEN_AUTHENTICATION', 'JWT_AUTHENTICATION']
|
||||||||||
token_header
string
|
The name of the header containing the authentication token.
|
||||||||||
token_query_param
string
|
The name of the query parameter containing the authentication token.
|
||||||||||
type
string
/ required
|
|
Type of the authentication policy to use.
|
|||||||||
validation_failure_policy
dictionary
|
Applicable when type is one of ['TOKEN_AUTHENTICATION', 'CUSTOM_AUTHENTICATION']
|
||||||||||
client_details
dictionary
|
Required when type is 'OAUTH2'
|
||||||||||
client_id
string
|
Client ID for the OAuth2/OIDC app.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_id
string
|
The OCID of the Oracle Vault Service secret resource.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_version_number
integer
|
The version number of the client secret to use.
Required when type is 'CUSTOM'
|
||||||||||
type
string
/ required
|
|
To specify where the Client App details should be taken from.
|
|||||||||
fallback_redirect_path
string
|
The path to be used as fallback after OAuth2.
Applicable when type is 'OAUTH2'
|
||||||||||
logout_path
string
|
The path to be used as logout.
Applicable when type is 'OAUTH2'
|
||||||||||
max_expiry_duration_in_hours
integer
|
The duration for which the OAuth2 success token should be cached before it is fetched again.
Applicable when type is 'OAUTH2'
|
||||||||||
response_code
string
|
HTTP response code, can include context variables.
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
response_header_transformations
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
filter_headers
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
name
string
/ required
|
The case-insensitive name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
type
string
/ required
|
|
BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
Required when type is 'MODIFY_RESPONSE'
|
|||||||||
rename_headers
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
_from
string
/ required
|
The original case-insensitive name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
to
string
/ required
|
The new name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
set_headers
dictionary
|
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
if_exists
string
|
|
If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
Applicable when type is 'MODIFY_RESPONSE'
|
|||||||||
name
string
/ required
|
The case-insensitive name of the header. This name must be unique across transformation policies.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
values
list
/ elements=string / required
|
A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
Required when type is 'MODIFY_RESPONSE'
|
||||||||||
response_message
string
|
HTTP response message.
Applicable when type is 'MODIFY_RESPONSE'
|
||||||||||
response_type
string
|
|
Response Type.
Required when type is 'OAUTH2'
|
|||||||||
scopes
list
/ elements=string
|
List of scopes.
Required when type is 'OAUTH2'
|
||||||||||
source_uri_details
dictionary
|
Required when type is 'OAUTH2'
|
||||||||||
type
string
/ required
|
|
Type of the Uri detail.
|
|||||||||
uri
string
|
The discovery URI for the auth server.
Required when type is 'DISCOVERY_URI'
|
||||||||||
type
string
/ required
|
|
Type of the Validation failure Policy.
|
|||||||||
use_cookies_for_intermediate_steps
boolean
|
|
Defines whether or not to use cookies for OAuth2 intermediate steps.
Applicable when type is 'OAUTH2'
|
|||||||||
use_cookies_for_session
boolean
|
|
Defines whether or not to use cookies for session maintenance.
Applicable when type is 'OAUTH2'
|
|||||||||
use_pkce
boolean
|
|
Defines whether or not to support PKCE.
Applicable when type is 'OAUTH2'
|
|||||||||
validation_policy
dictionary
|
Required when type is 'TOKEN_AUTHENTICATION'
|
||||||||||
additional_validation_policy
dictionary
|
|||||||||||
audiences
list
/ elements=string
|
The list of intended recipients for the token.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
issuers
list
/ elements=string
|
A list of parties that could have issued the token.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
verify_claims
list
/ elements=dictionary
|
A list of claims which should be validated to consider the token valid.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
is_required
boolean
|
|
Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
Applicable when type is 'REMOTE_JWKS'
|
|||||||||
key
string
/ required
|
Name of the claim.
Required when type is 'REMOTE_JWKS'
|
||||||||||
values
list
/ elements=string
|
The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
Applicable when type is 'REMOTE_JWKS'
|
||||||||||
client_details
dictionary
|
Required when type is 'REMOTE_DISCOVERY'
|
||||||||||
client_id
string
|
Client ID for the OAuth2/OIDC app.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_id
string
|
The OCID of the Oracle Vault Service secret resource.
Required when type is 'CUSTOM'
|
||||||||||
client_secret_version_number
integer
|
The version number of the client secret to use.
Required when type is 'CUSTOM'
|
||||||||||
type
string
/ required
|
|
To specify where the Client App details should be taken from.
|
|||||||||
is_ssl_verify_disabled
boolean
|
|
Defines whether or not to uphold SSL verification.
Applicable when type is one of ['REMOTE_JWKS', 'REMOTE_DISCOVERY']
|
|||||||||
keys
list
/ elements=dictionary
|
The set of static public keys.
Applicable when type is 'STATIC_KEYS'
|
||||||||||
alg
string
|
The algorithm intended for use with this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
e
string
|
The base64 url encoded exponent of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
format
string
/ required
|
|
The format of the public key.
|
|||||||||
key
string
|
The content of the PEM-encoded public key.
Required when format is 'PEM'
|
||||||||||
key_ops
list
/ elements=string
|
|
The operations for which this key is to be used.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
kid
string
/ required
|
A unique key ID. This key will be used to verify the signature of a JWT with matching "kid".
|
||||||||||
kty
string
|
|
The key type.
Required when format is 'JSON_WEB_KEY'
|
|||||||||
n
string
|
The base64 url encoded modulus of the RSA public key represented by this key.
Required when format is 'JSON_WEB_KEY'
|
||||||||||
use
string
|
|
The intended use of the public key.
Applicable when format is 'JSON_WEB_KEY'
|
|||||||||
max_cache_duration_in_hours
integer
|
The duration for which the JWKS should be cached before it is fetched again.
Applicable when type is one of ['REMOTE_JWKS', 'REMOTE_DISCOVERY']
|
||||||||||
source_uri_details
dictionary
|
Required when type is 'REMOTE_DISCOVERY'
|
||||||||||
type
string
/ required
|
|
Type of the Uri detail.
|
|||||||||
uri
string
|
The discovery URI for the auth server.
Required when type is 'DISCOVERY_URI'
|
||||||||||
type
string
/ required
|
|
Type of the token validation policy.
|
|||||||||
uri
string
|
The uri from which to retrieve the key. It must be accessible without authentication.
Required when type is 'REMOTE_JWKS'
|
||||||||||
verify_claims
list
/ elements=dictionary
|
A list of claims which should be validated to consider the token valid.
Applicable when type is 'JWT_AUTHENTICATION'
|
||||||||||
is_required
boolean
|
|
Whether the claim is required to be present in the JWT or not. If set to "false", the claim values will be matched only if the claim is present in the JWT.
Applicable when type is 'JWT_AUTHENTICATION'
|
|||||||||
key
string
/ required
|
Name of the claim.
Required when type is 'JWT_AUTHENTICATION'
|
||||||||||
values
list
/ elements=string
|
The list of acceptable values for a given claim. If this value is "null" or empty and "isRequired" set to "true", then the presence of this claim in the JWT is validated.
Applicable when type is 'JWT_AUTHENTICATION'
|
||||||||||
key
dictionary
/ required
|
|||||||||||
expression
string
|
A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
Required when type is 'WILDCARD'
|
||||||||||
is_default
boolean
|
|
Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
|
|||||||||
name
string
/ required
|
Name assigned to the branch.
|
||||||||||
type
string
|
|
Type of the selection key.
|
|||||||||
values
list
/ elements=string
|
The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
Applicable when type is 'ANY_OF'
|
||||||||||
selection_source
dictionary
/ required
|
|||||||||||
selector
string
/ required
|
String describing the context variable used as selector.
|
||||||||||
type
string
|
|
Type of the Selection source to use.
|
|||||||||
mutual_tls
dictionary
|
|||||||||||
allowed_sans
list
/ elements=string
|
Allowed list of CN or SAN which will be used for verification of certificate.
|
||||||||||
is_verified_certificate_required
boolean
|
|
Determines whether to enable client verification when API Consumer makes connection to the gateway.
|
|||||||||
rate_limiting
dictionary
|
|||||||||||
rate_in_requests_per_second
integer
/ required
|
The maximum number of requests per second to allow.
|
||||||||||
rate_key
string
/ required
|
|
The key used to group requests together.
|
|||||||||
usage_plans
dictionary
|
|||||||||||
token_locations
list
/ elements=string / required
|
A list of context variables specifying where API tokens may be located in a request. Example locations: - "request.headers[token]" - "request.query[token]" - "request.auth[Token]" - "request.path[TOKEN]"
|
||||||||||
routes
list
/ elements=dictionary
|
A list of routes that this API exposes.
|
||||||||||
backend
dictionary
/ required
|
|||||||||||
allowed_post_logout_uris
list
/ elements=string
|
Applicable when type is 'OAUTH2_LOGOUT_BACKEND'
|
||||||||||
body
string
|
The body of the stock response from the mock backend.
Applicable when type is 'STOCK_RESPONSE_BACKEND'
|
||||||||||
connect_timeout_in_seconds
float
|
Defines a timeout for establishing a connection with a proxied server.
Applicable when type is 'HTTP_BACKEND'
|
||||||||||
function_id
string
|
The OCID of the Oracle Functions function resource.
Required when type is 'ORACLE_FUNCTIONS_BACKEND'
|
||||||||||
headers
list
/ elements=dictionary
|
The headers of the stock response from the mock backend.
Applicable when type is 'STOCK_RESPONSE_BACKEND'
|
||||||||||
name
string
|
Name of the header.
Applicable when type is 'STOCK_RESPONSE_BACKEND'
|
||||||||||
value
string
|
Value of the header.
Applicable when type is 'STOCK_RESPONSE_BACKEND'
|
||||||||||
is_ssl_verify_disabled
boolean
|
|
Defines whether or not to uphold SSL verification.
Applicable when type is 'HTTP_BACKEND'
|
|||||||||
post_logout_state
string
|
Defines a state that should be shared on redirecting to postLogout URL.
Applicable when type is 'OAUTH2_LOGOUT_BACKEND'
|
||||||||||
read_timeout_in_seconds
float
|
Defines a timeout for reading a response from the proxied server.
Applicable when type is 'HTTP_BACKEND'
|
||||||||||
routing_backends
list
/ elements=dictionary
|
List of backends to chose from for Dynamic Routing.
Required when type is 'DYNAMIC_ROUTING_BACKEND'
|
||||||||||
backend
dictionary
/ required
|
Required when type is 'DYNAMIC_ROUTING_BACKEND'
|
||||||||||
type
string
/ required
|
|
Type of the API backend.
|
|||||||||
key
dictionary
/ required
|
Required when type is 'DYNAMIC_ROUTING_BACKEND'
|
||||||||||
expression
string
|
A selection key string containing a wildcard to match with the context variable in an incoming request. If the context variable matches the string, the request is sent to the route or authentication server associated with the selection key. Valid wildcards are '*' (zero or more characters) and '+' (one or more characters). The string can only contain one wildcard, and the wildcard must be at the start or the end of the string.
Required when type is 'WILDCARD'
|
||||||||||
is_default
boolean
|
|
Specifies whether to use the route or authentication server associated with this selection key as the default. The default is used if the value of a context variable in an incoming request does not match any of the other selection key values when dynamically routing and dynamically authenticating requests.
|
|||||||||
name
string
/ required
|
Name assigned to the branch.
|
||||||||||
type
string
|
|
Type of the selection key.
|
|||||||||
values
list
/ elements=string
|
The set of selection keys to match with the context variable in an incoming request. If the context variable exactly matches one of the keys in the set, the request is sent to the route or authentication server associated with the set.
Applicable when type is 'ANY_OF'
|
||||||||||
selection_source
dictionary
|
Required when type is 'DYNAMIC_ROUTING_BACKEND'
|
||||||||||
selector
string
/ required
|
String describing the context variable used as selector.
|
||||||||||
type
string
|
|
Type of the Selection source to use.
|
|||||||||
send_timeout_in_seconds
float
|
Defines a timeout for transmitting a request to the proxied server.
Applicable when type is 'HTTP_BACKEND'
|
||||||||||
status
integer
|
The status code of the stock response from the mock backend.
Required when type is 'STOCK_RESPONSE_BACKEND'
|
||||||||||
type
string
/ required
|
|
Type of the API backend.
|
|||||||||
url
string
|
Required when type is 'HTTP_BACKEND'
|
||||||||||
logging_policies
dictionary
|
|||||||||||
access_log
dictionary
|
|||||||||||
is_enabled
boolean
|
|
Enables pushing of access logs to the legacy OCI Object Storage log archival bucket.
Oracle recommends using the OCI Logging service to enable, retrieve, and query access logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'access' in OCI Logging service, the logs will not be uploaded to the legacy OCI Object Storage log archival bucket.
Please note that the functionality to push to the legacy OCI Object Storage log archival bucket has been deprecated and will be removed in the future.
|
|||||||||
execution_log
dictionary
|
|||||||||||
is_enabled
boolean
|
|
Enables pushing of execution logs to the legacy OCI Object Storage log archival bucket.
Oracle recommends using the OCI Logging service to enable, retrieve, and query execution logs for an API Deployment. If there is an active log object for the API Deployment and its category is set to 'execution' in OCI Logging service, the logs will not be uploaded to the legacy OCI Object Storage log archival bucket.
Please note that the functionality to push to the legacy OCI Object Storage log archival bucket has been deprecated and will be removed in the future.
|
|||||||||
log_level
string
|
|
Specifies the log level used to control logging output of execution logs. Enabling logging at a given level also enables logging at all higher levels.
|
|||||||||
methods
list
/ elements=string
|
|
A list of allowed methods on this route.
|
|||||||||
path
string
/ required
|
A URL path pattern that must be matched on this route. The path pattern may contain a subset of RFC 6570 identifiers to allow wildcard and parameterized matching.
|
||||||||||
request_policies
dictionary
|
|||||||||||
authorization
dictionary
|
|||||||||||
allowed_scope
list
/ elements=string
|
A user whose scope includes any of these access ranges is allowed on this route. Access ranges are case-sensitive.
Required when type is 'ANY_OF'
|
||||||||||
type
string
|
|
Indicates how authorization should be applied. For a type of ANY_OF, an "allowedScope" property must also be specified. Otherwise, only a type is required. For a type of ANONYMOUS, an authenticated API must have the "isAnonymousAccessAllowed" property set to "true" in the authentication policy.
|
|||||||||
body_validation
dictionary
|
|||||||||||
content
dictionary
/ required
|
The content of the request body. The key is a media type range subset restricted to the following schema
key ::= ( / ( "*" "/" "*" ) / ( type "/" "*" ) / ( type "/" subtype ) )
For requests that match multiple keys, only the most specific key is applicable. e.g. `text/plain` overrides `text/*`
|
||||||||||
validation_type
string
|
|
Validation type defines the content validation method.
Make the validation to first parse the body as the respective format.
|
|||||||||
required
boolean
|
|
Determines if the request body is required in the request.
|
|||||||||
validation_mode
string
|
|
Validation behavior mode.
In `ENFORCING` mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.
In `PERMISSIVE` mode, the result of the validation will be exposed as metrics while the request will follow the normal path.
`DISABLED` type turns the validation off.
|
|||||||||
cors
dictionary
|
|||||||||||
allowed_headers
list
/ elements=string
|
The list of headers that will be allowed from the client via the Access-Control-Allow-Headers header. '*' will allow all headers.
|
||||||||||
allowed_methods
list
/ elements=string
|
The list of allowed HTTP methods that will be returned for the preflight OPTIONS request in the Access-Control-Allow-Methods header. '*' will allow all methods.
|
||||||||||
allowed_origins
list
/ elements=string / required
|
The list of allowed origins that the CORS handler will use to respond to CORS requests. The gateway will send the Access-Control-Allow-Origin header with the best origin match for the circumstances. '*' will match any origins, and 'null' will match queries from 'file:' origins. All other origins must be qualified with the scheme, full hostname, and port if necessary.
|
||||||||||
exposed_headers
list
/ elements=string
|
The list of headers that the client will be allowed to see from the response as indicated by the Access-Control-Expose-Headers header. '*' will expose all headers.
|
||||||||||
is_allow_credentials_enabled
boolean
|
|
Whether to send the Access-Control-Allow-Credentials header to allow CORS requests with cookies.
|
|||||||||
max_age_in_seconds
integer
|
The time in seconds for the client to cache preflight responses. This is sent as the Access-Control-Max-Age if greater than 0.
|
||||||||||
header_transformations
dictionary
|
|||||||||||
filter_headers
dictionary
|
|||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
|
||||||||||
name
string
/ required
|
The case-insensitive name of the header. This name must be unique across transformation policies.
|
||||||||||
type
string
/ required
|
|
BLOCK drops any headers that are in the list of items, so it acts as an exclusion list. ALLOW permits only the headers in the list and removes all others, so it acts as an inclusion list.
|
|||||||||
rename_headers
dictionary
|
|||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
|
||||||||||
_from
string
/ required
|
The original case-insensitive name of the header. This name must be unique across transformation policies.
|
||||||||||
to
string
/ required
|
The new name of the header. This name must be unique across transformation policies.
|
||||||||||
set_headers
dictionary
|
|||||||||||
items
list
/ elements=dictionary / required
|
The list of headers.
|
||||||||||
if_exists
string
|
|
If a header with the same name already exists in the request, OVERWRITE will overwrite the value, APPEND will append to the existing value, or SKIP will keep the existing value.
|
|||||||||
name
string
/ required
|
The case-insensitive name of the header. This name must be unique across transformation policies.
|
||||||||||
values
list
/ elements=string / required
|
A list of new values. Each value can be a constant or may include one or more expressions enclosed within ${} delimiters.
|
||||||||||
header_validations
dictionary
|
|||||||||||
headers
list
/ elements=dictionary
|
|||||||||||
name
string
/ required
|
Parameter name.
|
||||||||||
required
boolean
|
|
Determines if the header is required in the request.
|
|||||||||
validation_mode
string
|
|
Validation behavior mode.
In `ENFORCING` mode, upon a validation failure, the request will be rejected with a 4xx response and not sent to the backend.
In `PERMISSIVE` mode, the result of the validation will be exposed as metrics while the request will follow the normal path.
`DISABLED` type turns the validation off.
|
|||||||||
query_parameter_transformations
dictionary
|
|||||||||||
filter_query_parameters
dictionary
|
|||||||||||
items
list
/ elements=dictionary / required
|
The list of query parameters.
|
||||||||||
name
string
/ required
|
The case-sensitive name of the query parameter.
|
||||||||||
type
string
/ required
|
|
BLOCK drops any query parameters that are in the list of items, so it acts as an exclusion list. ALLOW permits only the parameters in the list and removes all others, so it acts as an inclusion list.
|
|||||||||
rename_query_parameters
dictionary
|
|||||||||||
items
list
/ elements=dictionary / required
|
The list of query parameters.
|
||||||||||
_from
string
/ required
|
The original case-sensitive name of the query parameter. This name must be unique across transformation policies.
|
||||||||||
to
string
/ required
|
The new name of the query parameter. This name must be unique across transformation policies.
|
||||||||||