GlobalLB¶
Interfaces¶
Interface | Description |
Application | The Application interface enables you to work with applications running within Wide IPs. |
DNSSECKey | The DNSSECKey interface manages the cryptographic keys used for securing DNS information, i.e., DNSSEC. The keys managed by this interface can be used to sign DNS record groups and the keys themselves. Technically, there is not a single key for each key object. This key is re-created on a regular schedule, which can be controlled via this interface. Each re-generated key is considered a new “generation” - a term used more in its genealogical sense than a creation sense. A single key generation can have its lifetime changed. Thus when using this interface, be careful to distinguish the attributes which apply to this whole process vs those that apply to a single key generation. Once a key generation is created, it is fully active for the “rollover period”. At the end of that period, the next generation&aposs key is created and both keys are in use. Once the first key reaches the end of its “expiration period”, it is no longer handed out, the generation is deleted, and only the second key is in use. This process continues ad infinitum. It is important to note that these keys do not affect the processing by their mere existence. To take effect, they must be assigned to a DNSSEC zone (See the DNSSECZone interface). |
DNSSECZone | The DNSSECZone interface manages the zones in which securing DNS information, i.e., DNSSEC, is active. When a zone is active, its DNS record groups are digitally signed, the DNS record names are hashed, and keys sent to upstream DNS servers are digitally signed. A DNSSEC zone can contain any number of DNSSEC keys, and a single DNSSEC key can be used in more than one DNSSEC zone. Note that a large number of DNSSEC keys in a single DNSSEC zone can affect the responsiveness to DNS requests. Note that the term “zone” in this interface is not necessarily “zone” in a DNS sense. See the DNSSECKey interface for managing the keys themselves. |
DataCenter | The DataCenter interface enables you to manipulate the data center attributes for a Global TM. For example, use the DataCenter interface to add or remove a data center, transfer server assignments from one data center to another, get and set data center attributes, remove a server from a data center, and so on. |
Globals | The Globals interface enables you to set and get global variables. |
Link | The Link interface enables you to work with links within a data center. |
Monitor | The Monitor interface enables you to manipulate a load balancer&aposs monitor templates and instances. For example, use the Monitor interface to enable or disable a monitor instance, or to create a monitor template, or to get and set different attributes of a monitor template. |
Pool | *IMPORTANT* Due to changing pool key definitions (pools are now identified by a name and a query type), this entire interface is deprecated as of BIG-IP_v12.0.0. Please use the GlobalLB::PoolV2 interface to work with pools; continuing to use the deprecated GlobalLB::Pool interface against BIG-IP_v12.0.0 and later versions can result in unintended configurations and behavior. The Pool interface enables you to work with pools and their attributes. |
PoolMember | *IMPORTANT* Due to changing virtual server keys, this full interface is deprecated (as of 11.0.0). Its functionality has been moved to the GlobalLB::Pool interface. However, because the GlobalLB::Pool interface is deprecated (as of BIG-IP_v12.0.0), please use the GlobalLB::PoolV2 interface to work with pool members. The PoolMember interface enables you to work with the pool members and their settings, and statistics. |
PoolV2 | The PoolV2 interface enables you to work with typed pools and their attributes. Typed pools (like A, AAAA, CNAME, MX, SRV, and NAPTR) may contain members of the same type. This allows for greater flexibility and more granular control over the responses that GTM sends. Previously, in the GlobalLB::Pool interface, members were only virtual servers. Now, in the PoolV2 interface, members can be virtual servers (for type A or AAAA type pools) or non-terminal type members (for type CNAME, MX, SRV, or NAPTR type pools). Non-terminal members are specified with a required dname and some optional settings that depend upon the type of non-terminal member. Except in the case of a CNAME member with the static-target setting enabled, all non-terminal members are backed by a corresponding wide IP. The dname of the non-terminal member is non-folderized and must be a fully-qualified domain name. The dname of the non-terminal member must match (exactly or via wide IP wildcard match) the name of a corresponding wide IP (without the folder name), except in the case mentioned above where the non-terminal is a CNAME type member with static-target enabled. |
ProberPool | The ProberPool interface enables you to create and maintain a prober pool, which contains a set of members which will be used to monitor the Server&aposs resources (typically its virtual servers). The members named in the prober pool should be BIG-IP systems, set up as Servers of type bigip-standalone or bigip-redundant. If a Server doesn&apost name a prober pool, the Server will use the prober pool attached to the server&aposs data center, if that has been assigned. The probing members named in the prober pool will be chosen according to the load balancing method selected for the prober pool (e.g., round robin or global availability). |
Region | The Region interface enables you to work with user-defined region definitions. |
Rule | The Rule interface enables you to manipulate a Global load balancer&aposs rules. For example, use the Rule interface to get a list of all rules, create rules, delete rules, modify rules, and query rules. |
Server | The Server interface enables you to work with servers within a data center. |
Topology | The Topology interface enables you to work with topology attributes. For example, you can create and delete a topology. You can also use the Topology interface to add virtual server entries to, or remove virtual server entries from, a topology. |
VirtualServer | *IMPORTANT* This interface is deprecated (as of 11.0.0). Please use GlobalLB::VirtualServerV2 in its stead. This interface will still work with some caveats. If the system holds a configuration rolled forward from earlier versions, there should be almost no problems using this interface. The only exception is that set_server will almost always fail, as the server name can no longer be changed after creating a virtual server. Otherwise, be aware that a VirtualServerDefinition value no longer uniquely identifies a virtual server. Using this interface with a configuration with more than one virtual server having the same VirtualServerDefinition values yields unpredictable results. The VirtualServer interface enables you to work with virtual servers associated with a server. |
VirtualServerV2 | The VirtualServer interface enables you to work with virtual servers associated with a server. |
WideIP | *IMPORTANT* Due to changing wide IP key definitions (wide IPs are now identified by a name and a query type), this full interface is deprecated as of BIG-IP_v12.0.0. Please use the GlobalLB::WideIPV2 interface to work with wide IPs; continuing to use the deprecated GlobalLB::WideIP interface against BIG-IP_v12.0.0 or later versions can result in unintended configurations and behavior. The WideIP interface enables you to work with wide IPs, as well as with the pools and the virtual servers that make them up. For example, use the WideIP interface to get a list of wide IPs, to add a wide IP, or to remove a wide IP. |
WideIPV2 | The WideIPV2 interface enables you to work with typed wide IPs and their settings, along with their typed wide IP pools, wide IP aliases and wide IP rules. This interface allows for greater flexibility and more granular control over the responses that GTM sends. Typed wide IPs (like A, AAAA, CNAME, MX, SRV, and NAPTR) may contain pools only of the same type. There is one exception to this rule, where CNAME pools can actually be added to a wide IP of any type, not just CNAME type wide IPs. Typed wide IPs can also be used to back non-terminal pool members. While previously in the GlobalLB::Pool interface, members were only virtual servers, in the PoolV2 interface we also have non-terminal type members which must correspond (exactly or via wide IP wildcard match) to an existing wide IP of the appropriate type. For the specifics of which type of wide IP is allowed to back which type of non-terminal pool member, please see the GlobalLB::PoolV2 documentation. |
Structures¶
Structure
Description
A struct that uniquely identifies a metric limit.
A struct that describes a monitored member definition, used in the destination address:port of the monitor template.
A struct that describes a monitor instance.
A struct that describes a monitor instance state.
This structure is deprecated. Please use MonitorRuleV2 in its stead.
A struct that specifies a monitor rule.
A struct that uniquely identifies a GTM pool.
A struct that describes the selection of probers for monitoring. Note that a prober pool must be specified if the prober_preference or prober_fallback selection type requires a pool. A pool cannot be specified unless either the prober_preference or prober_fallback selection type requires a pool.
This structure is deprecated. Please use VirtualServerID in its stead. A struct that uniquely identifies a virtual server in GTM.
A structure that uniquely identifies a virtual server in GTM. Note that this is a renamed version of the deprecated VirtualServerDefinition structure. Note also that the name field in VirtualServerID may contain what looks like a folder in the name (e.g., it may have content like “/Common/…”), but this field is unaffected by the ReturnedPath Session variable. Such names potentially refer to objects that are not on the local BIG-IP system and which may have a different folder scheme than the local system; the name is just a string.
A struct that uniquely identifies a wide IP.
Enumerations¶
Enumeration | Description |
AddressType | A list of address types used to differentiate various node definitions. |
AutoConfigurationState | A list of auto configuration states. |
AvailabilityDependency | A list of availability dependencies. |
DNSReturnCode | A list of DNS response return codes. |
DomainNameCheckMode | A list of domain name check modes. |
GTMQueryType | An enumeration of GTM query types. |
HardwareSecurityModuleType | An enumeration of hardware security module types. |
LBDecisionLogVerbosity | An enum describing load balancing log verbosity. If a sequence of LBDecisionLogVerbosity contains duplicates (eg. [&aposLB_DECISION_PM_SELECTION&apos, &aposLB_DECISION_PM_SELECTION&apos]), they will be deduplicated. Note: If you set LB_DECISION_LOG_NONE or LB_DECISION_LOG_ALL, that must be the only specification. |
LBMethod | A list of load balancing modes. |
LDNSProbeProtocol | A list of LDNS probe protocol types. |
LinkWeightType | A list of link weighting types. |
MetricLimitType | A list of Metric Limit types. |
MonitorAssociationRemovalRule | A list of rules on how the monitor association is removed. |
MonitorInstanceStateType | A list of monitor instance states. |
MonitorRuleType | An enumeration of different monitor rule types. |
ProberSelectionType | A list of prober selection options. |
RegionDBType | A list of region database types. |
RegionType | A list of topology endpoint types. |
ServerType | A list of server types. |
Aliases¶
Alias | Type | Description |
AddressTypeSequence | AddressType [] | A sequence of address types. |
AutoConfigurationStateSequence | AutoConfigurationState [] | A sequence of AutoConfigurationState&aposs. |
AvailabilityDependencySequence | AvailabilityDependency [] | A sequence of AvailabilityDependency. |
DNSReturnCodeSequence | DNSReturnCode [] | A sequence of DNS response return codes. |
DomainNameCheckModeSequence | DomainNameCheckMode [] | A sequence of domain name check modes. |
GTMQueryTypeSequence | GTMQueryType [] | A sequence of GTM query types. |
GTMQueryTypeSequenceSequence | GTMQueryType [] [] | A sequence of GTM query type sequences. |
HardwareSecurityModuleTypeSequence | HardwareSecurityModuleType [] | A sequence of hardware security module types. |
LBDecisionLogVerbositySequence | LBDecisionLogVerbosity [] | A sequence of LBDecisionLogVerbosity enums. |
LBDecisionLogVerbositySequenceSequence | LBDecisionLogVerbosity [] [] | A sequence of sequence of LBDecisionLogVerbosity enums. |
LBMethodSequence | LBMethod [] | A sequence of LB methods. |
LDNSProbeProtocolSequence | LDNSProbeProtocol [] | A sequence of LDNSProbeProtocol. |
LinkWeightTypeSequence | LinkWeightType [] | A sequence of link weighting types. |
MetricLimitSequence | MetricLimit [] | A sequence of metric limits. |
MetricLimitSequenceSequence | MetricLimit [] [] | A sequence of metric limit sequences. |
MetricLimitSequenceSequenceSequence | MetricLimit [] [] [] | A sequence of sequence of metric limit sequences. |
MonitorIPPortSequence | MonitorIPPort [] | A sequence of MonitorIPPort&aposs. |
MonitorInstanceSequence | MonitorInstance [] | A sequence of MonitorInstance&aposs. |
MonitorInstanceStateSequence | MonitorInstanceState [] | A sequence of MonitorInstanceState&aposs. |
MonitorInstanceStateSequenceSequence | MonitorInstanceState [] [] | A sequence of sequence of MonitorInstanceState&aposs. |
MonitorInstanceStateTypeSequence | MonitorInstanceStateType [] | A sequence of instance state types. |
MonitorRuleSequence | MonitorRule [] | A sequence of MonitorRule entries. |
MonitorRuleSequenceSequence | MonitorRule [] [] | A sequence of MonitorRule entry sequences |
MonitorRuleV2Sequence | MonitorRuleV2 [] | A sequence of MonitorRuleV2 entries. |
MonitorRuleV2SequenceSequence | MonitorRuleV2 [] [] | A sequence of MonitorRuleV2 entry sequences |
PoolIDSequence | PoolID [] | A sequence of pool ids. |
PoolIDSequenceSequence | PoolID [] [] | A sequence of pool id sequences. |
ProberSelectionSequence | ProberSelection [] | A sequence of prober selections. |
ProberSelectionTypeSequence | ProberSelectionType [] | A sequence of prober selection types. |
RegionDBTypeSequence | RegionDBType [] | A sequence of region database types. |
RegionTypeSequence | RegionType [] | A sequence of endpoint types. |
ServerTypeSequence | ServerType [] | A sequence of ServerType. |
VirtualServerIDSequence | VirtualServerID [] | A sequence of virtual server identifiers. |
VirtualServerIDSequenceSequence | VirtualServerID [] [] | A sequence of virtual server identifier sequences. |
VirtualServerIDSequenceSequenceSequence | VirtualServerID [] [] [] | A sequence of virtual server identifier sequence sequences. |
VirtualServerSequence | VirtualServerDefinition [] | A sequence of virtual server definitions. |
VirtualServerSequenceSequence | VirtualServerDefinition [] [] | A alias for a sequence of virtual server definitions. |
WideIPIDSequence | WideIPID [] | A sequence of wide IP ids. |
WideIPIDSequenceSequence | WideIPID [] [] | A sequence of wide IP id sequences. |
See Also¶
Warning
The links to the sample code below are remnants of the old DevCentral wiki and will result in a 404 error. For best results, please copy the link text and search the codeshare directly on DevCentral.
Sample Code¶
The BIG-IP API Reference documentation contains community-contributed content. F5 does not monitor or control community code contributions. We make no guarantees or warranties regarding the available code, and it may contain errors, defects, bugs, inaccuracies, or security vulnerabilities. Your access to and use of any code available in the BIG-IP API reference guides is solely at your own risk.