diff --git a/LICENSE b/LICENSE index f9b71ef..c0cc138 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright (c) 2019-2022 Splunk Inc. + Copyright (c) 2019-2024 Splunk Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -198,4 +198,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. diff --git a/NOTICE b/NOTICE index db2ca2b..7ae0579 100644 --- a/NOTICE +++ b/NOTICE @@ -1,5 +1,5 @@ Splunk SOAR F5 BIG-IP LTM -Copyright (c) 2019-2022 Splunk Inc. +Copyright (c) 2019-2024 Splunk Inc. Third-party Software Attributions: diff --git a/README.md b/README.md index 3813181..d9a05a4 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,24 @@ [comment]: # "Auto-generated SOAR connector documentation" -# F5 BIG\-IP LTM +# F5 BIG-IP LTM Publisher: Splunk -Connector Version: 2\.1\.1 +Connector Version: 2.1.2 Product Vendor: F5 Product Name: Local Traffic Manager -Product Version Supported (regex): "\.\*" -Minimum Product Version: 5\.1\.0 +Product Version Supported (regex): ".\*" +Minimum Product Version: 6.1.1 -This app implements investigate and generic actions to integrate with an F5 BIG\-IP LTM instance to manage pools and nodes +This app implements investigate and generic actions to integrate with an F5 BIG-IP LTM instance to manage pools and nodes ### Configuration Variables The below configuration variables are required for this Connector to operate. These variables are specified when configuring a Local Traffic Manager asset in SOAR. VARIABLE | REQUIRED | TYPE | DESCRIPTION -------- | -------- | ---- | ----------- -**base\_url** | required | string | Base URL of F5 BIG\-IP LTM instance \(e\.g\. https\://10\.1\.16\.110\) +**base_url** | required | string | Base URL of F5 BIG-IP LTM instance (e.g. https://10.1.16.110) **username** | required | string | User name **password** | required | password | Password -**verify\_server\_cert** | optional | boolean | Verify Server SSL certificate +**verify_server_cert** | optional | boolean | Verify Server SSL certificate ### Supported Actions [test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using the supplied configuration @@ -32,9 +32,9 @@ VARIABLE | REQUIRED | TYPE | DESCRIPTION [enable node](#action-enable-node) - Enable a node [describe node](#action-describe-node) - Get information about a node [get node stats](#action-get-node-stats) - Get stats of the node -[list nodes](#action-list-nodes) - Fetch a list of nodes \(if no value is provided, all nodes will be returned\) -[list pools](#action-list-pools) - Fetch a list of configured pools \(if no value is provided, all pools will be returned\) -[list members](#action-list-members) - Fetch a list of configured node members of a pool \(if no value is provided, all node members of a pool will be returned\) +[list nodes](#action-list-nodes) - Fetch a list of nodes (if no value is provided, all nodes will be returned) +[list pools](#action-list-pools) - Fetch a list of configured pools (if no value is provided, all pools will be returned) +[list members](#action-list-members) - Fetch a list of configured node members of a pool (if no value is provided, all node members of a pool will be returned) ## action: 'test connectivity' Validate the asset configuration for connectivity using the supplied configuration @@ -57,41 +57,41 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to create | string | `f5 node name` -**partition\_name** | required | Name of the partition | string | `f5 partition name` -**ip\_address** | required | IP address of the new node | string | `ip` `ipv6` +**node_name** | required | Name of the node to create | string | `f5 node name` +**partition_name** | required | Name of the partition | string | `f5 partition name` +**ip_address** | required | IP address of the new node | string | `ip` `ipv6` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.ip\_address | string | `ip` `ipv6` -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.parameter\.partition\_name | string | `f5 partition name` -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.addressFamily | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fqdn\.downInterval | numeric | -action\_result\.data\.\*\.fqdn\.interval | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.node\_name | string | `f5 node name` -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.ip_address | string | `ip` `ipv6` | 1.1.1.1 +action_result.parameter.node_name | string | `f5 node name` | test +action_result.parameter.partition_name | string | `f5 partition name` | Common +action_result.data.\*.address | string | `ip` | 1.1.1.1 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.addressFamily | string | | ipv4 +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fqdn.downInterval | numeric | | 5 +action_result.data.\*.fqdn.interval | string | | 3600 +action_result.data.\*.fullPath | string | | /Common/test8 +action_result.data.\*.generation | numeric | | 138 +action_result.data.\*.kind | string | | tm:ltm:node:nodestate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | test +action_result.data.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/node/~Common~test8?ver=15.0.0 +action_result.data.\*.session | string | | user-enabled +action_result.data.\*.state | string | | unchecked +action_result.summary.node_name | string | `f5 node name` | test8 +action_result.message | string | | Node successfully created +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'delete node' Delete a node @@ -102,18 +102,18 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to delete | string | `f5 node name` +**node_name** | required | Name of the node to delete | string | `f5 node name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.data | string | -action\_result\.summary\.node\_name | string | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.data | string | | +action_result.summary.node_name | string | | test8 +action_result.message | string | | Successfully deleted node +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'remove node' Remove a node from a pool @@ -124,24 +124,24 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to remove | string | `f5 node name` +**node_name** | required | Name of the node to remove | string | `f5 node name` **port** | required | Port number | string | `port` -**pool\_name** | required | Name of the pool to remove the node from | string | `f5 pool name` +**pool_name** | required | Name of the pool to remove the node from | string | `f5 pool name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.parameter\.pool\_name | string | `f5 pool name` -action\_result\.parameter\.port | string | `port` -action\_result\.data | string | -action\_result\.summary\.node\_name | string | `f5 node name` -action\_result\.summary\.pool\_name | string | `f5 pool name` -action\_result\.summary\.port | string | `port` -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.parameter.pool_name | string | `f5 pool name` | pool3 +action_result.parameter.port | string | `port` | 80 443 +action_result.data | string | | +action_result.summary.node_name | string | `f5 node name` | test pool +action_result.summary.pool_name | string | `f5 pool name` | pool3 +action_result.summary.port | string | `port` | 80 +action_result.message | string | | Node successfully removed from pool +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'create pool' Create a new pool @@ -152,49 +152,49 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**pool\_name** | required | Name of the pool to create | string | `f5 pool name` -**pool\_description** | optional | Description of the pool | string | -**partition\_name** | required | Name of the partition | string | `f5 partition name` +**pool_name** | required | Name of the pool to create | string | `f5 pool name` +**pool_description** | optional | Description of the pool | string | +**partition_name** | required | Name of the partition | string | `f5 partition name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.partition\_name | string | `f5 partition name` -action\_result\.parameter\.pool\_description | string | -action\_result\.parameter\.pool\_name | string | `f5 pool name` -action\_result\.data\.\*\.allowNat | string | -action\_result\.data\.\*\.allowSnat | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.ignorePersistedWeight | string | -action\_result\.data\.\*\.ipTosToClient | string | -action\_result\.data\.\*\.ipTosToServer | string | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.linkQosToClient | string | -action\_result\.data\.\*\.linkQosToServer | string | -action\_result\.data\.\*\.loadBalancingMode | string | -action\_result\.data\.\*\.membersReference\.isSubcollection | boolean | -action\_result\.data\.\*\.membersReference\.link | string | `url` -action\_result\.data\.\*\.minActiveMembers | numeric | -action\_result\.data\.\*\.minUpMembers | numeric | -action\_result\.data\.\*\.minUpMembersAction | string | -action\_result\.data\.\*\.minUpMembersChecking | string | -action\_result\.data\.\*\.name | string | `f5 pool name` -action\_result\.data\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.queueDepthLimit | numeric | -action\_result\.data\.\*\.queueOnConnectionLimit | string | -action\_result\.data\.\*\.queueTimeLimit | numeric | -action\_result\.data\.\*\.reselectTries | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.serviceDownAction | string | -action\_result\.data\.\*\.slowRampTime | numeric | -action\_result\.summary\.partition | string | `f5 partition name` -action\_result\.summary\.pool\_description | string | -action\_result\.summary\.pool\_name | string | `f5 pool name` -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.partition_name | string | `f5 partition name` | Common +action_result.parameter.pool_description | string | | test pool creation +action_result.parameter.pool_name | string | `f5 pool name` | pool3 +action_result.data.\*.allowNat | string | | yes +action_result.data.\*.allowSnat | string | | yes +action_result.data.\*.fullPath | string | | /Common/pool3 +action_result.data.\*.generation | numeric | | 118 +action_result.data.\*.ignorePersistedWeight | string | | disabled +action_result.data.\*.ipTosToClient | string | | pass-through +action_result.data.\*.ipTosToServer | string | | pass-through +action_result.data.\*.kind | string | | tm:ltm:pool:poolstate +action_result.data.\*.linkQosToClient | string | | pass-through +action_result.data.\*.linkQosToServer | string | | pass-through +action_result.data.\*.loadBalancingMode | string | | round-robin +action_result.data.\*.membersReference.isSubcollection | boolean | | True False +action_result.data.\*.membersReference.link | string | `url` | https://localhost/mgmt/tm/ltm/pool/~Common~pool3/members?ver=15.0.0 +action_result.data.\*.minActiveMembers | numeric | | 0 +action_result.data.\*.minUpMembers | numeric | | 0 +action_result.data.\*.minUpMembersAction | string | | failover +action_result.data.\*.minUpMembersChecking | string | | disabled +action_result.data.\*.name | string | `f5 pool name` | pool3 +action_result.data.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.queueDepthLimit | numeric | | 0 +action_result.data.\*.queueOnConnectionLimit | string | | disabled +action_result.data.\*.queueTimeLimit | numeric | | 0 +action_result.data.\*.reselectTries | numeric | | 0 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/pool/~Common~test1pool?ver=15.0.0 +action_result.data.\*.serviceDownAction | string | | none +action_result.data.\*.slowRampTime | numeric | | 10 +action_result.summary.partition | string | `f5 partition name` | Common +action_result.summary.pool_description | string | | test pool creation +action_result.summary.pool_name | string | `f5 pool name` | pool3 +action_result.message | string | | Successfully created pool +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'delete pool' Delete an existing pool @@ -205,18 +205,18 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**pool\_name** | required | Name of the pool to delete | string | `f5 pool name` +**pool_name** | required | Name of the pool to delete | string | `f5 pool name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.pool\_name | string | `f5 pool name` -action\_result\.data | string | -action\_result\.summary\.pool\_name | string | `f5 pool name` -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.pool_name | string | `f5 pool name` | gonna-delete-this +action_result.data | string | | +action_result.summary.pool_name | string | `f5 pool name` | gonna-delete-this +action_result.message | string | | Successfully deleted pool +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'add node' Add an existing node to a pool @@ -227,44 +227,44 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to add | string | `f5 node name` -**partition\_name** | required | Name of the partition to add node | string | `f5 partition name` +**node_name** | required | Name of the node to add | string | `f5 node name` +**partition_name** | required | Name of the partition to add node | string | `f5 partition name` **port** | required | Port number | string | `port` -**pool\_name** | required | Name of the pool to add node member | string | `f5 pool name` +**pool_name** | required | Name of the pool to add node member | string | `f5 pool name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.parameter\.partition\_name | string | `f5 partition name` -action\_result\.parameter\.pool\_name | string | `f5 pool name` -action\_result\.parameter\.port | string | `port` -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.inheritProfile | string | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.priorityGroup | numeric | -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.node\_name | string | -action\_result\.summary\.pool\_name | string | `f5 pool name` -action\_result\.summary\.port | string | `port` -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.parameter.partition_name | string | `f5 partition name` | Common +action_result.parameter.pool_name | string | `f5 pool name` | pool3 +action_result.parameter.port | string | `port` | 80 443 +action_result.data.\*.address | string | `ip` | 4.4.4.4 1.1.1.1 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fullPath | string | | /Common/test7:80 /Common/test8:443 +action_result.data.\*.generation | numeric | | 110 +action_result.data.\*.inheritProfile | string | | enabled +action_result.data.\*.kind | string | | tm:ltm:pool:members:membersstate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | test7:80 test8:443 +action_result.data.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.priorityGroup | numeric | | 0 +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/pool/pool1/members/~Common~test7:80?ver=15.0.0 +action_result.data.\*.session | string | | monitor-enabled user-enabled +action_result.data.\*.state | string | | checking unchecked +action_result.summary.node_name | string | | test8:443 +action_result.summary.pool_name | string | `f5 pool name` | pool3 +action_result.summary.port | string | `port` | 443 +action_result.message | string | | Node successfully added to pool +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'disable node' Disable a node @@ -275,37 +275,37 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to disable | string | `f5 node name` +**node_name** | required | Name of the node to disable | string | `f5 node name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.description | string | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.addressFamily | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fqdn\.downInterval | numeric | -action\_result\.data\.\*\.fqdn\.interval | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.node\_name | string | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.data.\*.address | string | `ip` | 4.4.4.4 1.1.1.1 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.description | string | | This node was created for testing +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.addressFamily | string | | ipv4 +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fqdn.downInterval | numeric | | 5 +action_result.data.\*.fqdn.interval | string | | 3600 +action_result.data.\*.fullPath | string | | test7 test8 +action_result.data.\*.generation | numeric | | 115 +action_result.data.\*.kind | string | | tm:ltm:node:nodestate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | test7 +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/node/test7?ver=15.0.0 +action_result.data.\*.session | string | | user-disabled +action_result.data.\*.state | string | | unchecked +action_result.summary.node_name | string | | test8 +action_result.message | string | | Successfully disabled node +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'enable node' Enable a node @@ -316,37 +316,37 @@ Read only: **False** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to enable | string | `f5 node name` +**node_name** | required | Name of the node to enable | string | `f5 node name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.description | string | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.addressFamily | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fqdn\.downInterval | numeric | -action\_result\.data\.\*\.fqdn\.interval | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.node\_name | string | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.data.\*.address | string | `ip` | 1.1.1.1 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.description | string | | This node was created for testing +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.addressFamily | string | | ipv4 +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fqdn.downInterval | numeric | | 5 +action_result.data.\*.fqdn.interval | string | | 3600 +action_result.data.\*.fullPath | string | | test8 +action_result.data.\*.generation | numeric | | 46 +action_result.data.\*.kind | string | | tm:ltm:node:nodestate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | test8 +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/node/nginx1?ver=15.0.0 +action_result.data.\*.session | string | | user-enabled +action_result.data.\*.state | string | | unchecked +action_result.summary.node_name | string | | test8 +action_result.message | string | | Successfully enabled node +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'describe node' Get information about a node @@ -357,36 +357,36 @@ Read only: **True** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node to describe | string | `f5 node name` +**node_name** | required | Name of the node to describe | string | `f5 node name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.addressFamily | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fqdn\.downInterval | numeric | -action\_result\.data\.\*\.fqdn\.interval | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.state | string | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.data.\*.address | string | `ip` | 1.1.1.1 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.addressFamily | string | | ipv4 +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fqdn.downInterval | numeric | | 5 +action_result.data.\*.fqdn.interval | string | | 3600 +action_result.data.\*.fullPath | string | | testpath +action_result.data.\*.generation | numeric | | 45 78 +action_result.data.\*.kind | string | | tm:ltm:node:nodestate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | test8 +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/node/nginx1?ver=15.0.0 +action_result.data.\*.session | string | | user-disabled user-enabled +action_result.data.\*.state | string | | unchecked +action_result.summary.state | string | | unchecked +action_result.message | string | | State: unchecked +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'get node stats' Get stats of the node @@ -397,37 +397,37 @@ Read only: **True** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**node\_name** | required | Name of the node | string | `f5 node name` +**node_name** | required | Name of the node | string | `f5 node name` #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.node\_name | string | `f5 node name` -action\_result\.data\.\*\.addr\.description | string | -action\_result\.data\.\*\.curSessions\.value | numeric | -action\_result\.data\.\*\.monitorRule\.description | string | -action\_result\.data\.\*\.monitorStatus\.description | string | -action\_result\.data\.\*\.serverside\_bitsIn\.value | numeric | -action\_result\.data\.\*\.serverside\_bitsOut\.value | numeric | -action\_result\.data\.\*\.serverside\_curConns\.value | numeric | -action\_result\.data\.\*\.serverside\_maxConns\.value | numeric | -action\_result\.data\.\*\.serverside\_pktsIn\.value | numeric | -action\_result\.data\.\*\.serverside\_pktsOut\.value | numeric | -action\_result\.data\.\*\.serverside\_totConns\.value | numeric | -action\_result\.data\.\*\.sessionStatus\.description | string | -action\_result\.data\.\*\.status\_availabilityState\.description | string | -action\_result\.data\.\*\.status\_enabledState\.description | string | -action\_result\.data\.\*\.status\_statusReason\.description | string | -action\_result\.data\.\*\.tmName\.description | string | -action\_result\.data\.\*\.totRequests\.value | numeric | -action\_result\.summary\.num\_connections | numeric | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.node_name | string | `f5 node name` | test8 +action_result.data.\*.addr.description | string | | 1.1.1.1 +action_result.data.\*.curSessions.value | numeric | | 0 +action_result.data.\*.monitorRule.description | string | | none +action_result.data.\*.monitorStatus.description | string | | unchecked +action_result.data.\*.serverside_bitsIn.value | numeric | | 0 +action_result.data.\*.serverside_bitsOut.value | numeric | | 0 +action_result.data.\*.serverside_curConns.value | numeric | | 0 +action_result.data.\*.serverside_maxConns.value | numeric | | 100 +action_result.data.\*.serverside_pktsIn.value | numeric | | 0 +action_result.data.\*.serverside_pktsOut.value | numeric | | 0 +action_result.data.\*.serverside_totConns.value | numeric | | 0 +action_result.data.\*.sessionStatus.description | string | | enabled +action_result.data.\*.status_availabilityState.description | string | | unknown +action_result.data.\*.status_enabledState.description | string | | enabled +action_result.data.\*.status_statusReason.description | string | | Node address does not have service checking enabled +action_result.data.\*.tmName.description | string | | /Common/IIS1 +action_result.data.\*.totRequests.value | numeric | | 0 +action_result.summary.num_connections | numeric | | 4 +action_result.message | string | | Successfully retrieved node stats +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'list nodes' -Fetch a list of nodes \(if no value is provided, all nodes will be returned\) +Fetch a list of nodes (if no value is provided, all nodes will be returned) Type: **investigate** Read only: **True** @@ -435,42 +435,42 @@ Read only: **True** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**max\_results** | optional | Max number of nodes to return | numeric | +**max_results** | optional | Max number of nodes to return | numeric | #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.max\_results | numeric | -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.description | string | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.addressFamily | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fqdn\.downInterval | numeric | -action\_result\.data\.\*\.fqdn\.interval | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.node\_names | string | -action\_result\.summary\.num\_nodes | numeric | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.max_results | numeric | | 10 +action_result.data.\*.address | string | `ip` | 10.1.1.1 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.description | string | | IIS1 +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.addressFamily | string | | ipv4 +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fqdn.downInterval | numeric | | 5 +action_result.data.\*.fqdn.interval | string | | 3600 +action_result.data.\*.fullPath | string | | /Common/test1 +action_result.data.\*.generation | numeric | | 68 +action_result.data.\*.kind | string | | tm:ltm:node:nodestate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | test8 +action_result.data.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/node/~Common~nginx1?ver=15.0.0 +action_result.data.\*.session | string | | user-enabled +action_result.data.\*.state | string | | unchecked +action_result.summary.node_names | string | | 10.1.17.97, 10.1.17.98, a13 +action_result.summary.num_nodes | numeric | | 4 +action_result.message | string | | Node names: 10.1.17.97, 10.1.17.98, a13, Num nodes: 3 +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'list pools' -Fetch a list of configured pools \(if no value is provided, all pools will be returned\) +Fetch a list of configured pools (if no value is provided, all pools will be returned) Type: **investigate** Read only: **True** @@ -478,88 +478,88 @@ Read only: **True** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**max\_results** | optional | Max number of pools to return | numeric | +**max_results** | optional | Max number of pools to return | numeric | #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.max\_results | numeric | -action\_result\.data\.\*\.allowNat | string | -action\_result\.data\.\*\.allowSnat | string | -action\_result\.data\.\*\.description | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.ignorePersistedWeight | string | -action\_result\.data\.\*\.ipTosToClient | string | -action\_result\.data\.\*\.ipTosToServer | string | -action\_result\.data\.\*\.items\.\*\.addressStatus | string | -action\_result\.data\.\*\.items\.\*\.autoLasthop | string | -action\_result\.data\.\*\.items\.\*\.cmpEnabled | string | -action\_result\.data\.\*\.items\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.items\.\*\.creationTime | string | -action\_result\.data\.\*\.items\.\*\.destination | string | -action\_result\.data\.\*\.items\.\*\.enabled | boolean | -action\_result\.data\.\*\.items\.\*\.evictionProtected | string | -action\_result\.data\.\*\.items\.\*\.fullPath | string | -action\_result\.data\.\*\.items\.\*\.generation | numeric | -action\_result\.data\.\*\.items\.\*\.gtmScore | numeric | -action\_result\.data\.\*\.items\.\*\.ipProtocol | string | -action\_result\.data\.\*\.items\.\*\.kind | string | -action\_result\.data\.\*\.items\.\*\.lastModifiedTime | string | -action\_result\.data\.\*\.items\.\*\.mask | string | `ip` -action\_result\.data\.\*\.items\.\*\.mirror | string | -action\_result\.data\.\*\.items\.\*\.mobileAppTunnel | string | -action\_result\.data\.\*\.items\.\*\.name | string | -action\_result\.data\.\*\.items\.\*\.nat64 | string | -action\_result\.data\.\*\.items\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.items\.\*\.policiesReference\.isSubcollection | boolean | -action\_result\.data\.\*\.items\.\*\.policiesReference\.link | string | `url` -action\_result\.data\.\*\.items\.\*\.pool | string | -action\_result\.data\.\*\.items\.\*\.poolReference\.link | string | `url` -action\_result\.data\.\*\.items\.\*\.profilesReference\.isSubcollection | boolean | -action\_result\.data\.\*\.items\.\*\.profilesReference\.link | string | `url` -action\_result\.data\.\*\.items\.\*\.rateLimit | string | -action\_result\.data\.\*\.items\.\*\.rateLimitDstMask | numeric | -action\_result\.data\.\*\.items\.\*\.rateLimitMode | string | -action\_result\.data\.\*\.items\.\*\.rateLimitSrcMask | numeric | -action\_result\.data\.\*\.items\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.items\.\*\.serviceDownImmediateAction | string | -action\_result\.data\.\*\.items\.\*\.source | string | -action\_result\.data\.\*\.items\.\*\.sourceAddressTranslation\.type | string | -action\_result\.data\.\*\.items\.\*\.sourcePort | string | -action\_result\.data\.\*\.items\.\*\.synCookieStatus | string | -action\_result\.data\.\*\.items\.\*\.translateAddress | string | -action\_result\.data\.\*\.items\.\*\.translatePort | string | -action\_result\.data\.\*\.items\.\*\.vlansDisabled | boolean | -action\_result\.data\.\*\.items\.\*\.vsIndex | numeric | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.linkQosToClient | string | -action\_result\.data\.\*\.linkQosToServer | string | -action\_result\.data\.\*\.loadBalancingMode | string | -action\_result\.data\.\*\.membersReference\.isSubcollection | boolean | -action\_result\.data\.\*\.membersReference\.link | string | `url` -action\_result\.data\.\*\.minActiveMembers | numeric | -action\_result\.data\.\*\.minUpMembers | numeric | -action\_result\.data\.\*\.minUpMembersAction | string | -action\_result\.data\.\*\.minUpMembersChecking | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 pool name` -action\_result\.data\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.queueDepthLimit | numeric | -action\_result\.data\.\*\.queueOnConnectionLimit | string | -action\_result\.data\.\*\.queueTimeLimit | numeric | -action\_result\.data\.\*\.reselectTries | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.serviceDownAction | string | -action\_result\.data\.\*\.slowRampTime | numeric | -action\_result\.summary\.num\_pools | numeric | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.max_results | numeric | | 10 +action_result.data.\*.allowNat | string | | yes +action_result.data.\*.allowSnat | string | | yes +action_result.data.\*.description | string | | Pool of IIS servers for IT Automation UC1a +action_result.data.\*.fullPath | string | | /Common/pool1 +action_result.data.\*.generation | numeric | | 66 +action_result.data.\*.ignorePersistedWeight | string | | disabled +action_result.data.\*.ipTosToClient | string | | pass-through +action_result.data.\*.ipTosToServer | string | | pass-through +action_result.data.\*.items.\*.addressStatus | string | | yes +action_result.data.\*.items.\*.autoLasthop | string | | default +action_result.data.\*.items.\*.cmpEnabled | string | | yes +action_result.data.\*.items.\*.connectionLimit | numeric | | 0 +action_result.data.\*.items.\*.creationTime | string | | 2019-08-30T00:04:17Z +action_result.data.\*.items.\*.destination | string | | /Common/10.1.16.148:80 +action_result.data.\*.items.\*.enabled | boolean | | True False +action_result.data.\*.items.\*.evictionProtected | string | | disabled +action_result.data.\*.items.\*.fullPath | string | | /Common/vip +action_result.data.\*.items.\*.generation | numeric | | 1 +action_result.data.\*.items.\*.gtmScore | numeric | | 0 +action_result.data.\*.items.\*.ipProtocol | string | | tcp +action_result.data.\*.items.\*.kind | string | | tm:ltm:virtual:virtualstate +action_result.data.\*.items.\*.lastModifiedTime | string | | 2019-08-30T00:05:23Z +action_result.data.\*.items.\*.mask | string | `ip` | 255.255.255.255 +action_result.data.\*.items.\*.mirror | string | | disabled +action_result.data.\*.items.\*.mobileAppTunnel | string | | disabled +action_result.data.\*.items.\*.name | string | | vip +action_result.data.\*.items.\*.nat64 | string | | disabled +action_result.data.\*.items.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.items.\*.policiesReference.isSubcollection | boolean | | True False +action_result.data.\*.items.\*.policiesReference.link | string | `url` | https://localhost/mgmt/tm/ltm/virtual/~Common~vip/policies?ver=15.0.0 +action_result.data.\*.items.\*.pool | string | | /Common/pool1 +action_result.data.\*.items.\*.poolReference.link | string | `url` | https://localhost/mgmt/tm/ltm/pool/~Common~pool1?ver=15.0.0 +action_result.data.\*.items.\*.profilesReference.isSubcollection | boolean | | True False +action_result.data.\*.items.\*.profilesReference.link | string | `url` | https://localhost/mgmt/tm/ltm/virtual/~Common~vip/profiles?ver=15.0.0 +action_result.data.\*.items.\*.rateLimit | string | | disabled +action_result.data.\*.items.\*.rateLimitDstMask | numeric | | 0 +action_result.data.\*.items.\*.rateLimitMode | string | | object +action_result.data.\*.items.\*.rateLimitSrcMask | numeric | | 0 +action_result.data.\*.items.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/virtual/~Common~vip?ver=15.0.0 +action_result.data.\*.items.\*.serviceDownImmediateAction | string | | none +action_result.data.\*.items.\*.source | string | | 0.0.0.0/0 +action_result.data.\*.items.\*.sourceAddressTranslation.type | string | | none +action_result.data.\*.items.\*.sourcePort | string | | preserve +action_result.data.\*.items.\*.synCookieStatus | string | | not-activated +action_result.data.\*.items.\*.translateAddress | string | | enabled +action_result.data.\*.items.\*.translatePort | string | | enabled +action_result.data.\*.items.\*.vlansDisabled | boolean | | True False +action_result.data.\*.items.\*.vsIndex | numeric | | 2 +action_result.data.\*.kind | string | | tm:ltm:virtual:virtualcollectionstate tm:ltm:pool:poolstate +action_result.data.\*.linkQosToClient | string | | pass-through +action_result.data.\*.linkQosToServer | string | | pass-through +action_result.data.\*.loadBalancingMode | string | | round-robin +action_result.data.\*.membersReference.isSubcollection | boolean | | True False +action_result.data.\*.membersReference.link | string | `url` | https://localhost/mgmt/tm/ltm/pool/~Common~pool1/members?ver=15.0.0 +action_result.data.\*.minActiveMembers | numeric | | 0 +action_result.data.\*.minUpMembers | numeric | | 0 +action_result.data.\*.minUpMembersAction | string | | failover +action_result.data.\*.minUpMembersChecking | string | | disabled +action_result.data.\*.monitor | string | | /Common/http +action_result.data.\*.name | string | `f5 pool name` | pool1 +action_result.data.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.queueDepthLimit | numeric | | 0 +action_result.data.\*.queueOnConnectionLimit | string | | disabled +action_result.data.\*.queueTimeLimit | numeric | | 0 +action_result.data.\*.reselectTries | numeric | | 0 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/virtual?ver=15.0.0 https://localhost/mgmt/tm/ltm/pool/~Common~pool1?ver=15.0.0 +action_result.data.\*.serviceDownAction | string | | none +action_result.data.\*.slowRampTime | numeric | | 10 +action_result.summary.num_pools | numeric | | 2 +action_result.message | string | | Num pools: 2 +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 ## action: 'list members' -Fetch a list of configured node members of a pool \(if no value is provided, all node members of a pool will be returned\) +Fetch a list of configured node members of a pool (if no value is provided, all node members of a pool will be returned) Type: **investigate** Read only: **True** @@ -567,38 +567,38 @@ Read only: **True** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**pool\_name** | required | Name of the pool | string | `f5 pool name` -**partition\_name** | required | Name of the partition | string | `f5 partition name` -**max\_results** | optional | Max number of members to return | numeric | +**pool_name** | required | Name of the pool | string | `f5 pool name` +**partition_name** | required | Name of the partition | string | `f5 partition name` +**max_results** | optional | Max number of members to return | numeric | #### Action Output -DATA PATH | TYPE | CONTAINS ---------- | ---- | -------- -action\_result\.status | string | -action\_result\.parameter\.max\_results | numeric | -action\_result\.parameter\.partition\_name | string | `f5 partition name` -action\_result\.parameter\.pool\_name | string | `f5 pool name` -action\_result\.data\.\*\.address | string | `ip` -action\_result\.data\.\*\.connectionLimit | numeric | -action\_result\.data\.\*\.dynamicRatio | numeric | -action\_result\.data\.\*\.ephemeral | string | -action\_result\.data\.\*\.fqdn\.autopopulate | string | -action\_result\.data\.\*\.fullPath | string | -action\_result\.data\.\*\.generation | numeric | -action\_result\.data\.\*\.inheritProfile | string | -action\_result\.data\.\*\.kind | string | -action\_result\.data\.\*\.logging | string | -action\_result\.data\.\*\.monitor | string | -action\_result\.data\.\*\.name | string | `f5 node name` -action\_result\.data\.\*\.partition | string | `f5 partition name` -action\_result\.data\.\*\.priorityGroup | numeric | -action\_result\.data\.\*\.rateLimit | string | -action\_result\.data\.\*\.ratio | numeric | -action\_result\.data\.\*\.selfLink | string | `url` -action\_result\.data\.\*\.session | string | -action\_result\.data\.\*\.state | string | -action\_result\.summary\.members | string | -action\_result\.summary\.num\_members | numeric | -action\_result\.message | string | -summary\.total\_objects | numeric | -summary\.total\_objects\_successful | numeric | \ No newline at end of file +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failed +action_result.parameter.max_results | numeric | | 10 +action_result.parameter.partition_name | string | `f5 partition name` | Common +action_result.parameter.pool_name | string | `f5 pool name` | pool1 +action_result.data.\*.address | string | `ip` | 10.1.17.76 +action_result.data.\*.connectionLimit | numeric | | 0 +action_result.data.\*.dynamicRatio | numeric | | 1 +action_result.data.\*.ephemeral | string | | false +action_result.data.\*.fqdn.autopopulate | string | | disabled +action_result.data.\*.fullPath | string | | /Common/test1:80 +action_result.data.\*.generation | numeric | | 1 +action_result.data.\*.inheritProfile | string | | enabled +action_result.data.\*.kind | string | | tm:ltm:pool:members:membersstate +action_result.data.\*.logging | string | | disabled +action_result.data.\*.monitor | string | | default +action_result.data.\*.name | string | `f5 node name` | nginx1:80 +action_result.data.\*.partition | string | `f5 partition name` | Common +action_result.data.\*.priorityGroup | numeric | | 0 +action_result.data.\*.rateLimit | string | | disabled +action_result.data.\*.ratio | numeric | | 1 +action_result.data.\*.selfLink | string | `url` | https://localhost/mgmt/tm/ltm/pool/~Common~pool1/members/~Common~nginx1:80?ver=15.0.0 +action_result.data.\*.session | string | | monitor-enabled +action_result.data.\*.state | string | | up +action_result.summary.members | string | | 10.1.17.97:8080, 10.1.17.98:8080, a13:8080 +action_result.summary.num_members | numeric | | 4 +action_result.message | string | | Num members: 3, Members: 10.1.17.97:8080, 10.1.17.98:8080, a13:8080 +summary.total_objects | numeric | | 1 +summary.total_objects_successful | numeric | | 1 \ No newline at end of file diff --git a/__init__.py b/__init__.py index f7ee2da..a21cc51 100644 --- a/__init__.py +++ b/__init__.py @@ -1,6 +1,6 @@ # File: __init__.py # -# Copyright (c) 2019-2022 Splunk Inc. +# Copyright (c) 2019-2024 Splunk Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/f5bigipltm.json b/f5bigipltm.json index 4ccda71..0c1ef14 100644 --- a/f5bigipltm.json +++ b/f5bigipltm.json @@ -9,14 +9,14 @@ "product_name": "Local Traffic Manager", "product_version_regex": ".*", "publisher": "Splunk", - "license": "Copyright (c) 2019-2022 Splunk Inc.", - "app_version": "2.1.1", + "license": "Copyright (c) 2019-2024 Splunk Inc.", + "app_version": "2.1.2", "python_version": "3", "fips_compliant": true, "utctime_updated": "2022-01-19T00:53:17.000000Z", "package_name": "phantom_f5bigipltm", "main_module": "f5bigipltm_connector.py", - "min_phantom_version": "5.1.0", + "min_phantom_version": "6.1.1", "app_wizard_version": "1.0.0", "latest_tested_versions": [ "BIG-IP 15.0.0 Build 0.0.39 Final" @@ -3252,32 +3252,24 @@ "wheel": [ { "module": "beautifulsoup4", - "input_file": "wheels/beautifulsoup4-4.9.1-py3-none-any.whl" + "input_file": "wheels/py3/beautifulsoup4-4.9.1-py3-none-any.whl" }, { - "module": "certifi", - "input_file": "wheels/certifi-2021.10.8-py2.py3-none-any.whl" - }, - { - "module": "chardet", - "input_file": "wheels/chardet-3.0.4-py2.py3-none-any.whl" - }, - { - "module": "idna", - "input_file": "wheels/idna-2.10-py2.py3-none-any.whl" - }, + "module": "soupsieve", + "input_file": "wheels/py3/soupsieve-2.3.2.post1-py3-none-any.whl" + } + ] + }, + "pip39_dependencies": { + "wheel": [ { - "module": "requests", - "input_file": "wheels/requests-2.25.0-py2.py3-none-any.whl" + "module": "beautifulsoup4", + "input_file": "wheels/py3/beautifulsoup4-4.9.1-py3-none-any.whl" }, { "module": "soupsieve", - "input_file": "wheels/soupsieve-2.3.1-py3-none-any.whl" - }, - { - "module": "urllib3", - "input_file": "wheels/urllib3-1.26.7-py2.py3-none-any.whl" + "input_file": "wheels/py3/soupsieve-2.5-py3-none-any.whl" } ] } -} \ No newline at end of file +} diff --git a/f5bigipltm_connector.py b/f5bigipltm_connector.py index b75bb26..f1832c4 100644 --- a/f5bigipltm_connector.py +++ b/f5bigipltm_connector.py @@ -1,6 +1,6 @@ # File: f5bigipltm_connector.py # -# Copyright (c) 2019-2022 Splunk Inc. +# Copyright (c) 2019-2024 Splunk Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -112,9 +112,9 @@ def _process_json_response(self, r, action_result): message = "Error from server. Status Code: {0} Data from server: {1}".format( r.status_code, error_msg) except Exception as e: - _, error_msg = self._get_error_message_from_exception(e) + _, error_message = self._get_error_message_from_exception(e) message = "Unknown error occurred while processing the output response from the server. " \ - "Status Code: {0}. Data from server: {1}".format(r.status_code, error_msg) + "Status Code: {0}. Data from server: {1}".format(r.status_code, error_message) return RetVal(action_result.set_status(phantom.APP_ERROR, message), None) @@ -213,9 +213,9 @@ def _make_rest_call(self, endpoint, action_result, method="get", data=None, **kw try: url = "{}{}".format(self._base_url, endpoint) except Exception as e: - error_code, error_msg = self._get_error_message_from_exception(e) + error_code, error_message = self._get_error_message_from_exception(e) return RetVal(action_result.set_status(phantom.APP_ERROR, "Error occurred while creating the REST URL for the API call. " - "Error Code: {0}. Error Message: {1}".format(error_code, error_msg)), None) + "Error Code: {0}. Error Message: {1}".format(error_code, error_message)), None) try: r = request_func( @@ -225,9 +225,9 @@ def _make_rest_call(self, endpoint, action_result, method="get", data=None, **kw data=data, **kwargs) except Exception as e: - error_code, error_msg = self._get_error_message_from_exception(e) + error_code, error_message = self._get_error_message_from_exception(e) return RetVal(action_result.set_status(phantom.APP_ERROR, "Error occurred while making the REST call to the F5 server. " - "Error Code: {0}. Error Message: {1}".format(error_code, error_msg)), None) + "Error Code: {0}. Error Message: {1}".format(error_code, error_message)), None) return self._process_response(r, action_result) diff --git a/release_notes/unreleased.md b/release_notes/unreleased.md index fbcb2fd..12c6bf9 100644 --- a/release_notes/unreleased.md +++ b/release_notes/unreleased.md @@ -1 +1,2 @@ **Unreleased** +* Remove requests dependency and use the one built into the platform instead [PAPP-33443] diff --git a/requirements.txt b/requirements.txt index 523a0ce..e861161 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1 @@ beautifulsoup4==4.9.1 -requests==2.25.0 diff --git a/tox.ini b/tox.ini index 127a08b..c4644ad 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [flake8] max-line-length = 145 max-complexity = 28 -ignore = F403,E128,E126,E111,E121,E127,E731,E201,E202,F405,E722,D,W292 +extend-ignore = F403,E128,E126,E111,E121,E127,E731,E201,E202,F405,E722,D,W292 [isort] line_length = 145 diff --git a/wheels/certifi-2021.10.8-py2.py3-none-any.whl b/wheels/certifi-2021.10.8-py2.py3-none-any.whl deleted file mode 100644 index fbcb86b..0000000 Binary files a/wheels/certifi-2021.10.8-py2.py3-none-any.whl and /dev/null differ diff --git a/wheels/chardet-3.0.4-py2.py3-none-any.whl b/wheels/chardet-3.0.4-py2.py3-none-any.whl deleted file mode 100644 index d276977..0000000 Binary files a/wheels/chardet-3.0.4-py2.py3-none-any.whl and /dev/null differ diff --git a/wheels/idna-2.10-py2.py3-none-any.whl b/wheels/idna-2.10-py2.py3-none-any.whl deleted file mode 100644 index 41225cb..0000000 Binary files a/wheels/idna-2.10-py2.py3-none-any.whl and /dev/null differ diff --git a/wheels/beautifulsoup4-4.9.1-py3-none-any.whl b/wheels/py3/beautifulsoup4-4.9.1-py3-none-any.whl similarity index 100% rename from wheels/beautifulsoup4-4.9.1-py3-none-any.whl rename to wheels/py3/beautifulsoup4-4.9.1-py3-none-any.whl diff --git a/wheels/py3/soupsieve-2.3.2.post1-py3-none-any.whl b/wheels/py3/soupsieve-2.3.2.post1-py3-none-any.whl new file mode 100644 index 0000000..b363a9b Binary files /dev/null and b/wheels/py3/soupsieve-2.3.2.post1-py3-none-any.whl differ diff --git a/wheels/py3/soupsieve-2.5-py3-none-any.whl b/wheels/py3/soupsieve-2.5-py3-none-any.whl new file mode 100644 index 0000000..e1be128 Binary files /dev/null and b/wheels/py3/soupsieve-2.5-py3-none-any.whl differ diff --git a/wheels/requests-2.25.0-py2.py3-none-any.whl b/wheels/requests-2.25.0-py2.py3-none-any.whl deleted file mode 100644 index c3f28e5..0000000 Binary files a/wheels/requests-2.25.0-py2.py3-none-any.whl and /dev/null differ diff --git a/wheels/soupsieve-2.3.1-py3-none-any.whl b/wheels/soupsieve-2.3.1-py3-none-any.whl deleted file mode 100644 index 85d33de..0000000 Binary files a/wheels/soupsieve-2.3.1-py3-none-any.whl and /dev/null differ diff --git a/wheels/urllib3-1.26.7-py2.py3-none-any.whl b/wheels/urllib3-1.26.7-py2.py3-none-any.whl deleted file mode 100644 index 62189e6..0000000 Binary files a/wheels/urllib3-1.26.7-py2.py3-none-any.whl and /dev/null differ