Skip to content

xcsh_api_testing (Data Source)

Retrieves information about an API Testing resource in F5 Distributed Cloud. This is a read-only data source.

~> Note: For more information, see the F5 Distributed Cloud API documentation.

# APITesting Data Source Example
terraform {
required_version = ">= 1.0"
required_providers {
xcsh = {
source = "f5-sales-demo/xcsh"
version = ">= 0.1.0"
}
}
}
# Look up an existing APITesting by name
data "xcsh_api_testing" "example" {
name = "example-api-testing"
namespace = "staging"
}
output "api_testing_id" {
value = data.xcsh_api_testing.example.id
}

-> Syntax Rule: This provider uses OneOf groups for mutually exclusive options. Fields documented as “Optional Block” use block syntax field_name { ... }. Empty OneOf object attributes use field_name = {}; conditional selection uses condition ? {} : null. Boolean attributes (such as add_hsts and http_redirect) use = true or = false.

🔶 High Risk Operations — Some operations on this resource have high danger level. Destructive operations may require confirmation.

• name - Required String
Name of the APITesting

• namespace - Required String
Namespace where the APITesting exists

In addition to all arguments above, the following attributes are exported:

• annotations - Optional Map
Annotations applied to this resource

• custom_header_value - Optional String
Add x-F5-API-testing-identifier header value to prevent security flags on API testing traffic

• description - Optional String
Description of the APITesting

• domains - Optional List
Add and configure testing domains and credentials

• every_day - Optional Object
Enable this option

• every_month - Optional Object
Configuration parameter for every month

• every_week - Optional Object
Enable this option

• id - Optional String
Unique identifier for the resource

• labels - Optional Map
Labels applied to this resource


A domains block supports the following:

• allow_destructive_methods - Optional Bool
Enable to allow API Testing to execute against destructive methods. Use with caution as these may modify or DELETE data

• credentials - Optional List
Add credentials for API testing to use in the selected environment

• domain - Optional String
Add your testing environment domain. Be aware that running tests on a production domain can impact live applications, as API testing cannot distinguish between production and testing environments

A credentials block (within domains) supports the following:

• admin - Optional Object
Enable this option

• api_key - Optional String
API Key

• basic_auth - Optional String
Basic Authentication

• bearer_token - Optional String
Configuration parameter for bearer token

• credential_name - Optional String
Enter a unique name for the credentials used in API testing

• login_endpoint - Optional String
Login Endpoint

• standard - Optional Object
Enable this option

An admin block (within domains.credentials) supports the following:

An api_key block (within domains.credentials) supports the following:

• key - Optional String
Key. Cryptographic key material

• value - Optional String
SecretType is used in an object to indicate a sensitive/confidential field

A value block (within domains.credentials.api_key) supports the following:

• blindfold_secret_info - Optional String
BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management

• clear_secret_info - Optional String
ClearSecretInfoType specifies information about the Secret that is not encrypted

Domains Credentials API Key Value Blindfold Secret Info

Section titled “Domains Credentials API Key Value Blindfold Secret Info”

Deeply nested Info block collapsed for readability.

Domains Credentials API Key Value Clear Secret Info

Section titled “Domains Credentials API Key Value Clear Secret Info”

Deeply nested Info block collapsed for readability.

A basic_auth block (within domains.credentials) supports the following:

• password - Optional String
SecretType is used in an object to indicate a sensitive/confidential field

• user - Optional String
User. Configuration parameter for user

A password block (within domains.credentials.basic_auth) supports the following:

• blindfold_secret_info - Optional String
BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management

• clear_secret_info - Optional String
ClearSecretInfoType specifies information about the Secret that is not encrypted

Domains Credentials Basic Auth Password Blindfold Secret Info

Section titled “Domains Credentials Basic Auth Password Blindfold Secret Info”

Deeply nested Info block collapsed for readability.

Domains Credentials Basic Auth Password Clear Secret Info

Section titled “Domains Credentials Basic Auth Password Clear Secret Info”

Deeply nested Info block collapsed for readability.

A bearer_token block (within domains.credentials) supports the following:

• token - Optional String
SecretType is used in an object to indicate a sensitive/confidential field

A token block (within domains.credentials.bearer_token) supports the following:

