type=page
status=published
title=list-connector-security-maps
next=list-connector-work-security-maps.html
prev=list-connector-resources.html
~~~~~~

= list-connector-security-maps

[[list-connector-security-maps-1]][[GSRFM00159]][[list-connector-security-maps]]

== list-connector-security-maps

Lists the security maps belonging to the specified connector connection pool

[[sthref1422]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-connector-security-maps [--help]
[--securitymap securitymap]
[--verbose={false|true}] [--target target]
pool-name
----

[[sthref1423]]

=== Description

The `list-connector-security-maps` subcommand lists the security maps
belonging to the specified connector connection pool.

For this subcommand to succeed, you must have first created a connector
connection pool using the `create-connector-connection-pool` subcommand.

This subcommand is supported in remote mode only.

[[sthref1424]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--securitymap`::
  Specifies the name of the security map contained within the connector
  connection pool from which the identity and principals should be
  listed. With this option, `--verbose` is redundant.
`--verbose`::
  If set to `true`, returns a list including the identity, principals,
  and security name. The default is `false`.
`--target`::
  Do not specify this option. This option is retained for compatibility
  with earlier releases. If you specify this option, a syntax error does
  not occur. Instead, the subcommand runs successfully and displays a
  warning message that the option is ignored.

[[sthref1425]]

=== Operands

pool-name::
  Name of the connector connection pool for which you want to list
  security maps.

[[sthref1426]]

=== Examples

[[GSRFM651]][[sthref1427]]

==== Example 1   Listing the Connector Security Maps

This example lists the existing connector security maps for the pool
named `connector-Pool1`.

[source]
----
asadmin> list-connector-security-maps connector-Pool1
securityMap1
Command list-connector-security-maps executed successfully.
----

[[sthref1428]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1429]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-connector-security-map.html#create-connector-security-map-1[`create-connector-security-map`(1)],
link:delete-connector-security-map.html#delete-connector-security-map-1[`delete-connector-security-map`(1)],
link:update-connector-security-map.html#update-connector-security-map-1[`update-connector-security-map`(1)]


