openapi: 3.1.0 info: title: F5 BIG-IP iControl REST API description: >- The iControl REST API provides programmatic access to manage and configure F5 BIG-IP devices. It enables automation of Local Traffic Manager (LTM) resources including virtual servers, pools, nodes, pool members, and profiles for application delivery, load balancing, and network management. version: 15.1.0 contact: name: F5 Support email: support@f5.com url: https://www.f5.com/company/contact/regional-offices license: name: Proprietary url: https://www.f5.com/company/policies/terms-of-use x-logo: url: https://www.f5.com/content/dam/f5-com/global-assets/images/f5-logo.svg externalDocs: description: F5 iControl REST API Documentation url: https://clouddocs.f5.com/api/icontrol-rest/ servers: - url: https://{bigip_host}/mgmt/tm description: BIG-IP Management Interface variables: bigip_host: default: 192.168.1.245 description: Hostname or IP address of the BIG-IP device security: - basicAuth: [] - tokenAuth: [] tags: - name: Virtual Servers description: >- Manage virtual servers that direct client traffic to appropriate server pools based on configured rules and profiles. externalDocs: url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_virtual.html - name: Pools description: >- Manage pools of backend servers for load distribution and health monitoring. externalDocs: url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_pool.html - name: Pool Members description: >- Manage individual members within a pool, including their health status, session state, and load balancing weight. externalDocs: url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_pool_members.html - name: Nodes description: >- Manage nodes representing individual backend servers by IP address or FQDN. externalDocs: url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_node.html - name: Profiles description: >- Manage profiles that define traffic handling behavior for virtual servers, including HTTP, TCP, UDP, client SSL, and persistence profiles. paths: /ltm/virtual: get: operationId: listVirtualServers summary: List All Virtual Servers description: >- Returns a collection of all virtual server resources configured on the BIG-IP system. tags: - Virtual Servers parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' - $ref: '#/components/parameters/TopParam' - $ref: '#/components/parameters/SkipParam' - $ref: '#/components/parameters/ExpandSubcollectionsParam' responses: '200': description: Successful retrieval of virtual server collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:virtual:virtualcollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/VirtualServer' examples: Listvirtualservers200Example: summary: Default listVirtualServers 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com addressStatus: 'yes' autoLasthop: default cmpEnabled: 'yes' connectionLimit: 10 description: A sample description. destination: example_value disabled: true enabled: true fallbackPersistence: example_value gtmScore: 10 ipProtocol: tcp mask: example_value mirror: enabled nat64: enabled partition: example_value persist: - {} pool: example_value profiles: - {} rateLimit: example_value rateLimitMode: object rules: - {} source: example_value sourcePort: preserve synCookieStatus: not-activated translateAddress: enabled translatePort: enabled vlansEnabled: true vlansDisabled: true vlans: - {} vsIndex: 10 '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createVirtualServer summary: Create a Virtual Server description: >- Creates a new virtual server resource on the BIG-IP system. At minimum, a name and destination address:port must be specified. tags: - Virtual Servers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualServerCreate' examples: CreatevirtualserverRequestExample: summary: Default createVirtualServer request x-microcks-default: true value: name: Example Title partition: example_value destination: example_value description: A sample description. ipProtocol: tcp mask: example_value pool: example_value profiles: - name: Example Title context: all persist: - name: Example Title tmDefault: 'yes' source: example_value sourcePort: preserve translateAddress: enabled translatePort: enabled connectionLimit: 10 rules: - example_value vlans: - example_value vlansEnabled: true vlansDisabled: true responses: '200': description: Virtual server created successfully. content: application/json: schema: $ref: '#/components/schemas/VirtualServer' examples: Createvirtualserver200Example: summary: Default createVirtualServer 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com addressStatus: 'yes' autoLasthop: default cmpEnabled: 'yes' connectionLimit: 10 description: A sample description. destination: example_value disabled: true enabled: true fallbackPersistence: example_value gtmScore: 10 ipProtocol: tcp mask: example_value mirror: enabled nat64: enabled partition: example_value persist: - name: Example Title tmDefault: 'yes' pool: example_value profiles: - name: Example Title context: all fullPath: example_value rateLimit: example_value rateLimitMode: object rules: - example_value source: example_value sourcePort: preserve synCookieStatus: not-activated translateAddress: enabled translatePort: enabled vlansEnabled: true vlansDisabled: true vlans: - example_value vsIndex: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/virtual/{virtualName}: parameters: - $ref: '#/components/parameters/VirtualNameParam' get: operationId: getVirtualServer summary: Get a Virtual Server description: Returns a single virtual server resource identified by name. tags: - Virtual Servers parameters: - $ref: '#/components/parameters/ExpandSubcollectionsParam' responses: '200': description: Successful retrieval of the virtual server. content: application/json: schema: $ref: '#/components/schemas/VirtualServer' examples: Getvirtualserver200Example: summary: Default getVirtualServer 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com addressStatus: 'yes' autoLasthop: default cmpEnabled: 'yes' connectionLimit: 10 description: A sample description. destination: example_value disabled: true enabled: true fallbackPersistence: example_value gtmScore: 10 ipProtocol: tcp mask: example_value mirror: enabled nat64: enabled partition: example_value persist: - name: Example Title tmDefault: 'yes' pool: example_value profiles: - name: Example Title context: all fullPath: example_value rateLimit: example_value rateLimitMode: object rules: - example_value source: example_value sourcePort: preserve synCookieStatus: not-activated translateAddress: enabled translatePort: enabled vlansEnabled: true vlansDisabled: true vlans: - example_value vsIndex: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateVirtualServer summary: Update a Virtual Server description: >- Replaces the entire virtual server resource. All writable properties must be included in the request body. tags: - Virtual Servers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualServerUpdate' examples: UpdatevirtualserverRequestExample: summary: Default updateVirtualServer request x-microcks-default: true value: description: A sample description. destination: example_value ipProtocol: tcp mask: example_value pool: example_value profiles: - name: Example Title context: all persist: - name: Example Title tmDefault: example_value source: example_value sourcePort: preserve translateAddress: enabled translatePort: enabled connectionLimit: 10 enabled: true disabled: true mirror: enabled rateLimit: example_value rules: - example_value vlans: - example_value vlansEnabled: true vlansDisabled: true fallbackPersistence: example_value responses: '200': description: Virtual server updated successfully. content: application/json: schema: $ref: '#/components/schemas/VirtualServer' examples: Updatevirtualserver200Example: summary: Default updateVirtualServer 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com addressStatus: 'yes' autoLasthop: default cmpEnabled: 'yes' connectionLimit: 10 description: A sample description. destination: example_value disabled: true enabled: true fallbackPersistence: example_value gtmScore: 10 ipProtocol: tcp mask: example_value mirror: enabled nat64: enabled partition: example_value persist: - name: Example Title tmDefault: 'yes' pool: example_value profiles: - name: Example Title context: all fullPath: example_value rateLimit: example_value rateLimitMode: object rules: - example_value source: example_value sourcePort: preserve synCookieStatus: not-activated translateAddress: enabled translatePort: enabled vlansEnabled: true vlansDisabled: true vlans: - example_value vsIndex: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: patchVirtualServer summary: Patch a Virtual Server description: >- Partially updates a virtual server resource. Only specified properties are modified. tags: - Virtual Servers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VirtualServerUpdate' examples: PatchvirtualserverRequestExample: summary: Default patchVirtualServer request x-microcks-default: true value: description: A sample description. destination: example_value ipProtocol: tcp mask: example_value pool: example_value profiles: - name: Example Title context: all persist: - name: Example Title tmDefault: example_value source: example_value sourcePort: preserve translateAddress: enabled translatePort: enabled connectionLimit: 10 enabled: true disabled: true mirror: enabled rateLimit: example_value rules: - example_value vlans: - example_value vlansEnabled: true vlansDisabled: true fallbackPersistence: example_value responses: '200': description: Virtual server patched successfully. content: application/json: schema: $ref: '#/components/schemas/VirtualServer' examples: Patchvirtualserver200Example: summary: Default patchVirtualServer 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com addressStatus: 'yes' autoLasthop: default cmpEnabled: 'yes' connectionLimit: 10 description: A sample description. destination: example_value disabled: true enabled: true fallbackPersistence: example_value gtmScore: 10 ipProtocol: tcp mask: example_value mirror: enabled nat64: enabled partition: example_value persist: - name: Example Title tmDefault: 'yes' pool: example_value profiles: - name: Example Title context: all fullPath: example_value rateLimit: example_value rateLimitMode: object rules: - example_value source: example_value sourcePort: preserve synCookieStatus: not-activated translateAddress: enabled translatePort: enabled vlansEnabled: true vlansDisabled: true vlans: - example_value vsIndex: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteVirtualServer summary: Delete a Virtual Server description: >- Removes a virtual server resource from the BIG-IP system. Active connections will be terminated. tags: - Virtual Servers responses: '200': description: Virtual server deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/pool: get: operationId: listPools summary: List All Pools description: >- Returns a collection of all pool resources configured on the BIG-IP system. tags: - Pools parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' - $ref: '#/components/parameters/TopParam' - $ref: '#/components/parameters/SkipParam' - $ref: '#/components/parameters/ExpandSubcollectionsParam' responses: '200': description: Successful retrieval of pool collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:pool:poolcollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/Pool' examples: Listpools200Example: summary: Default listPools 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com allowNat: 'yes' allowSnat: 'yes' description: A sample description. ignorePersistedWeight: enabled ipTosToClient: example_value ipTosToServer: example_value linkQosToClient: example_value linkQosToServer: example_value loadBalancingMode: round-robin minActiveMembers: 10 minUpMembers: 10 minUpMembersAction: failover minUpMembersChecking: enabled monitor: example_value partition: example_value queueDepthLimit: 10 queueOnConnectionLimit: enabled queueTimeLimit: 10 reselectTries: 10 serviceDownAction: none slowRampTime: 10 membersReference: link: https://www.example.com isSubcollection: true '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createPool summary: Create a Pool description: >- Creates a new pool resource on the BIG-IP system. The pool name is required; members and monitors can be specified during creation. tags: - Pools requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PoolCreate' examples: CreatepoolRequestExample: summary: Default createPool request x-microcks-default: true value: name: Example Title partition: example_value description: A sample description. loadBalancingMode: round-robin monitor: example_value members: - name: Example Title address: example_value description: A sample description. ratio: 10 priorityGroup: 10 connectionLimit: 10 monitor: example_value serviceDownAction: none slowRampTime: 10 allowNat: 'yes' allowSnat: 'yes' responses: '200': description: Pool created successfully. content: application/json: schema: $ref: '#/components/schemas/Pool' examples: Createpool200Example: summary: Default createPool 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com allowNat: 'yes' allowSnat: 'yes' description: A sample description. ignorePersistedWeight: enabled ipTosToClient: example_value ipTosToServer: example_value linkQosToClient: example_value linkQosToServer: example_value loadBalancingMode: round-robin minActiveMembers: 10 minUpMembers: 10 minUpMembersAction: failover minUpMembersChecking: enabled monitor: example_value partition: example_value queueDepthLimit: 10 queueOnConnectionLimit: enabled queueTimeLimit: 10 reselectTries: 10 serviceDownAction: none slowRampTime: 10 membersReference: link: https://www.example.com isSubcollection: true '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/pool/{poolName}: parameters: - $ref: '#/components/parameters/PoolNameParam' get: operationId: getPool summary: Get a Pool description: Returns a single pool resource identified by name. tags: - Pools parameters: - $ref: '#/components/parameters/ExpandSubcollectionsParam' responses: '200': description: Successful retrieval of the pool. content: application/json: schema: $ref: '#/components/schemas/Pool' examples: Getpool200Example: summary: Default getPool 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com allowNat: 'yes' allowSnat: 'yes' description: A sample description. ignorePersistedWeight: enabled ipTosToClient: example_value ipTosToServer: example_value linkQosToClient: example_value linkQosToServer: example_value loadBalancingMode: round-robin minActiveMembers: 10 minUpMembers: 10 minUpMembersAction: failover minUpMembersChecking: enabled monitor: example_value partition: example_value queueDepthLimit: 10 queueOnConnectionLimit: enabled queueTimeLimit: 10 reselectTries: 10 serviceDownAction: none slowRampTime: 10 membersReference: link: https://www.example.com isSubcollection: true '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updatePool summary: Update a Pool description: Replaces the entire pool resource configuration. tags: - Pools requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PoolUpdate' examples: UpdatepoolRequestExample: summary: Default updatePool request x-microcks-default: true value: description: A sample description. loadBalancingMode: round-robin monitor: example_value serviceDownAction: none slowRampTime: 10 minActiveMembers: 10 allowNat: 'yes' allowSnat: 'yes' responses: '200': description: Pool updated successfully. content: application/json: schema: $ref: '#/components/schemas/Pool' examples: Updatepool200Example: summary: Default updatePool 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com allowNat: 'yes' allowSnat: 'yes' description: A sample description. ignorePersistedWeight: enabled ipTosToClient: example_value ipTosToServer: example_value linkQosToClient: example_value linkQosToServer: example_value loadBalancingMode: round-robin minActiveMembers: 10 minUpMembers: 10 minUpMembersAction: failover minUpMembersChecking: enabled monitor: example_value partition: example_value queueDepthLimit: 10 queueOnConnectionLimit: enabled queueTimeLimit: 10 reselectTries: 10 serviceDownAction: none slowRampTime: 10 membersReference: link: https://www.example.com isSubcollection: true '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: patchPool summary: Patch a Pool description: Partially updates a pool resource configuration. tags: - Pools requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PoolUpdate' examples: PatchpoolRequestExample: summary: Default patchPool request x-microcks-default: true value: description: A sample description. loadBalancingMode: round-robin monitor: example_value serviceDownAction: none slowRampTime: 10 minActiveMembers: 10 allowNat: 'yes' allowSnat: 'yes' responses: '200': description: Pool patched successfully. content: application/json: schema: $ref: '#/components/schemas/Pool' examples: Patchpool200Example: summary: Default patchPool 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com allowNat: 'yes' allowSnat: 'yes' description: A sample description. ignorePersistedWeight: enabled ipTosToClient: example_value ipTosToServer: example_value linkQosToClient: example_value linkQosToServer: example_value loadBalancingMode: round-robin minActiveMembers: 10 minUpMembers: 10 minUpMembersAction: failover minUpMembersChecking: enabled monitor: example_value partition: example_value queueDepthLimit: 10 queueOnConnectionLimit: enabled queueTimeLimit: 10 reselectTries: 10 serviceDownAction: none slowRampTime: 10 membersReference: link: https://www.example.com isSubcollection: true '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deletePool summary: Delete a Pool description: >- Removes a pool resource from the BIG-IP system. The pool must not be referenced by any virtual server. tags: - Pools responses: '200': description: Pool deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/pool/{poolName}/members: parameters: - $ref: '#/components/parameters/PoolNameParam' get: operationId: listPoolMembers summary: List Pool Members description: >- Returns a collection of all members within the specified pool. tags: - Pool Members parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' responses: '200': description: Successful retrieval of pool member collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:pool:members:memberscollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/PoolMember' examples: Listpoolmembers200Example: summary: Default listPoolMembers 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' inheritProfile: enabled logging: enabled monitor: example_value partition: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: addPoolMember summary: Add a Pool Member description: >- Adds a new member to the specified pool. The member name must be in the format address:port (e.g., 10.0.0.1:80). tags: - Pool Members requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PoolMemberCreate' examples: AddpoolmemberRequestExample: summary: Default addPoolMember request x-microcks-default: true value: name: Example Title address: example_value description: A sample description. connectionLimit: 10 monitor: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up responses: '200': description: Pool member added successfully. content: application/json: schema: $ref: '#/components/schemas/PoolMember' examples: Addpoolmember200Example: summary: Default addPoolMember 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' inheritProfile: enabled logging: enabled monitor: example_value partition: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/pool/{poolName}/members/{memberName}: parameters: - $ref: '#/components/parameters/PoolNameParam' - $ref: '#/components/parameters/MemberNameParam' get: operationId: getPoolMember summary: Get a Pool Member description: Returns a single pool member identified by name. tags: - Pool Members responses: '200': description: Successful retrieval of pool member. content: application/json: schema: $ref: '#/components/schemas/PoolMember' examples: Getpoolmember200Example: summary: Default getPoolMember 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' inheritProfile: enabled logging: enabled monitor: example_value partition: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updatePoolMember summary: Update a Pool Member description: Replaces the entire pool member resource configuration. tags: - Pool Members requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PoolMemberUpdate' examples: UpdatepoolmemberRequestExample: summary: Default updatePoolMember request x-microcks-default: true value: description: A sample description. connectionLimit: 10 monitor: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up responses: '200': description: Pool member updated successfully. content: application/json: schema: $ref: '#/components/schemas/PoolMember' examples: Updatepoolmember200Example: summary: Default updatePoolMember 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' inheritProfile: enabled logging: enabled monitor: example_value partition: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: patchPoolMember summary: Patch a Pool Member description: Partially updates a pool member resource configuration. tags: - Pool Members requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PoolMemberUpdate' examples: PatchpoolmemberRequestExample: summary: Default patchPoolMember request x-microcks-default: true value: description: A sample description. connectionLimit: 10 monitor: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up responses: '200': description: Pool member patched successfully. content: application/json: schema: $ref: '#/components/schemas/PoolMember' examples: Patchpoolmember200Example: summary: Default patchPoolMember 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' inheritProfile: enabled logging: enabled monitor: example_value partition: example_value priorityGroup: 10 rateLimit: example_value ratio: 10 session: user-enabled state: user-up '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deletePoolMember summary: Delete a Pool Member description: Removes a member from the specified pool. tags: - Pool Members responses: '200': description: Pool member deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/node: get: operationId: listNodes summary: List All Nodes description: >- Returns a collection of all node resources configured on the BIG-IP system. tags: - Nodes parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' - $ref: '#/components/parameters/TopParam' - $ref: '#/components/parameters/SkipParam' responses: '200': description: Successful retrieval of node collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:node:nodecollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/Node' examples: Listnodes200Example: summary: Default listNodes 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' fqdn: addressFamily: ipv4 autopopulate: enabled downInterval: 10 interval: example_value tmName: example_value logging: enabled monitor: example_value partition: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createNode summary: Create a Node description: >- Creates a new node resource on the BIG-IP system. The name and address are required for creation. tags: - Nodes requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NodeCreate' examples: CreatenodeRequestExample: summary: Default createNode request x-microcks-default: true value: name: Example Title address: example_value partition: example_value description: A sample description. connectionLimit: 10 monitor: example_value rateLimit: example_value ratio: 10 fqdn: addressFamily: ipv4 autopopulate: enabled downInterval: 10 interval: example_value tmName: example_value responses: '200': description: Node created successfully. content: application/json: schema: $ref: '#/components/schemas/Node' examples: Createnode200Example: summary: Default createNode 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' fqdn: addressFamily: ipv4 autopopulate: enabled downInterval: 10 interval: example_value tmName: example_value logging: enabled monitor: example_value partition: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/node/{nodeName}: parameters: - $ref: '#/components/parameters/NodeNameParam' get: operationId: getNode summary: Get a Node description: Returns a single node resource identified by name. tags: - Nodes responses: '200': description: Successful retrieval of node. content: application/json: schema: $ref: '#/components/schemas/Node' examples: Getnode200Example: summary: Default getNode 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' fqdn: addressFamily: ipv4 autopopulate: enabled downInterval: 10 interval: example_value tmName: example_value logging: enabled monitor: example_value partition: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK put: operationId: updateNode summary: Update a Node description: Replaces the entire node resource configuration. tags: - Nodes requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NodeUpdate' examples: UpdatenodeRequestExample: summary: Default updateNode request x-microcks-default: true value: description: A sample description. connectionLimit: 10 monitor: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up logging: enabled responses: '200': description: Node updated successfully. content: application/json: schema: $ref: '#/components/schemas/Node' examples: Updatenode200Example: summary: Default updateNode 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' fqdn: addressFamily: ipv4 autopopulate: enabled downInterval: 10 interval: example_value tmName: example_value logging: enabled monitor: example_value partition: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: patchNode summary: Patch a Node description: Partially updates a node resource configuration. tags: - Nodes requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NodeUpdate' examples: PatchnodeRequestExample: summary: Default patchNode request x-microcks-default: true value: description: A sample description. connectionLimit: 10 monitor: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up logging: enabled responses: '200': description: Node patched successfully. content: application/json: schema: $ref: '#/components/schemas/Node' examples: Patchnode200Example: summary: Default patchNode 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com address: example_value connectionLimit: 10 description: A sample description. dynamicRatio: 10 ephemeral: 'true' fqdn: addressFamily: ipv4 autopopulate: enabled downInterval: 10 interval: example_value tmName: example_value logging: enabled monitor: example_value partition: example_value rateLimit: example_value ratio: 10 session: user-enabled state: user-up '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteNode summary: Delete a Node description: >- Removes a node resource from the BIG-IP system. The node must not be referenced by any pool member. tags: - Nodes responses: '200': description: Node deleted successfully. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/profile/http: get: operationId: listHttpProfiles summary: List Http Profiles description: >- Returns a collection of all HTTP profile resources configured on the BIG-IP system. tags: - Profiles parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' responses: '200': description: Successful retrieval of HTTP profile collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:profile:http:httpcollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/HttpProfile' examples: Listhttpprofiles200Example: summary: Default listHttpProfiles 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com acceptXff: enabled appService: example_value basicAuthRealm: example_value defaultsFrom: example_value description: A sample description. encryptCookies: - {} enforcement: maxHeaderCount: 10 maxHeaderSize: 10 pipeline: allow fallbackHost: example_value fallbackStatusCodes: - {} headerErase: example_value headerInsert: example_value insertXforwardedFor: enabled oneconnectTransformations: enabled redirectRewrite: none requestChunking: allow responseChunking: allow serverAgentName: example_value viaHostName: example_value viaRequest: append viaResponse: append xffAlternativeNames: - {} '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/profile/http/{profileName}: parameters: - $ref: '#/components/parameters/ProfileNameParam' get: operationId: getHttpProfile summary: Get an Http Profile description: Returns a single HTTP profile resource identified by name. tags: - Profiles responses: '200': description: Successful retrieval of the HTTP profile. content: application/json: schema: $ref: '#/components/schemas/HttpProfile' examples: Gethttpprofile200Example: summary: Default getHttpProfile 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com acceptXff: enabled appService: example_value basicAuthRealm: example_value defaultsFrom: example_value description: A sample description. encryptCookies: - example_value enforcement: maxHeaderCount: 10 maxHeaderSize: 10 pipeline: allow fallbackHost: example_value fallbackStatusCodes: - example_value headerErase: example_value headerInsert: example_value insertXforwardedFor: enabled oneconnectTransformations: enabled redirectRewrite: none requestChunking: allow responseChunking: allow serverAgentName: example_value viaHostName: example_value viaRequest: append viaResponse: append xffAlternativeNames: - example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/profile/tcp: get: operationId: listTcpProfiles summary: List Tcp Profiles description: >- Returns a collection of all TCP profile resources configured on the BIG-IP system. tags: - Profiles parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' responses: '200': description: Successful retrieval of TCP profile collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:profile:tcp:tcpcollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/TcpProfile' examples: Listtcpprofiles200Example: summary: Default listTcpProfiles 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com abc: enabled ackOnPush: enabled closeWaitTimeout: 10 congestionControl: high-speed defaultsFrom: example_value deferredAccept: enabled description: A sample description. finWaitTimeout: 10 idleTimeout: 10 initCwnd: 10 initRwnd: 10 keepAliveInterval: 10 maxRetrans: 10 maxSegmentSize: 10 nagle: auto receiveWindowSize: 10 sendBufferSize: 10 synMaxRetrans: 10 timeWaitRecycle: enabled timeWaitTimeout: 10 '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/profile/tcp/{profileName}: parameters: - $ref: '#/components/parameters/ProfileNameParam' get: operationId: getTcpProfile summary: Get a Tcp Profile description: Returns a single TCP profile resource identified by name. tags: - Profiles responses: '200': description: Successful retrieval of the TCP profile. content: application/json: schema: $ref: '#/components/schemas/TcpProfile' examples: Gettcpprofile200Example: summary: Default getTcpProfile 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com abc: enabled ackOnPush: enabled closeWaitTimeout: 10 congestionControl: high-speed defaultsFrom: example_value deferredAccept: enabled description: A sample description. finWaitTimeout: 10 idleTimeout: 10 initCwnd: 10 initRwnd: 10 keepAliveInterval: 10 maxRetrans: 10 maxSegmentSize: 10 nagle: auto receiveWindowSize: 10 sendBufferSize: 10 synMaxRetrans: 10 timeWaitRecycle: enabled timeWaitTimeout: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/profile/client-ssl: get: operationId: listClientSslProfiles summary: List Client Ssl Profiles description: >- Returns a collection of all Client SSL profile resources configured on the BIG-IP system. tags: - Profiles parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' responses: '200': description: Successful retrieval of Client SSL profile collection. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:profile:client-ssl:client-sslcollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/ClientSslProfile' examples: Listclientsslprofiles200Example: summary: Default listClientSslProfiles 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com alertTimeout: example_value allowNonSsl: enabled cert: example_value certKeyChain: - {} ciphers: example_value defaultsFrom: example_value description: A sample description. key: example_value options: - {} peerCertMode: ignore renegotiation: enabled secureRenegotiation: require sniDefault: 'true' sniRequire: 'true' sslForwardProxy: enabled uncleanShutdown: enabled '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/profile/client-ssl/{profileName}: parameters: - $ref: '#/components/parameters/ProfileNameParam' get: operationId: getClientSslProfile summary: Get a Client Ssl Profile description: Returns a single Client SSL profile resource identified by name. tags: - Profiles responses: '200': description: Successful retrieval of the Client SSL profile. content: application/json: schema: $ref: '#/components/schemas/ClientSslProfile' examples: Getclientsslprofile200Example: summary: Default getClientSslProfile 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com alertTimeout: example_value allowNonSsl: enabled cert: example_value certKeyChain: - name: Example Title cert: example_value key: example_value chain: example_value ciphers: example_value defaultsFrom: example_value description: A sample description. key: example_value options: - example_value peerCertMode: ignore renegotiation: enabled secureRenegotiation: require sniDefault: 'true' sniRequire: 'true' sslForwardProxy: enabled uncleanShutdown: enabled '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/persistence/cookie: get: operationId: listCookiePersistenceProfiles summary: List Cookie Persistence Profiles description: >- Returns a collection of all cookie persistence profile resources. tags: - Profiles parameters: - $ref: '#/components/parameters/SelectParam' - $ref: '#/components/parameters/FilterParam' responses: '200': description: Successful retrieval of cookie persistence profiles. content: application/json: schema: type: object properties: kind: type: string example: tm:ltm:persistence:cookie:cookiecollectionstate selfLink: type: string format: uri items: type: array items: $ref: '#/components/schemas/CookiePersistenceProfile' examples: Listcookiepersistenceprofiles200Example: summary: Default listCookiePersistenceProfiles 200 response x-microcks-default: true value: kind: example_value selfLink: https://www.example.com items: - kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com alwaysSend: enabled cookieEncryption: required cookieName: example_value defaultsFrom: example_value description: A sample description. expiration: example_value hashLength: 10 hashOffset: 10 httponly: enabled matchAcrossPools: enabled matchAcrossServices: enabled matchAcrossVirtuals: enabled method: insert mirror: enabled overrideConnectionLimit: enabled secure: enabled timeout: example_value '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /ltm/persistence/cookie/{profileName}: parameters: - $ref: '#/components/parameters/ProfileNameParam' get: operationId: getCookiePersistenceProfile summary: Get a Cookie Persistence Profile description: >- Returns a single cookie persistence profile resource identified by name. tags: - Profiles responses: '200': description: Successful retrieval of the cookie persistence profile. content: application/json: schema: $ref: '#/components/schemas/CookiePersistenceProfile' examples: Getcookiepersistenceprofile200Example: summary: Default getCookiePersistenceProfile 200 response x-microcks-default: true value: kind: example_value name: Example Title fullPath: example_value generation: 10 selfLink: https://www.example.com alwaysSend: enabled cookieEncryption: required cookieName: example_value defaultsFrom: example_value description: A sample description. expiration: example_value hashLength: 10 hashOffset: 10 httponly: enabled matchAcrossPools: enabled matchAcrossServices: enabled matchAcrossVirtuals: enabled method: insert mirror: enabled overrideConnectionLimit: enabled secure: enabled timeout: example_value '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: basicAuth: type: http scheme: basic description: >- HTTP Basic authentication using BIG-IP admin credentials. The username and password are sent base64-encoded in the Authorization header. tokenAuth: type: apiKey in: header name: X-F5-Auth-Token description: >- Token-based authentication. Obtain a token by POSTing credentials to /mgmt/shared/authn/login, then pass the token value in the X-F5-Auth-Token header for subsequent requests. parameters: VirtualNameParam: name: virtualName in: path required: true description: >- Name of the virtual server resource. Use ~Common~ prefix for partition-qualified names (e.g., ~Common~my_virtual). schema: type: string example: my_virtual_server PoolNameParam: name: poolName in: path required: true description: >- Name of the pool resource. Use ~Common~ prefix for partition-qualified names. schema: type: string example: my_pool MemberNameParam: name: memberName in: path required: true description: >- Name of the pool member in the format address:port (e.g., 10.0.0.1:80). schema: type: string example: '10.0.0.1:80' NodeNameParam: name: nodeName in: path required: true description: >- Name of the node resource. Can be the IP address or a user-defined name. schema: type: string example: '10.0.0.1' ProfileNameParam: name: profileName in: path required: true description: Name of the profile resource. schema: type: string example: my_http_profile SelectParam: name: $select in: query required: false description: >- Comma-separated list of property names to include in the response. schema: type: string example: name,destination,pool FilterParam: name: $filter in: query required: false description: OData filter expression to restrict returned resources. schema: type: string example: partition eq Common TopParam: name: $top in: query required: false description: Maximum number of resources to return. schema: type: integer minimum: 1 example: 10 SkipParam: name: $skip in: query required: false description: Number of resources to skip before returning results. schema: type: integer minimum: 0 example: 0 ExpandSubcollectionsParam: name: expandSubcollections in: query required: false description: >- When set to true, expands all subcollections inline within the response. schema: type: string enum: - 'true' - 'false' example: 'true' schemas: VirtualServer: type: object description: >- A virtual server resource that directs client traffic to a pool of backend servers based on an IP address and port combination. properties: kind: type: string description: Resource type identifier. example: tm:ltm:virtual:virtualstate readOnly: true name: type: string description: Name of the virtual server resource. example: my_virtual_server fullPath: type: string description: Full path including partition. example: /Common/my_virtual_server readOnly: true generation: type: integer description: Configuration generation counter. readOnly: true example: 10 selfLink: type: string format: uri description: Self-referencing URI for this resource. readOnly: true example: https://www.example.com addressStatus: type: string description: >- Whether the virtual contributes to the operational status of the associated virtual address. enum: - 'yes' - 'no' default: 'yes' example: 'yes' autoLasthop: type: string description: >- Automatic last hop setting for return traffic routing. enum: - default - enabled - disabled default: default example: default cmpEnabled: type: string description: >- Whether Clustered Multi-Processing (CMP) acceleration is enabled. enum: - 'yes' - 'no' default: 'yes' example: 'yes' connectionLimit: type: integer description: >- Maximum number of concurrent connections allowed. A value of 0 means unlimited. minimum: 0 default: 0 example: 0 description: type: string description: User-defined description of the virtual server. example: Production web virtual server destination: type: string description: >- Destination IP address and service port in the format /partition/address:port or /partition/address.port. example: /Common/10.0.0.100:80 disabled: type: boolean description: >- When true, the virtual server does not accept new connections. example: true enabled: type: boolean description: >- When true, the virtual server accepts and processes traffic. example: true fallbackPersistence: type: string description: >- Persistence profile to use when the primary persistence method fails. example: /Common/source_addr gtmScore: type: integer description: >- Score value used by Global Traffic Manager for load balancing decisions. default: 0 example: 10 ipProtocol: type: string description: IP protocol for the virtual server. enum: - tcp - udp - sctp - any example: tcp mask: type: string description: >- Network mask for the destination address. Use 255.255.255.255 for host-specific virtual servers. example: 255.255.255.255 mirror: type: string description: >- Whether connection and persistence mirroring is enabled for high availability failover. enum: - enabled - disabled default: disabled example: enabled nat64: type: string description: Whether NAT64 translation is enabled. enum: - enabled - disabled default: disabled example: enabled partition: type: string description: Administrative partition containing this resource. default: Common example: Common persist: type: array description: Persistence profiles applied to the virtual server. items: type: object properties: name: type: string example: cookie tmDefault: type: string enum: - 'yes' - 'no' example: [] pool: type: string description: >- Default pool for directing traffic. Specified as a full path (e.g., /Common/my_pool). example: /Common/my_pool profiles: type: array description: Profiles applied to the virtual server. items: type: object properties: name: type: string example: http context: type: string enum: - all - clientside - serverside example: all fullPath: type: string example: /Common/http example: [] rateLimit: type: string description: >- Maximum number of connections per second. A value of disabled or 0 means no limit. default: disabled example: example_value rateLimitMode: type: string description: Scope of rate limiting. enum: - object - object-source - object-destination - object-source-destination default: object example: object rules: type: array description: iRules applied to the virtual server. items: type: string example: - /Common/my_irule source: type: string description: >- Source address filter. Only connections from this network are accepted. default: 0.0.0.0/0 example: 0.0.0.0/0 sourcePort: type: string description: Source port translation behavior. enum: - preserve - preserve-strict - change default: preserve example: preserve synCookieStatus: type: string description: Current SYN Cookie protection status. readOnly: true enum: - not-activated - activated example: not-activated translateAddress: type: string description: Whether address translation is enabled. enum: - enabled - disabled default: enabled example: enabled translatePort: type: string description: Whether port translation is enabled. enum: - enabled - disabled default: enabled example: enabled vlansEnabled: type: boolean description: Whether VLAN filtering is enabled. example: true vlansDisabled: type: boolean description: Whether the virtual server is disabled on listed VLANs. example: true vlans: type: array description: List of VLANs on which the virtual server is enabled or disabled. items: type: string example: - /Common/external vsIndex: type: integer description: System-assigned index for the virtual server. readOnly: true example: 10 VirtualServerCreate: type: object description: Request body for creating a new virtual server. required: - name - destination properties: name: type: string description: Name of the virtual server. example: my_virtual_server partition: type: string description: Administrative partition. default: Common example: example_value destination: type: string description: >- Destination address and port in /partition/address:port format. example: /Common/10.0.0.100:80 description: type: string description: User-defined description. example: A sample description. ipProtocol: type: string description: IP protocol. enum: - tcp - udp - sctp - any example: tcp mask: type: string description: Destination network mask. example: 255.255.255.255 pool: type: string description: Default pool full path. example: /Common/my_pool profiles: type: array description: Profiles to apply. items: type: object properties: name: type: string context: type: string enum: - all - clientside - serverside example: [] persist: type: array description: Persistence profiles to apply. items: type: object properties: name: type: string tmDefault: type: string enum: - 'yes' - 'no' example: [] source: type: string description: Source address filter. default: 0.0.0.0/0 example: example_value sourcePort: type: string description: Source port translation behavior. enum: - preserve - preserve-strict - change example: preserve translateAddress: type: string enum: - enabled - disabled example: enabled translatePort: type: string enum: - enabled - disabled example: enabled connectionLimit: type: integer minimum: 0 example: 10 rules: type: array items: type: string example: [] vlans: type: array items: type: string example: [] vlansEnabled: type: boolean example: true vlansDisabled: type: boolean example: true VirtualServerUpdate: type: object description: Request body for updating a virtual server. properties: description: type: string example: A sample description. destination: type: string example: example_value ipProtocol: type: string enum: - tcp - udp - sctp - any example: tcp mask: type: string example: example_value pool: type: string example: example_value profiles: type: array items: type: object properties: name: type: string context: type: string enum: - all - clientside - serverside example: [] persist: type: array items: type: object properties: name: type: string tmDefault: type: string example: [] source: type: string example: example_value sourcePort: type: string enum: - preserve - preserve-strict - change example: preserve translateAddress: type: string enum: - enabled - disabled example: enabled translatePort: type: string enum: - enabled - disabled example: enabled connectionLimit: type: integer minimum: 0 example: 10 enabled: type: boolean example: true disabled: type: boolean example: true mirror: type: string enum: - enabled - disabled example: enabled rateLimit: type: string example: example_value rules: type: array items: type: string example: [] vlans: type: array items: type: string example: [] vlansEnabled: type: boolean example: true vlansDisabled: type: boolean example: true fallbackPersistence: type: string example: example_value Pool: type: object description: >- A pool resource that contains a group of backend server members used for load balancing traffic from virtual servers. properties: kind: type: string description: Resource type identifier. example: tm:ltm:pool:poolstate readOnly: true name: type: string description: Name of the pool resource. example: my_pool fullPath: type: string description: Full path including partition. example: /Common/my_pool readOnly: true generation: type: integer description: Configuration generation counter. readOnly: true example: 10 selfLink: type: string format: uri description: Self-referencing URI. readOnly: true example: https://www.example.com allowNat: type: string description: Whether the pool can load balance NAT connections. enum: - 'yes' - 'no' default: 'yes' example: 'yes' allowSnat: type: string description: Whether the pool can load balance SNAT connections. enum: - 'yes' - 'no' default: 'yes' example: 'yes' description: type: string description: User-defined description. example: A sample description. ignorePersistedWeight: type: string description: >- Whether to ignore persisted weight when calculating load distribution. enum: - enabled - disabled default: disabled example: enabled ipTosToClient: type: string description: Type of Service level for client-bound outgoing packets. default: pass-through example: example_value ipTosToServer: type: string description: Type of Service level for server-bound outgoing packets. default: pass-through example: example_value linkQosToClient: type: string description: QoS level for outgoing packets to clients. default: pass-through example: example_value linkQosToServer: type: string description: QoS level for outgoing packets to servers. default: pass-through example: example_value loadBalancingMode: type: string description: Load balancing algorithm used to distribute traffic. enum: - round-robin - ratio-member - least-connections-member - observed-member - predictive-member - ratio-node - least-connections-node - fastest-node - observed-node - predictive-node - dynamic-ratio-node - fastest-app-response - least-sessions - dynamic-ratio-member - weighted-least-connections-member - weighted-least-connections-node - ratio-session - ratio-least-connections-member - ratio-least-connections-node default: round-robin example: round-robin minActiveMembers: type: integer description: >- Minimum number of active members for priority-group activation. minimum: 0 default: 0 example: 10 minUpMembers: type: integer description: >- Minimum number of operational pool members required before action is taken. minimum: 0 default: 0 example: 10 minUpMembersAction: type: string description: >- Action to take when the number of operational members falls below the minimum. enum: - failover - reboot - restart-all default: failover example: failover minUpMembersChecking: type: string description: Whether minimum member monitoring is enabled. enum: - enabled - disabled default: disabled example: enabled monitor: type: string description: >- Health monitor or monitor rule applied to pool members. Specify multiple monitors with 'and' or 'min N of'. example: /Common/http partition: type: string description: Administrative partition. default: Common example: example_value queueDepthLimit: type: integer description: Maximum number of connections queued per member. minimum: 0 default: 0 example: 10 queueOnConnectionLimit: type: string description: Whether to queue connections when limits are reached. enum: - enabled - disabled default: disabled example: enabled queueTimeLimit: type: integer description: Maximum time in milliseconds a connection can remain queued. minimum: 0 default: 0 example: 10 reselectTries: type: integer description: Number of reselection attempts after a passive failure. minimum: 0 default: 0 example: 10 serviceDownAction: type: string description: Action to take when all pool members are unavailable. enum: - none - reset - reselect - drop default: none example: none slowRampTime: type: integer description: >- Time in seconds to gradually increase traffic to a newly enabled member. minimum: 0 default: 10 example: 10 membersReference: type: object description: Reference to the pool members subcollection. properties: link: type: string format: uri isSubcollection: type: boolean readOnly: true example: example_value PoolCreate: type: object description: Request body for creating a new pool. required: - name properties: name: type: string description: Name of the pool. example: my_pool partition: type: string description: Administrative partition. default: Common example: example_value description: type: string example: A sample description. loadBalancingMode: type: string enum: - round-robin - ratio-member - least-connections-member - observed-member - predictive-member - ratio-node - least-connections-node - fastest-node - observed-node - predictive-node - dynamic-ratio-node - fastest-app-response - least-sessions - dynamic-ratio-member default: round-robin example: round-robin monitor: type: string example: /Common/http members: type: array description: Initial pool members to add during creation. items: type: object required: - name properties: name: type: string description: Member name in address:port format. example: '10.0.0.1:80' address: type: string description: type: string ratio: type: integer priorityGroup: type: integer connectionLimit: type: integer monitor: type: string example: [] serviceDownAction: type: string enum: - none - reset - reselect - drop example: none slowRampTime: type: integer minimum: 0 example: 10 allowNat: type: string enum: - 'yes' - 'no' example: 'yes' allowSnat: type: string enum: - 'yes' - 'no' example: 'yes' PoolUpdate: type: object description: Request body for updating a pool. properties: description: type: string example: A sample description. loadBalancingMode: type: string enum: - round-robin - ratio-member - least-connections-member - observed-member - predictive-member - ratio-node - least-connections-node - fastest-node - observed-node - predictive-node - dynamic-ratio-node - fastest-app-response - least-sessions - dynamic-ratio-member example: round-robin monitor: type: string example: example_value serviceDownAction: type: string enum: - none - reset - reselect - drop example: none slowRampTime: type: integer minimum: 0 example: 10 minActiveMembers: type: integer minimum: 0 example: 10 allowNat: type: string enum: - 'yes' - 'no' example: 'yes' allowSnat: type: string enum: - 'yes' - 'no' example: 'yes' PoolMember: type: object description: >- A pool member resource representing an individual backend server within a pool, identified by address and port. properties: kind: type: string description: Resource type identifier. example: tm:ltm:pool:members:membersstate readOnly: true name: type: string description: Member name in address:port format. example: '10.0.0.1:80' fullPath: type: string description: Full path including partition. example: /Common/10.0.0.1:80 readOnly: true generation: type: integer readOnly: true example: 10 selfLink: type: string format: uri readOnly: true example: https://www.example.com address: type: string description: IP address of the pool member. example: 10.0.0.1 connectionLimit: type: integer description: Maximum concurrent connections. 0 means unlimited. minimum: 0 default: 0 example: 10 description: type: string description: User-defined description. example: A sample description. dynamicRatio: type: integer description: Dynamic ratio for load balancing. default: 1 example: 10 ephemeral: type: string description: Whether this is a transient auto-discovered member. readOnly: true enum: - 'true' - 'false' default: 'false' example: 'true' inheritProfile: type: string description: >- Whether the member inherits the encapsulation profile from its parent pool. enum: - enabled - disabled default: enabled example: enabled logging: type: string description: Whether monitor actions are logged. enum: - enabled - disabled default: disabled example: enabled monitor: type: string description: Health monitor override for this member. default: default example: example_value partition: type: string description: Administrative partition. default: Common example: example_value priorityGroup: type: integer description: >- Priority group number. Higher values receive traffic first when priority-group activation is configured. minimum: 0 default: 0 example: 10 rateLimit: type: string description: Maximum connections per second. disabled means no limit. default: disabled example: example_value ratio: type: integer description: Ratio weight for load balancing. minimum: 1 default: 1 example: 10 session: type: string description: Session availability state. enum: - user-enabled - user-disabled - monitor-enabled default: user-enabled example: user-enabled state: type: string description: Operational state of the member. enum: - user-up - user-down - up - down - unchecked example: up PoolMemberCreate: type: object description: Request body for adding a new pool member. required: - name properties: name: type: string description: >- Member name in address:port format. If a node with the address does not exist, one will be created. example: '10.0.0.1:80' address: type: string description: IP address if it differs from the name. example: example_value description: type: string example: A sample description. connectionLimit: type: integer minimum: 0 example: 10 monitor: type: string example: example_value priorityGroup: type: integer minimum: 0 example: 10 rateLimit: type: string example: example_value ratio: type: integer minimum: 1 example: 10 session: type: string enum: - user-enabled - user-disabled example: user-enabled state: type: string enum: - user-up - user-down example: user-up PoolMemberUpdate: type: object description: Request body for updating a pool member. properties: description: type: string example: A sample description. connectionLimit: type: integer minimum: 0 example: 10 monitor: type: string example: example_value priorityGroup: type: integer minimum: 0 example: 10 rateLimit: type: string example: example_value ratio: type: integer minimum: 1 example: 10 session: type: string enum: - user-enabled - user-disabled example: user-enabled state: type: string enum: - user-up - user-down example: user-up Node: type: object description: >- A node resource representing an individual backend server by its IP address or FQDN. Nodes are automatically created when pool members are added, or can be created independently. properties: kind: type: string description: Resource type identifier. example: tm:ltm:node:nodestate readOnly: true name: type: string description: Name of the node (typically the IP address). example: '10.0.0.1' fullPath: type: string description: Full path including partition. example: /Common/10.0.0.1 readOnly: true generation: type: integer readOnly: true example: 10 selfLink: type: string format: uri readOnly: true example: https://www.example.com address: type: string description: IP address of the node. example: 10.0.0.1 connectionLimit: type: integer description: Maximum concurrent connections. 0 means unlimited. minimum: 0 default: 0 example: 10 description: type: string description: User-defined description. example: A sample description. dynamicRatio: type: integer description: Dynamic ratio weight for load balancing. default: 1 example: 10 ephemeral: type: string description: Whether this is a transient auto-discovered node. readOnly: true enum: - 'true' - 'false' default: 'false' example: 'true' fqdn: type: object description: FQDN configuration for DNS-based node resolution. properties: addressFamily: type: string description: IP address family for DNS resolution. enum: - ipv4 - ipv6 default: ipv4 autopopulate: type: string description: >- Whether to auto-populate the node with DNS lookup results. enum: - enabled - disabled default: disabled downInterval: type: integer description: >- Interval in seconds for DNS queries when the node is down. default: 5 interval: type: string description: >- Interval in seconds between DNS queries for the FQDN. default: '3600' tmName: type: string description: The FQDN value to resolve. example: example_value logging: type: string description: Whether monitor actions are logged. enum: - enabled - disabled default: disabled example: enabled monitor: type: string description: Health monitor applied to the node. default: default example: example_value partition: type: string description: Administrative partition. default: Common example: example_value rateLimit: type: string description: Maximum connections per second. 0 means no limit. default: disabled example: example_value ratio: type: integer description: Fixed ratio weight for load balancing. minimum: 1 default: 1 example: 10 session: type: string description: Session availability state. enum: - user-enabled - user-disabled - monitor-enabled default: user-enabled example: user-enabled state: type: string description: Operational state of the node. enum: - user-up - user-down - up - down - unchecked example: up NodeCreate: type: object description: Request body for creating a new node. required: - name properties: name: type: string description: >- Name of the node. If the name is an IP address, the address property is optional. example: '10.0.0.1' address: type: string description: >- IP address of the node. Required if the name is not an IP address. example: 10.0.0.1 partition: type: string default: Common example: example_value description: type: string example: A sample description. connectionLimit: type: integer minimum: 0 example: 10 monitor: type: string example: example_value rateLimit: type: string example: example_value ratio: type: integer minimum: 1 example: 10 fqdn: type: object properties: addressFamily: type: string enum: - ipv4 - ipv6 autopopulate: type: string enum: - enabled - disabled downInterval: type: integer interval: type: string tmName: type: string example: example_value NodeUpdate: type: object description: Request body for updating a node. properties: description: type: string example: A sample description. connectionLimit: type: integer minimum: 0 example: 10 monitor: type: string example: example_value rateLimit: type: string example: example_value ratio: type: integer minimum: 1 example: 10 session: type: string enum: - user-enabled - user-disabled example: user-enabled state: type: string enum: - user-up - user-down example: user-up logging: type: string enum: - enabled - disabled example: enabled HttpProfile: type: object description: >- An HTTP profile that defines how the BIG-IP processes HTTP traffic for a virtual server. properties: kind: type: string example: tm:ltm:profile:http:httpstate readOnly: true name: type: string example: http fullPath: type: string readOnly: true example: example_value generation: type: integer readOnly: true example: 10 selfLink: type: string format: uri readOnly: true example: https://www.example.com acceptXff: type: string description: Whether to accept X-Forwarded-For headers from clients. enum: - enabled - disabled default: disabled example: enabled appService: type: string example: example_value basicAuthRealm: type: string description: Realm for HTTP Basic authentication challenges. default: none example: example_value defaultsFrom: type: string description: Parent profile from which this profile inherits settings. example: /Common/http description: type: string example: A sample description. encryptCookies: type: array description: List of cookie names to encrypt. items: type: string example: [] enforcement: type: object properties: maxHeaderCount: type: integer description: Maximum number of HTTP headers. default: 64 maxHeaderSize: type: integer description: Maximum total header size in bytes. default: 32768 pipeline: type: string description: Whether HTTP pipelining is allowed. enum: - allow - reject - pass-through example: example_value fallbackHost: type: string description: Fallback host for HTTP redirects. example: example_value fallbackStatusCodes: type: array description: HTTP status codes that trigger fallback redirection. items: type: string example: [] headerErase: type: string description: Regular expression for headers to remove from responses. example: example_value headerInsert: type: string description: Header to insert into requests. example: example_value insertXforwardedFor: type: string description: Whether to insert an X-Forwarded-For header. enum: - enabled - disabled default: disabled example: enabled oneconnectTransformations: type: string description: Whether to rewrite HTTP connections for OneConnect. enum: - enabled - disabled default: enabled example: enabled redirectRewrite: type: string description: Redirect rewrite mode. enum: - none - all - matching - nodes example: none requestChunking: type: string description: How to handle chunked requests. enum: - allow - preserve - rechunk - selective example: allow responseChunking: type: string description: How to handle chunked responses. enum: - allow - preserve - rechunk - selective example: allow serverAgentName: type: string description: Server agent string to include in responses. example: example_value viaHostName: type: string description: Hostname to use in Via headers. example: example_value viaRequest: type: string description: Via header handling for requests. enum: - append - preserve - remove example: append viaResponse: type: string description: Via header handling for responses. enum: - append - preserve - remove example: append xffAlternativeNames: type: array description: Alternative header names for X-Forwarded-For. items: type: string example: [] TcpProfile: type: object description: >- A TCP profile that defines how the BIG-IP processes TCP traffic, including connection settings, timeouts, and optimization. properties: kind: type: string example: tm:ltm:profile:tcp:tcpstate readOnly: true name: type: string example: tcp fullPath: type: string readOnly: true example: example_value generation: type: integer readOnly: true example: 10 selfLink: type: string format: uri readOnly: true example: https://www.example.com abc: type: string description: Whether Appropriate Byte Counting is enabled. enum: - enabled - disabled example: enabled ackOnPush: type: string description: Whether to send ACK on PUSH flag. enum: - enabled - disabled example: enabled closeWaitTimeout: type: integer description: Timeout in seconds for CLOSE-WAIT state. example: 10 congestionControl: type: string description: TCP congestion control algorithm. enum: - high-speed - cdg - chd - cubic - illinois - new-reno - none - reno - scalable - vegas - westwood - woodside example: high-speed defaultsFrom: type: string description: Parent profile. example: /Common/tcp deferredAccept: type: string description: Whether to defer connection acceptance. enum: - enabled - disabled example: enabled description: type: string example: A sample description. finWaitTimeout: type: integer description: Timeout in seconds for FIN-WAIT state. example: 10 idleTimeout: type: integer description: >- Idle timeout in seconds. Connections idle longer than this value are closed. example: 10 initCwnd: type: integer description: Initial TCP congestion window size. example: 10 initRwnd: type: integer description: Initial TCP receive window size. example: 10 keepAliveInterval: type: integer description: Interval in seconds between TCP keep-alive probes. example: 10 maxRetrans: type: integer description: Maximum number of TCP retransmission attempts. example: 10 maxSegmentSize: type: integer description: Maximum segment size (MSS) in bytes. example: 10 nagle: type: string description: Nagle algorithm setting. enum: - auto - enabled - disabled example: auto receiveWindowSize: type: integer description: TCP receive window size in bytes. example: 10 sendBufferSize: type: integer description: TCP send buffer size in bytes. example: 10 synMaxRetrans: type: integer description: Maximum SYN retransmission attempts. example: 10 timeWaitRecycle: type: string description: Whether to recycle TIME-WAIT connections. enum: - enabled - disabled example: enabled timeWaitTimeout: type: integer description: Timeout in milliseconds for TIME-WAIT state. example: 10 ClientSslProfile: type: object description: >- A Client SSL profile for managing SSL/TLS connections between clients and the BIG-IP system. properties: kind: type: string example: tm:ltm:profile:client-ssl:client-sslstate readOnly: true name: type: string example: clientssl fullPath: type: string readOnly: true example: example_value generation: type: integer readOnly: true example: 10 selfLink: type: string format: uri readOnly: true example: https://www.example.com alertTimeout: type: string description: Alert timeout for SSL handshake. example: example_value allowNonSsl: type: string description: Whether to allow non-SSL connections. enum: - enabled - disabled example: enabled cert: type: string description: Path to the SSL certificate file. example: /Common/default.crt certKeyChain: type: array description: Certificate and key chain pairs. items: type: object properties: name: type: string cert: type: string key: type: string chain: type: string example: [] ciphers: type: string description: Cipher suite string. example: DEFAULT defaultsFrom: type: string description: Parent profile. example: /Common/clientssl description: type: string example: A sample description. key: type: string description: Path to the SSL private key file. example: /Common/default.key options: type: array description: SSL options. items: type: string example: [] peerCertMode: type: string description: Client certificate verification mode. enum: - ignore - require - request example: ignore renegotiation: type: string description: Whether SSL renegotiation is allowed. enum: - enabled - disabled example: enabled secureRenegotiation: type: string description: Secure renegotiation mode. enum: - require - require-strict - request example: require sniDefault: type: string description: Whether this is the default SNI profile. enum: - 'true' - 'false' example: 'true' sniRequire: type: string description: Whether SNI is required. enum: - 'true' - 'false' example: 'true' sslForwardProxy: type: string description: Whether SSL forward proxy is enabled. enum: - enabled - disabled example: enabled uncleanShutdown: type: string description: How to handle unclean SSL shutdowns. enum: - enabled - disabled example: enabled CookiePersistenceProfile: type: object description: >- A cookie persistence profile that maintains session persistence by inserting or reading HTTP cookies. properties: kind: type: string example: tm:ltm:persistence:cookie:cookiestate readOnly: true name: type: string example: cookie fullPath: type: string readOnly: true example: example_value generation: type: integer readOnly: true example: 10 selfLink: type: string format: uri readOnly: true example: https://www.example.com alwaysSend: type: string description: Whether to always send the cookie. enum: - enabled - disabled example: enabled cookieEncryption: type: string description: Cookie encryption method. enum: - required - preferred - disabled example: required cookieName: type: string description: Name of the persistence cookie. example: example_value defaultsFrom: type: string description: Parent profile. example: /Common/cookie description: type: string example: A sample description. expiration: type: string description: Cookie expiration time. example: session hashLength: type: integer description: Length of the cookie hash. example: 10 hashOffset: type: integer description: Offset for the cookie hash. example: 10 httponly: type: string description: Whether the cookie has the HttpOnly flag. enum: - enabled - disabled example: enabled matchAcrossPools: type: string description: Whether to match persistence across pools. enum: - enabled - disabled example: enabled matchAcrossServices: type: string description: Whether to match persistence across virtual servers. enum: - enabled - disabled example: enabled matchAcrossVirtuals: type: string description: Whether to match persistence across all virtuals. enum: - enabled - disabled example: enabled method: type: string description: Cookie persistence method. enum: - insert - rewrite - passive - hash example: insert mirror: type: string description: Whether to mirror persistence records. enum: - enabled - disabled example: enabled overrideConnectionLimit: type: string description: Whether to override connection limits for persisted sessions. enum: - enabled - disabled example: enabled secure: type: string description: Whether the cookie has the Secure flag. enum: - enabled - disabled example: enabled timeout: type: string description: Persistence timeout in seconds. example: example_value ErrorResponse: type: object description: Standard error response from the iControl REST API. properties: code: type: integer description: HTTP status code. example: 400 message: type: string description: Error message describing what went wrong. example: 'The requested Pool (/Common/my_pool) was not found.' errorStack: type: array description: Stack trace for debugging (when available). items: type: string example: [] apiError: type: integer description: API-specific error code. example: 10 responses: BadRequest: description: >- The request could not be processed due to invalid syntax or missing required parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: >- Authentication failed. Provide valid credentials via Basic Auth or X-F5-Auth-Token header. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: The requested resource was not found on the BIG-IP system. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Conflict: description: >- The resource already exists or conflicts with an existing configuration. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalServerError: description: >- An unexpected error occurred on the BIG-IP system while processing the request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse'