Skip to content

xcsh_registration (Data Source)

Retrieves information about a Registration resource in F5 Distributed Cloud for vpm creates registration using this message, never used by users. configuration. This is a read-only data source.

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

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

• namespace - Required String
Namespace where the Registration exists

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

• annotations - Optional Map
Annotations applied to this resource

• description - Optional String
Description of the Registration

• id - Optional String
Unique identifier for the resource

• infra - Optional String
InfraMetadata stores information about instance infrastructure

• labels - Optional Map
Labels applied to this resource

• passport - Optional String
Passport stores information about identification and node configuration provided by CE during registration. It can be manually updated by user during approval

• token - Optional String
Token is used for machine and tenant identification


An infra block supports the following:

• availability_zone - Optional String
Availability Zone is a high-availability offering that protects your applications and data from datacenter failures

• bond_config - Optional String
Bond device configuration for VPM registration

• certified_hw - Optional String
Certified HW name used to map with F5XC certified_hardware definition

• domain - Optional String
Machine domain. It’s used for Kubernetes cloud provider when domain must be different than F5 Distributed Cloud

• hostname - Optional String
Must be unique in entire cluster and same as OS settings. ’.’ (dots) are not allowed in hostname

• hw_info - Optional String
OsInfo holds information about host OS and HW

• instance_id - Optional String
Instance ID (assigned by infrastructure provider)

• interfaces - Optional String
Machine interfaces present during registration time

• internet_proxy - Optional String
Proxy describes OPTIONS for HTTP or HTTPS proxy configurations

• is_slo_static - Optional Bool
Is SLO Static. Indicates whether the SLO is static

• machine_id - Optional String
Machine ID - generated by operating system

• provider_ref - Optional String
Possible values are UNKNOWN, AWS, GOOGLE, AZURE, VMWARE, KVM, OTHER, VOLTERRA, IBMCLOUD, UNKNOWN_K8S, AWS_K8S, GCP_K8S, AZURE_K8S, VMWARE_K8S, KVM_K8S, OTHER_K8S, VOLTERRA_K8S, IBMCLOUD_K8S, F5OS, RSERIES, OCI, NUTANIX, OPENSTACK, EQUINIX, OPENSHIFT_VIRTUALIZATION
[Enum: UNKNOWN|AWS|GOOGLE|AZURE|VMWARE|KVM|OTHER|VOLTERRA|IBMCLOUD|UNKNOWN_K8S|AWS_K8S|GCP_K8S|AZURE_K8S|VMWARE_K8S|KVM_K8S|OTHER_K8S|VOLTERRA_K8S|IBMCLOUD_K8S|F5OS|RSERIES|OCI|NUTANIX|OPENSTACK|EQUINIX|OPENSHIFT_VIRTUALIZATION] Infrastructure provider enum for registration. It describes where is instance running. Provider was not detected AWS cloud instance Google cloud instance Azure cloud instance VMWare VM KVM VM Other provider, which was not identified by system

• sw_info - Optional String
SWInfo holds information about sw version

• timestamp - Optional String
It’s used to verify machine have acceptable time difference from server

• zone - Optional String
Instance zone (or region), depends on provider

A bond_config block (within infra) supports the following:

• interfaces - Optional List
Member Interfaces. Configuration parameter for interfaces

• mode - Optional String Defaults to BOND_MODE_UNSPECIFIED
Possible values are BOND_MODE_UNSPECIFIED, ACTIVE_BACKUP, LACP_802_3AD
[Enum: BOND_MODE_UNSPECIFIED|ACTIVE_BACKUP|LACP_802_3AD] Bonding mode for bond device configuration Bond mode is not specified Active-backup bond mode (one interface active, others as backup) IEEE 802.3ad Dynamic link aggregation (LACP)

• name - Optional String
Bond Name. Human-readable name for the resource

A hw_info block (within infra) supports the following:

• bios - Optional String
Bios Data. BIOS information

• board - Optional String
Board Details. Board information

• chassis - Optional String
Chassis Details. Chassis information

• cpu - Optional String
CPU Information. CPU information

• gpu - Optional String
GPU. GPU information on server

• kernel - Optional String
Kernel. Kernel information

• memory - Optional String
Memory Information. Memory information

• network - Optional List
Network. List of network devices in server

• numa_nodes - Optional Number
Non-uniform memory access (NUMA) nodes count

• os - Optional String
OS. Details of Operating System

• product - Optional String
Product Information. Product information