• blindfold_secret_info - Optional String
BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management

• clear_secret_info - Optional String
ClearSecretInfoType specifies information about the Secret that is not encrypted

Domains Credentials Bearer Token Token Blindfold Secret Info

Section titled “Domains Credentials Bearer Token Token Blindfold Secret Info”

Deeply nested Info block collapsed for readability.

Domains Credentials Bearer Token Token Clear Secret Info

Section titled “Domains Credentials Bearer Token Token Clear Secret Info”

Deeply nested Info block collapsed for readability.

A login_endpoint block (within domains.credentials) supports the following:

• json_payload - Optional String
SecretType is used in an object to indicate a sensitive/confidential field

• method - Optional String Defaults to ANY
See HTTP Methods
Specifies the HTTP method used to access a resource. Any HTTP Method

• path - Optional String
Path. URL path for the endpoint

• token_response_key - Optional String
Configuration parameter for token response key

Domains Credentials Login Endpoint JSON Payload

Section titled “Domains Credentials Login Endpoint JSON Payload”

A json_payload block (within domains.credentials.login_endpoint) supports the following:

• blindfold_secret_info - Optional String
BlindfoldSecretInfoType specifies information about the Secret managed by F5XC Secret Management

• clear_secret_info - Optional String
ClearSecretInfoType specifies information about the Secret that is not encrypted

Domains Credentials Login Endpoint JSON Payload Blindfold Secret Info

Section titled “Domains Credentials Login Endpoint JSON Payload Blindfold Secret Info”

Deeply nested Info block collapsed for readability.

Domains Credentials Login Endpoint JSON Payload Clear Secret Info

Section titled “Domains Credentials Login Endpoint JSON Payload Clear Secret Info”

Deeply nested Info block collapsed for readability.


The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.

Object Reference {#common-object-reference}

Section titled “Object Reference {#common-object-reference}”

Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format tenant/namespace/name.

FieldTypeDescription
nameStringName of the referenced object
namespaceStringNamespace containing the referenced object
tenantStringTenant of the referenced object (system-managed)

Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.

ValueDescription
LOWER_CASEConvert to lowercase
UPPER_CASEConvert to uppercase
BASE64_DECODEDecodebase64 content
NORMALIZE_PATHNormalize URL path
REMOVE_WHITESPACERemove whitespace characters
URL_DECODEDecode URL-encoded characters
TRIM_LEFTTrim leading whitespace
TRIM_RIGHTTrim trailing whitespace
TRIMTrim both leading and trailing whitespace

HTTP methods used for request matching.

ValueDescription
ANYMatch any HTTP method
GETHTTP GET request
HEADHTTP HEAD request
POSTHTTP POST request
PUTHTTP PUT request
DELETEHTTP DELETE request
CONNECTHTTP CONNECT request
OPTIONSHTTP OPTIONS request
TRACEHTTP TRACE request
PATCHHTTP PATCH request
COPYHTTP COPY request (WebDAV)

TLS Fingerprints {#common-tls-fingerprints}

Section titled “TLS Fingerprints {#common-tls-fingerprints}”

TLS fingerprint categories for malicious client detection.

ValueDescription
TLS_FINGERPRINT_NONENo fingerprint matching
ANY_MALICIOUS_FINGERPRINTMatch any known malicious fingerprint
ADWAREAdware-associated fingerprints
DRIDEXDridex malware fingerprints
GOOTKITGootkit malware fingerprints
RANSOMWARERansomware-associated fingerprints
TRICKBOTTrickbot malware fingerprints

IP Threat Categories {#common-ip-threat-categories}

Section titled “IP Threat Categories {#common-ip-threat-categories}”

IP address threat categories for security filtering.

ValueDescription
SPAM_SOURCESKnown spam sources
WINDOWS_EXPLOITSWindows exploit sources
WEB_ATTACKSWeb attack sources
BOTNETSKnown botnet IPs
SCANNERSNetwork scanner IPs
REPUTATIONPoor reputation IPs
PHISHINGPhishing-related IPs
PROXYAnonymous proxy IPs
MOBILE_THREATSMobile threat sources
TOR_PROXYTor exit nodes
DENIAL_OF_SERVICEDoS attack sources
NETWORKKnown bad network ranges