- Home
- Documentation
- Sites
- Resources
- xcsh_registration (Resource)
xcsh_registration (Resource)
Manages a Registration resource in F5 Distributed Cloud for vpm creates registration using this message, never used by users. configuration.
~> Note For more information about this resource, please refer to the F5 XC API Documentation.
Example Usage
Section titled “Example Usage”# Registration Resource Example# Manages a Registration resource in F5 Distributed Cloud for vpm creates registration using this message, never used by users.
terraform { required_version = ">= 1.0"
required_providers { xcsh = { source = "f5-sales-demo/xcsh" version = ">= 0.1.0" } }}
# Basic Registration configurationresource "xcsh_registration" "example" { name = "example-registration" namespace = "staging"
token = "example-value"}Argument Reference
Section titled “Argument Reference”-> Syntax Rule: This provider uses OneOf groups for mutually exclusive options. Fields documented as “Optional Block” use empty block syntax field_name {}, never field_name = true. Boolean attributes (like add_hsts, http_redirect) use = true/false as normal.
🔶 High Risk Operations — Some operations on this resource have high danger level. Destructive operations may require confirmation.
Metadata Argument Reference
Section titled “Metadata Argument Reference”• name - Required String
Name of the Registration. Must be unique within the namespace
• namespace - Required String
Namespace where the Registration will be created
• annotations - Optional Map
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata
• description - Optional String
Human readable description for the object
• disable - Optional Bool
A value of true will administratively disable the object
• labels - Optional Map
Labels is a user defined key value map that can be attached to resources for organization and filtering
Spec Argument Reference
Section titled “Spec Argument Reference”• infra - Optional Block
InfraMetadata stores information about instance infrastructure
See Infra below for details.
• passport - Optional Block
Passport stores information about identification and node configuration provided by CE during registration. It can be manually updated by user during approval
See Passport below for details.
• timeouts - Optional Block
See Timeouts below for details.
• token - Required String
Token is used for machine and tenant identification
Attributes Reference
Section titled “Attributes Reference”In addition to all arguments above, the following attributes are exported:
• id - Optional String
Unique identifier for the resource
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 Block
Bond device configuration for VPM registration
See Bond Config below.
• 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 Block
OsInfo holds information about host OS and HW
See Hw Info below.
• instance_id - Optional String
Instance ID (assigned by infrastructure provider)
• interfaces - Optional Block
Machine interfaces present during registration time
• internet_proxy - Optional Block
Proxy describes OPTIONS for HTTP or HTTPS proxy configurations
See internet Proxy below.
• 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 Block
SWInfo holds information about sw version
See Sw Info below.
• 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
Infra Bond Config
Section titled “Infra Bond Config”A bond_config block (within infra) supports the following:
• interfaces - Optional List
Member 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
Infra Hw Info
Section titled “Infra Hw Info”A hw_info block (within infra) supports the following:
• bios - Optional Block
Bios Data. BIOS information
See Bios below.
• board - Optional Block
Board Details. Board information
See Board below.
• chassis - Optional Block
Chassis Details. Chassis information
See Chassis below.
• cpu - Optional Block
CPU Information. CPU information
See CPU below.
• gpu - Optional Block
GPU. GPU information on server
See GPU below.
• kernel - Optional Block
Kernel. Kernel information
See Kernel below.
• memory - Optional Block
Memory Information. Memory information
See Memory below.
• network - Optional Block
Network. List of network devices in server
See Network below.
• numa_nodes - Optional Number
Non-uniform memory access (NUMA) nodes count
• os - Optional Block
OS. Details of Operating System
See OS below.
• product - Optional Block
Product Information. Product information
See Product below.
• storage - Optional Block
Storage. List of storage devices in server
See Storage below.
• usb - Optional Block
USB devices. List of USB devices in server
See Usb below.
Infra Hw Info Bios
Section titled “Infra Hw Info Bios”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
Infra Hw Info Board
Section titled “Infra Hw Info Board”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
Infra Hw Info Chassis
Section titled “Infra Hw Info Chassis”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
Infra Hw Info CPU
Section titled “Infra Hw Info CPU”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
Infra Hw Info GPU
Section titled “Infra Hw Info GPU”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 Block
GPU devices. List of GPU devices in server
See GPU Device below.
Infra Hw Info GPU GPU Device
Section titled “Infra Hw Info GPU GPU Device”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
Infra Hw Info Kernel
Section titled “Infra Hw Info Kernel”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
Infra Hw Info Memory
Section titled “Infra Hw Info Memory”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
Infra Hw Info Network
Section titled “Infra Hw Info Network”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
Infra Hw Info OS
Section titled “Infra Hw Info OS”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
Infra Hw Info Product
Section titled “Infra Hw Info Product”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 ec254b6d-9676-1a51-8b10-21370dbdc3e5. 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
Infra Hw Info Storage
Section titled “Infra Hw Info Storage”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
Infra Hw Info Usb
Section titled “Infra Hw Info Usb”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)
Infra internet Proxy
Section titled “Infra internet Proxy”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.1), an IP address prefix in CIDR notation (192.0.2.0/24), a domain name, or a special DNS label (*). An IP
address prefix and
• proxy_cacert_url - Optional String
Allow optional different trust-store for proxy in HTTP CONNECT step by picking proxy CA certificate value
Infra Sw Info
Section titled “Infra Sw Info”A sw_info block (within infra) supports the following:
• sw_version - Optional String
SW Version. SW Version in the site
Passport
Section titled “Passport”A passport block supports the following:
• cluster_name - Optional String
Cluster Name
• 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
• default_os_version - Optional Block
Enable this option
• default_sw_version - Optional Block
Enable this option
• latitude - Optional Number
Geographic location of this site
• longitude - Optional Number
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
Timeouts
Section titled “Timeouts”A timeouts block supports the following:
• create - Optional String (Defaults to 10 minutes)
Used when creating the resource
• delete - Optional String (Defaults to 10 minutes)
Used when deleting the resource
• read - Optional String (Defaults to 5 minutes)
Used when retrieving the resource
• update - Optional String (Defaults to 10 minutes)
Used when updating the resource
Common Types
Section titled “Common Types”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.
| Field | Type | Description |
|---|---|---|
name | String | Name of the referenced object |
namespace | String | Namespace containing the referenced object |
tenant | String | Tenant of the referenced object (system-managed) |
Transformers {#common-transformers}
Section titled “Transformers {#common-transformers}”Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
| Value | Description |
|---|---|
LOWER_CASE | Convert to lowercase |
UPPER_CASE | Convert to uppercase |
BASE64_DECODE | Decodebase64 content |
NORMALIZE_PATH | Normalize URL path |
REMOVE_WHITESPACE | Remove whitespace characters |
URL_DECODE | Decode URL-encoded characters |
TRIM_LEFT | Trim leading whitespace |
TRIM_RIGHT | Trim trailing whitespace |
TRIM | Trim both leading and trailing whitespace |
HTTP Methods {#common-http-methods}
Section titled “HTTP Methods {#common-http-methods}”HTTP methods used for request matching.
| Value | Description |
|---|---|
ANY | Match any HTTP method |
GET | HTTP GET request |
HEAD | HTTP HEAD request |
POST | HTTP POST request |
PUT | HTTP PUT request |
DELETE | HTTP DELETE request |
CONNECT | HTTP CONNECT request |
OPTIONS | HTTP OPTIONS request |
TRACE | HTTP TRACE request |
PATCH | HTTP PATCH request |
COPY | HTTP COPY request (WebDAV) |
TLS Fingerprints {#common-tls-fingerprints}
Section titled “TLS Fingerprints {#common-tls-fingerprints}”TLS fingerprint categories for malicious client detection.
| Value | Description |
|---|---|
TLS_FINGERPRINT_NONE | No fingerprint matching |
ANY_MALICIOUS_FINGERPRINT | Match any known malicious fingerprint |
ADWARE | Adware-associated fingerprints |
DRIDEX | Dridex malware fingerprints |
GOOTKIT | Gootkit malware fingerprints |
RANSOMWARE | Ransomware-associated fingerprints |
TRICKBOT | Trickbot 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.
| Value | Description |
|---|---|
SPAM_SOURCES | Known spam sources |
WINDOWS_EXPLOITS | Windows exploit sources |
WEB_ATTACKS | Web attack sources |
BOTNETS | Known botnet IPs |
SCANNERS | Network scanner IPs |
REPUTATION | Poor reputation IPs |
PHISHING | Phishing-related IPs |
PROXY | Anonymous proxy IPs |
MOBILE_THREATS | Mobile threat sources |
TOR_PROXY | Tor exit nodes |
DENIAL_OF_SERVICE | DoS attack sources |
NETWORK | Known bad network ranges |
Import
Section titled “Import”Import is supported using the following syntax:
# Import using namespace/name formatterraform import xcsh_registration.example system/example