• storage - Optional List
Storage. List of storage devices in server

• usb - Optional List
USB devices. List of USB devices in server

A bios block (within infra.hw_info) supports the following:

• date - Optional String
Information from /sys/class/dmi/ID/bios_date

• vendor - Optional String
Information from /sys/class/dmi/ID/bios_vendor

• version - Optional String
Information from /sys/class/dmi/ID/bios_version

A board block (within infra.hw_info) supports the following:

• asset_tag - Optional String
Information from /sys/class/dmi/ID/board_asset_tag

• name - Optional String
Information from /sys/class/dmi/ID/board_name

• serial - Optional String
Information from /sys/class/dmi/ID/board_serial

• vendor - Optional String
Information from /sys/class/dmi/ID/board_vendor

• version - Optional String
Information from /sys/class/dmi/ID/board_version

A chassis block (within infra.hw_info) supports the following:

• asset_tag - Optional String
Information from /sys/class/dmi/ID/chassis_asset_tag

• serial - Optional String
Information from /sys/class/dmi/ID/chassis_serial

• type - Optional Number
Information from /sys/class/dmi/ID/chassis_type

• vendor - Optional String
Information from /sys/class/dmi/ID/chassis_vendor

• version - Optional String
Information from /sys/class/dmi/ID/chassis_version

A cpu block (within infra.hw_info) supports the following:

• cache - Optional Number
Cache. CPU cache size in KB

• cores - Optional Number
Cores. Number of physical CPU cores

• cpus - Optional Number
CPUs. Number of physical CPUs

• model - Optional String
Model. CPU model

• speed - Optional Number
Speed. CPU clock rate in MHz

• threads - Optional Number
Threads. Number of logical (HT) CPU cores

• vendor - Optional String
Vendor. CPU vendor

A gpu block (within infra.hw_info) supports the following:

• cuda_version - Optional String
Cuda Version. GPU Cuda Version

• driver_version - Optional String
Driver Version. GPU Driver Version

• gpu_device - Optional List
GPU devices. List of GPU devices in server

A gpu_device block (within infra.hw_info.gpu) supports the following:

• id - Optional String
GPU ID. GPU ID

• processes - Optional String
Processes. GPU Processes

• product_name - Optional String
Product Name. GPU Product Name

A kernel block (within infra.hw_info) supports the following:

• architecture - Optional String
Architecture. Kernel architecture

• release - Optional String
Release. Kernel release

• version - Optional String
Version. Kernel version

A memory block (within infra.hw_info) supports the following:

• size_mb - Optional Number
RAM. RAM size in MB

• speed - Optional Number
Speed. RAM data rate in MT/s

• type - Optional String
Type. Type of memory, eg. DDR4

A network block (within infra.hw_info) supports the following:

• driver - Optional String
Driver. Driver of device, eg. E1000e

• ip_address - Optional List
IP Address. IP address on interface

• link_quality - Optional String Defaults to QUALITY_UNKNOWN
Possible values are QUALITY_UNKNOWN, QUALITY_GOOD, QUALITY_POOR, QUALITY_DISABLED
[Enum: QUALITY_UNKNOWN|QUALITY_GOOD|QUALITY_POOR|QUALITY_DISABLED] Link quality determined by VER using different probes Unknown quality Link quality is good Link quality is poor Quality disabled

• link_type - Optional String Defaults to LINK_TYPE_UNKNOWN
Possible values are LINK_TYPE_UNKNOWN, LINK_TYPE_ETHERNET, LINK_TYPE_WIFI_802_11AC, LINK_TYPE_WIFI_802_11BGN, LINK_TYPE_4G, LINK_TYPE_WIFI, LINK_TYPE_WAN
[Enum: LINK_TYPE_UNKNOWN|LINK_TYPE_ETHERNET|LINK_TYPE_WIFI_802_11AC|LINK_TYPE_WIFI_802_11BGN|LINK_TYPE_4G|LINK_TYPE_WIFI|LINK_TYPE_WAN] Link type of interface determined operationally Link type unknown Link type ethernet Wi-Fi link of type 802.11ac Wi-Fi link of type 802.11bgn Link type 4G Wi-Fi link Wan link

• mac_address - Optional String
MAC Address. MAC address on interface

• name - Optional String
Name. Name of device, eg. Eth0

• port - Optional String
Port. Used port, eg. Tp

• speed - Optional Number
Speed. Device max supported speed in Mbps

An os block (within infra.hw_info) supports the following:

• architecture - Optional String
Architecture. Architecture of OS

