Skip to content

xcsh_certified_hardware (Data Source)

Retrieves information about a Certified Hardware resource in F5 Distributed Cloud for get certified hardware object. configuration. (read-only data source)

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

# CertifiedHardware Data Source Example
terraform {
required_version = ">= 1.0"
required_providers {
xcsh = {
source = "f5-sales-demo/xcsh"
version = ">= 0.1.0"
}
}
}
# Look up an existing CertifiedHardware by name
data "xcsh_certified_hardware" "example" {
name = "example-certified-hardware"
namespace = "staging"
}
output "certified_hardware_id" {
value = data.xcsh_certified_hardware.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.

• name - Required String
Name of the CertifiedHardware to look up

• namespace - Required String
Namespace of the CertifiedHardware

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

• annotations - Optional Map
Annotations

• certified_hardware_type - Optional String Defaults to VOLTMESH
Possible values are VOLTMESH, VOLTSTACK_COMBO, CLOUD_MARKET_PLACE
[Enum: VOLTMESH|VOLTSTACK_COMBO|CLOUD_MARKET_PLACE] Different type of certified HW for billing rate

• description - Optional String
Description

• devices - Optional List
List of supported devices in this model

• id - Optional String
Unique identifier

• image_list - Optional List
List of image names with providers for this certified hardware, e.g. AWS ami-0f99d090261d2acd5

• internal_usb_device_rule - Optional List
List of internal USB device rules for server

• labels - Optional Map
Labels

• mem_page_number - Optional Number
Number of pages allocated in this certified hardware for Hugepages. Each page size is defined above in ‘mem_page_size’ Total memory reserved for Hugepages is ‘mem_page_size * mem_page_number’

• mem_page_size - Optional String Defaults to HARDWARE_MEM_PAGE_SIZE_INVALID
Possible values are HARDWARE_MEM_PAGE_SIZE_INVALID, HARDWARE_MEM_PAGE_SIZE_4KB, HARDWARE_MEM_PAGE_SIZE_2MB, HARDWARE_MEM_PAGE_SIZE_1GB
[Enum: HARDWARE_MEM_PAGE_SIZE_INVALID|HARDWARE_MEM_PAGE_SIZE_4KB|HARDWARE_MEM_PAGE_SIZE_2MB|HARDWARE_MEM_PAGE_SIZE_1GB] Memory for packets buffers etc are allocated in blocks of pages. Size of each memory page is defined here. Invalid Page size Page size of 4KB Page size of 2MB Page size of 1GB

• numa_mem - Optional List
List of Numa nodes with the number of MB of instance memory to map to node instance If not specified, memory is evenly divided among available NUMA nodes

• numa_nodes - Optional Number
The number of host NUMA nodes used in certified hardware

• vendor_model_list - Optional List
List of supported hardware vendor and model for this certified hardware


A devices block supports the following:

• device_list - Optional List
In case of logical boot strap devices like LACP Link aggregation or RAID

• max_unit - Optional Number
Last unit number of the device supported in this certified hardware

• min_unit - Optional Number
First unit number of the device supported in this certified hardware

• name - Optional String
Device. Name of the device

• type - Optional String Defaults to HARDWARE_DEVICE_INVALID
Possible values are HARDWARE_DEVICE_INVALID, HARDWARE_DEVICE_ETHERNET, HARDWARE_DEVICE_VIRTIO, HARDWARE_DEVICE_TUNTAP, HARDWARE_DEVICE_BOND, HARDWARE_DEVICE_EXTERNAL_ISCSI_STORTAGE, HARDWARE_DEVICE_NVIDIA_GPU
[Enum: HARDWARE_DEVICE_INVALID|HARDWARE_DEVICE_ETHERNET|HARDWARE_DEVICE_VIRTIO|HARDWARE_DEVICE_TUNTAP|HARDWARE_DEVICE_BOND|HARDWARE_DEVICE_EXTERNAL_ISCSI_STORTAGE|HARDWARE_DEVICE_NVIDIA_GPU] Different type of devices supported Invalid device or device that’s not supported Ethernet device VIRTIO device TUNTAP device LACP based bond interface External iSCSI devices supported Nvidia GPU device used for machine learning

• use - Optional String Defaults to HARDWARE_DEVICE_USE_REGULAR
Possible values are HARDWARE_DEVICE_USE_REGULAR, HARDWARE_DEVICE_USE_INTERNAL, HARDWARE_NETWORK_DEVICE_USE_REGULAR, HARDWARE_NETWORK_DEVICE_USE_INTERNAL, HARDWARE_NETWORK_DEVICE_USE_MANAGEMENT, HARDWARE_NETWORK_DEVICE_USE_OUTSIDE, HARDWARE_NETWORK_DEVICE_USE_INSIDE, HARDWARE_NETWORK_DEVICE_USE_OUTSIDE_LAG, HARDWARE_NETWORK_DEVICE_USE_INSIDE_LAG, HARDWARE_NETWORK_DEVICE_USE_LAG_MEMBER, HARDWARE_NETWORK_DEVICE_USE_STORAGE, HARDWARE_NETWORK_DEVICE_USE_FALLBACK_MANAGEMENT
[Enum: HARDWARE_DEVICE_USE_REGULAR|HARDWARE_DEVICE_USE_INTERNAL|HARDWARE_NETWORK_DEVICE_USE_REGULAR|HARDWARE_NETWORK_DEVICE_USE_INTERNAL|HARDWARE_NETWORK_DEVICE_USE_MANAGEMENT|HARDWARE_NETWORK_DEVICE_USE_OUTSIDE|HARDWARE_NETWORK_DEVICE_USE_INSIDE|HARDWARE_NETWORK_DEVICE_USE_OUTSIDE_LAG|HARDWARE_NETWORK_DEVICE_USE_INSIDE_LAG|HARDWARE_NETWORK_DEVICE_USE_LAG_MEMBER|HARDWARE_NETWORK_DEVICE_USE_STORAGE|HARDWARE_NETWORK_DEVICE_USE_FALLBACK_MANAGEMENT] Defines how the device instance must be used If the device is owned by F5 Distributed Cloud software, it is available for users to configure as required Device reserved for internal use by F5 Distributed Cloud Node If the Network device is owned by VER, it is available for users to configure as

An image_list block supports the following:

• aws - Optional String
AWS. AWS specific information

• azure - Optional String
Azure. Azure specific information

• gcp - Optional String
GCP. GCP specific information

• name - Optional String
Name. Image name to use for this hardware

• provider_ref - Optional String
Image provider F5 Distributed Cloud, Cloud provider like AWS or Azure

An aws block (within image_list) supports the following:

• image_id - Optional String
Configuration for image_id

An image_id block (within image_list.aws) supports the following:

• image_id - Optional String
AWS ami image name. AWS ami image

• region - Optional String
AWS ami image region. AWS ami image region

An azure block (within image_list) supports the following:

• image_id - Optional String
Configuration for image_id

• marketplace - Optional String
Configuration parameter for marketplace

An image_id block (within image_list.azure) supports the following:

• image_id - Optional String
Azure image ID info. Azure image ID

A marketplace block (within image_list.azure) supports the following:

• name - Optional String
Azure Marketplace Name. Azure Marketplace Name

• offer - Optional String
Azure Marketplace offer. Azure Marketplace offer

• publisher - Optional String
Azure Marketplace Publisher. Azure Marketplace Publisher

• sku - Optional String
Azure Marketplace SKU. Azure Marketplace SKU

• version - Optional String
Azure Marketplace Version. Azure Marketplace Version

A gcp block (within image_list) supports the following:

• image_id - Optional String
Configuration for image_id

An image_id block (within image_list.gcp) supports the following:

• image_id - Optional String
GCP image name. GCP image

An internal_usb_device_rule block supports the following:

• b_device_class - Optional String
Class. The class of this device

• b_device_protocol - Optional String
The protocol (within the subclass) of this device

• b_device_sub_class - Optional String
The subclass (within the class) of this device

• i_serial - Optional String
Index of Serial Number String Descriptor

• id_product - Optional String
Product ID (Assigned by Manufacturer) in hex

• id_vendor - Optional String
Vendor ID. Vendor ID (Assigned by USB Org) in hex

A numa_mem block supports the following:

• memory - Optional Number
The number of MB of instance memory to map to instance NUMA node N

• node - Optional Number
Node. NUMA node instance with mapped memory

A vendor_model_list block supports the following:

• model - Optional String
Hw Model or instance type from cloud provider like number of interfaces, vCPUs, memory

• vendor - Optional String
Vendor could be F5 Distributed Cloud, Dell, Cloud provider like AWS or Azure


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