service_facts - Facts about service elements in the SMC

Synopsis

  • Service elements can be used as references in many areas of the configuration. This fact module provides the ability to retrieve information related to elements and their values.

Requirements (on host that executes module)

  • smc-python

Options

parameter required default choices comments
case_sensitive
no True

Whether to do a case sensitive match on the filter specified

element
no *
  • service_group
  • icmp_service
  • protocol
  • rpc_service
  • icmp_service_group
  • url_category
  • application_situation
  • ip_service_group
  • icmp_ipv6_service
  • ip_service
  • tcp_service
  • tcp_service_group
  • udp_service
  • udp_service_group
  • ethernet_service
  • url_category

Type of service element to retrieve

exact_match
no

Whether to do an exact match on the filter specified

expand
no
  • group

Optionally expand element attributes that contain only HREF

filter
no *

String value to match against when making query. Matches all if not specified. A filter will attempt to find a match in the name, primary key field or comment field of a given record.

limit
no 10

Limit the number of results. Set to 0 to remove limit.

smc_address
no

FQDN with port of SMC. The default value is the environment variable SMC_ADDRESS

smc_alt_filepath
no

Provide an alternate path location to read the credentials from. File is expected to be stored in ~.smcrc. If provided, address and api_key settings are not required and will be ignored.

smc_api_key
no

API key for api client. The default value is the environment variable SMC_API_KEY Required if the address parameter is defined

smc_api_version
no

Optional SMC API version to connect to. If none is provided, the latest long-term support (LTS) version of the SMC API will be used based on the SMC version. Can be set though the environment variable SMC_API_VERSION

smc_domain
no

Optional administrative domain in the SMC to log on to. If no domain is provided, 'Shared Domain' is used. Can be set through the environment variable SMC_DOMAIN

smc_extra_args
no
Extra arguments to pass to the login constructor. These arguments are generally only used if specifically requested by support personnel.
Dictionary object smc_extra_args
parameter required default choices comments
verify
no True
If the connection to the SMC API is HTTPS, you can set this to True, or provide a path to a client certificate to verify the SMC SSL certificate. You can also explicitly set this to False.
Dictionary object smc_logging
parameter required default choices comments
path
yes
Full path to the log file
level
no
Log level as specified by the standard python logging library, in int format. Default setting is logging.DEBUG.
smc_timeout
no

Optional timeout for connections to the SMC API. Can be set through the environment variable SMC_TIMEOUT


Examples

- name: Return all services with limit
  service_facts:
    limit: 10

- name: Return only tcp service elements
  service_facts:
    element: tcp_service

- name: Return services with 80 in the value (will match defined ports)
  service_facts:
    limit: 10
    element: tcp_service
    filter: 80

- name: Find applications related to facebook
  service_facts:
    element: application_situation
    filter: facebook
- name: Obtain facts about Service Elements
  hosts: localhost
  gather_facts: no
  tasks:
  - name: Retrieve all Service elements
    service_element_facts:

  - name: Retrieve only TCP Services
    service_element_facts:
      element: tcp_service

  - name: Retrieve only TCP Services with port 8080
    service_element_facts:
      element: tcp_service
      filter: 8080

  - name: Retrieve TCP Service with HTTP in name
    service_element_facts:
      element: tcp_service
      filter: HTTP

  - name: Retrieve TCP Service group and expand members
    service_element_facts:
      element: tcp_service_group
      filter: mygroup
      expand:
        - group

Return Values

Return values that are common to all modules are documented in Return Values. The following fields are unique to this module:

name description returned type sample
services
All TCP services with filter of '80'
always list [{'comment': '', 'max_dst_port': None, 'type': 'tcp_service', 'name': 'tcp80443', 'min_dst_port': 443}, {'comment': 'Element created for NAT Service', 'max_dst_port': None, 'type': 'tcp_service', 'name': 'HTTP_tcp_port_80', 'min_dst_port': 80}]


Notes

Note

  • If a filter is not used in the query, this will return all results for the element type specified. The return data in this case will only contain the metadata for the element which will be name and type. To get detailed information about an element, use a filter. When using filters on network or service elements, the filter value will search the element fields, for example, you could use a filter of ‘1.1.1.1’ when searching for hosts and all hosts with this IP will be returned. The same applies for services. If you are unsure of the service name but know the port you require, your filter can be by port.

Author

  • Forcepoint

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.