• name - Optional String
Name. Name of OS

• release - Optional String
Release. Release of the OS

• vendor - Optional String
Vendor. Vendor of OS

• version - Optional String
Version. Version of OS

A product block (within infra.hw_info) supports the following:

• name - Optional String
Name. Product name, eg. For AWS m5a.xlarge. Info taken from /sys/class/dmi/ID/product_name

• serial - Optional String
Serial number, eg. For AWS 00000000-0000-4000-8000-23460f645a1f. Info taken from /sys/class/dmi/ID/product_serial

• vendor - Optional String
Vendor. Vendor name, eg. For AWS Amazon EC2. Info taken from /sys/class/dmi/ID/product_vendor

• version - Optional String
Version name. Info taken from /sys/class/dmi/ID/product_version

A storage block (within infra.hw_info) supports the following:

• driver - Optional String
Driver. Driver of device

• model - Optional String
Model. Model of device

• name - Optional String
Name. Name of device, eg. Nvme0n1

• serial - Optional String
Serial Number. Serial of device

• size_gb - Optional Number
Size(GB). Device size in GB

• vendor - Optional String
Vendor. Vendor of device

An usb block (within infra.hw_info) supports the following:

• address - Optional Number
Address of the device on the bus in decimal

• 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

• b_max_packet_size - Optional Number
Max packet size. Maximum size of the control transfer

• bcd_device - Optional String
BCD Device. The device version

• bcd_usb - Optional String
BCD Spec. USB Specification Release Number

• bus - Optional Number
The bus on which the device was detected in decimal

• description_spec - Optional String
Description. Device description

• i_manufacturer - Optional String
Manufacturer. Manufacturer name

• i_product - Optional String
Device product. Product name reported by 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

• port - Optional Number
Port on which the device was detected in decimal

• product_name - Optional String
Product ID translated to name (if available)

• speed - Optional String
The negotiated operating speed for the device

• usb_type - Optional String Defaults to UNKNOWN_USB
Possible values are UNKNOWN_USB, INTERNAL, REGISTERED, CONFIGURABLE
[Enum: UNKNOWN_USB|INTERNAL|REGISTERED|CONFIGURABLE] Type of USB device Unknown USB device type Internal USB present in Certified HW USB device present during node registration USB device that can be matched by USB rules

• vendor_name - Optional String
Vendor ID translated to name (if available)

An interfaces block (within infra) supports the following:

An internet_proxy block (within infra) supports the following:

• http_proxy - Optional String
It will be used as the proxy URL for HTTP requests and HTTPS requests unless overridden by HTTPSProxy or NoProxy

• https_proxy - Optional String
It will be used as the proxy URL for HTTPS requests unless overridden by NoProxy

• no_proxy - Optional String
It specifies a string that contains comma-separated values specifying hosts that should be excluded from proxying. Each value is represented by an IP address prefix (192.0.2.103), an IP address prefix in CIDR notation (192.0.2.103/8), a domain name, or a special DNS label (*). An IP address

• proxy_cacert_url - Optional String
Allow optional different trust-store for proxy in HTTP CONNECT step by picking proxy CA certificate value

A sw_info block (within infra) supports the following:

• sw_version - Optional String
SW Version. SW Version in the site

A passport block supports the following:

• cluster_name - Optional String
Cluster Name. Human-readable name for the resource

• cluster_size - Optional Number
Defines how many master nodes is in the cluster, only 1 or 3 is allowed 1 - cluster have single master, without HA 3 - cluster have 3 masters, with HA, all nodes should be allowed at same time, cluster won’t start until ALL nodes are ADMITTED 0 - same as 1 This value can’t be changed after

• cluster_type - Optional String
Cluster Type. Cluster or grouping configuration

• default_os_version - Optional Object
Enable this option

• default_sw_version - Optional Object
Enable this option

• latitude - Optional Number
Latitude. Geographic location of this site

• longitude - Optional Number
Longitude. Geographic location of this site

• operating_system_version - Optional String
Operating System Version is optional parameter, which allows to specify target SW version for particular site e.g. 7.2009.10

• private_network_name - Optional String
Private Network name for private access connectivity to F5XC ADN. It is used for PrivateLink, CloudLink and L3VPN

• volterra_software_version - Optional String
F5XC Software Version is optional parameter, which allows to specify target SW version for particular site e.g. Crt-20210329-1002

A default_os_version block (within passport) supports the following:

A default_sw_version block (within passport) supports the following:


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