Skip to main content

Address Groups

Address groups are collections of address objects that can be referenced in security policies, NAT rules, and other configurations. The scm CLI provides commands to create, update, delete, and load address groups.

Overview

The address-group commands allow you to:

  • Create static address groups with fixed member lists
  • Create dynamic address groups with tag-based filter expressions
  • Delete address groups that are no longer needed
  • Bulk import address groups from YAML files
  • Export address groups for backup or migration

Address Group Types

The CLI supports two types of address groups:

TypeDescriptionExample Use Case
StaticFixed list of address objectsGroup of web servers
DynamicMembers determined by filter criteria (tags)Endpoints matching security criteria

Set Address Group

Create or update an address group.

Syntax

scm set object address-group NAME [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEName of the address groupYes

Options

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--description TEXTDescription for the address groupNo
--tags TEXTTag to apply (repeat for multiple)No
--type TEXTType of address group (static or dynamic)Yes
--members TEXTAddress object for static groups (repeat for multiple)Only with --type static
--filter TEXTTag-based filter expression for dynamic groupsOnly with --type dynamic

* Exactly one of --folder, --snippet, or --device is required.

Examples

Create a Static Address Group

$ scm set object address-group web-servers \
--folder Shared \
--type static \
--members web-server-1 --members web-server-2
---> 100%
Created address group: web-servers in folder Shared

Create a Dynamic Address Group

$ scm set object address-group trusted-endpoints \
--folder Shared \
--type dynamic \
--filter "'trusted-endpoint' and 'corporate-asset'"
---> 100%
Created address group: trusted-endpoints in folder Shared

Delete Address Group

Delete an address group from SCM.

Syntax

scm delete object address-group NAME [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEName of the address group to deleteYes

Options

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--forceSkip confirmation promptNo

* Exactly one of --folder, --snippet, or --device is required.

Example

$ scm delete object address-group web-servers --folder Shared --force
---> 100%
Deleted address group: web-servers from folder Shared

Load Address Groups

Load multiple address groups from a YAML file.

Syntax

scm load object address-group [OPTIONS]

Options

OptionDescriptionRequired
--file TEXTPath to YAML file containing address group definitionsYes
--folder TEXTOverride folder location for all objectsNo
--snippet TEXTOverride snippet location for all objectsNo
--device TEXTOverride device location for all objectsNo
--dry-runPreview changes without applying themNo

YAML File Format

---
address_groups:
- name: web-servers
folder: Texas
description: "Group of web servers"
type: static
members:
- web-server-1
- web-server-2
tags:
- web
- servers

- name: trusted-endpoints
folder: Texas
description: "Dynamic group for trusted corporate endpoints"
type: dynamic
filter: "'trusted-endpoint' and 'corporate-asset'"
tags:
- endpoints
- trusted

Examples

Load with Original Locations

$ scm load object address-group --file address-groups.yml
---> 100%
✓ Loaded address group: web-servers
✓ Loaded address group: trusted-endpoints

Successfully loaded 2 out of 2 address groups from 'address-groups.yml'

Load with Folder Override

$ scm load object address-group --file address-groups.yml --folder Austin
---> 100%
✓ Loaded address group: web-servers
✓ Loaded address group: trusted-endpoints

Successfully loaded 2 out of 2 address groups from 'address-groups.yml'
note

When using container override options (--folder, --snippet, --device), all address groups will be loaded into the specified container, ignoring the container specified in the YAML file.

Show Address Group

Display address group objects.

Syntax

scm show object address-group [NAME] [OPTIONS]

Arguments

ArgumentDescriptionRequired
NAMEName of the address group to show; omit to list allNo

Options

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--max-results INTEGERMaximum number of results to displayNo
--output [table|json|yaml]Output format (default: table)No

* Exactly one of --folder, --snippet, or --device is required.

note

When no NAME argument is provided, all items are listed by default.

Examples

Show Specific Address Group

$ scm show object address-group web-servers --folder Texas
---> 100%
Address Group: web-servers
Location: Folder 'Texas'
Type: static
Description: Group of web servers
Members (2):
- web-server-1
- web-server-2
Tags: web, servers
ID: 123e4567-e89b-12d3-a456-426614174001

List All Address Groups (Default Behavior)

$ scm show object address-group --folder Texas
---> 100%
Address Groups in folder 'Texas':
------------------------------------------------------------
Name: web-servers
Location: Folder 'Texas'
Type: static
Members: web-server-1, web-server-2
Description: Group of web servers
Tags: web, servers
------------------------------------------------------------
Name: trusted-endpoints
Location: Folder 'Texas'
Type: dynamic
Filter: 'trusted-endpoint' and 'corporate-asset'
Description: Dynamic group for trusted corporate endpoints
Tags: endpoints, trusted
------------------------------------------------------------

Backup Address Groups

Backup all address group objects from a specified location to a YAML file.

Syntax

scm backup object address-group [OPTIONS]

Options

OptionDescriptionRequired
--folder TEXTFolder to backup address groups fromNo*
--snippet TEXTSnippet to backup address groups fromNo*
--device TEXTDevice to backup address groups fromNo*
--file TEXTOutput filename (defaults to auto-generated)No

* One of --folder, --snippet, or --device is required.

Examples

Backup from Folder

$ scm backup object address-group --folder Texas
---> 100%
Successfully backed up 12 address groups to address-group_folder_texas_20240115_120530.yaml

Backup with Custom Filename

$ scm backup object address-group --folder Texas --file texas-groups.yaml
---> 100%
Successfully backed up 12 address groups to texas-groups.yaml

Best Practices

  1. Use Descriptive Names: Choose names that clearly indicate the group's purpose and membership criteria.
  2. Prefer Dynamic Groups: Use dynamic groups with tags for environments where membership changes frequently.
  3. Document Filter Expressions: Always include descriptions explaining dynamic group filter logic.
  4. Apply Tags: Use tags to categorize groups for easier management.
  5. Use YAML for Bulk Operations: For large deployments, use YAML files to manage address groups.
  6. Organize by Folder: Keep address groups organized in logical folders alongside their member addresses.