IdMgrDataModel command group for the AdminTask object

You can use the Jython or Jacl scripting language to manage the federated repository schema using the wsadmin tool. Use the commands and parameters in the IdMgrDataModel group to manage the property extension repository. The commands are available in connected or local mode using the -conntype NONE option.

The IdMgrDataModel command group for the AdminTask object includes the following commands:

addIdMgrPropertyToEntityTypes

Use the addIdMgrPropertyToEntityTypes command to add a new property to one or more existing entity types with specified parameters.

Target Object

None.

Required parameters

-name
Use this parameter to specify the name of the new property that is added to one or more existing entity types.

(String, required)

-dataType
Use this parameter to specify the data type of the property. (String, required)
The default supported data types are:
  • String
  • Int
  • Boolean
  • Long
  • Double
  • Base64binary
  • AnySimpleType
  • AnyURI
  • Byte
  • DateTime
  • Date
  • Short
  • Token
  • IdentifierType
Note: To extend a property of the type Object, you must use AnySimpleType data type.
-entityTypeNames
This parameter specifies the name of one or more existing entity types to which the new property is added. Use a semicolon (;) as the delimiter to specify multiple entity types.

You can use a valid namespace prefix (nsPrefix) to refer to the entity type names in a specific namespace. The default namespace prefix is wim. Use a colon (:) to specify the namespace prefix. For example, you can use: your_ext:Person_Account

  • your_ext is the namespace prefix, which is mapped to the http://www.yourco.com/yourext namespace URI.
  • Person_Account is the entity type name.

(String, required)

Optional parameters

-securityDomainName
Use this parameter to specify the name that uniquely identifies the security domain. If you do not specify this parameter, the command uses the global federated repository. (String, optional)
-nsURI
Use this parameter to specify the namespace to which the new property is added.

You must map each namespace URI (nsURI) value to a unique namespace prefix (nsPrefix) value the first time that you use the namespace URI. The new property is added to the default namespace if you do not specify a nsURI value. The default namespace is http://www.ibm.com/websphere/wim, which is mapped, by default, to the wim nsPrefix value.

(String, optional)

-nsPrefix
Use this parameter to specify the prefix for the namespace.

You must specify a namespace prefix (nsPrefix) value, if you specify a new namespace URI (nsURI) value, so that the new nsURI value is mapped to this nsPrefix value. The default nsPrefix value is wim, which is mapped, by default, to the http://www.ibm.com/websphere/wim nsURI value.

(String, optional)

-isMultiValued
Use this parameter to specify whether the new property accepts more than one value. The default value is false.

(Boolean, optional)

-repositoryIds
Use this parameter to specify the repository or repositories to which the new property is added.

Use a semicolon (;) as the delimiter to specify multiple repository identities. All of the configured repositories are included, if this parameter is not specified.

To add the new property into the property extension repository, specify LA as the value of this parameter.

To add the new property to the entity types for all the specified repositories, specify a list of repository identities and do not include LA in the list.

To extend the property to the property extension repository for particular Lightweight Directory Access Protocol (LDAP) repositories, specify a list that includes LA. The new extended property is then marked as not supported for the other LDAP repositories that are included in this list.

(String, optional)

-requiredEntityTypeNames
Use this parameter to specify one or more entity types for which the new property is required.

Use a semicolon (;) as the delimiter to specify multiple entity types.

You can use a valid namespace prefix (nsPrefix) to refer to the entity type names in a specific namespace. The default namespace prefix is wim. Use a colon (:) to specify the namespace prefix. For example, you can use: your_ext:Person_Account

  • your_ext is the namespace prefix, which is mapped to the http://www.yourco.com/yourext namespace URI.
  • Person_Account is the entity type name.
For example, if you are adding the contactNumber property to the PersonAccount and Group entity types and you require that all PersonAccount entity types have a contactNumber value, then specify:
{-name contactNumber -entityTypeNames PersonAccount;Group  -requiredEntityTypeNames PersonAccount}

(String, optional)

-applicationId
Use this parameter to indicate the ID of the application for which the property is extended.

You can use the getIdMgrEntityTypeSchema command to retrieve the extended properties for a specific application ID, if you specify a value for the applicationId parameter.

(String, optional)

Examples

Batch mode example usage:

  • Using Jacl:
    $AdminTask addIdMgrPropertyToEntityTypes {-name property_name_1 -dataType string -entityTypeNames entity_type_1;entity_type_2}
  • Using Jython string:
    AdminTask.addIdMgrPropertyToEntityTypes ('[-name property_name_1 -dataType string -entityTypeNames entity_type_1;entity_type_2]')
  • Using Jython list:
    AdminTask.addIdMgrPropertyToEntityTypes (['-name', 'property_name_1', '-dataType', 'string' '-entityTypeNames', 'entity_type_1;entity_type_2'])

Interactive mode example usage:

  • Using Jacl:
    $AdminTask addIdMgrPropertyToEntityTypes {-interactive}
  • Using Jython string:
    AdminTask.addIdMgrPropertyToEntityTypes ('[-interactive]')
  • Using Jython list:
    AdminTask.addIdMgrPropertyToEntityTypes (['-interactive'])

getIdMgrEntityTypeSchema

The getIdMgrEntityTypeSchema command returns the entity type schema. This command is available in both connected and local modes.

[z/OS]Note: If you run this command in local mode for a user registry that uses Resource Access Control Facility (RACF), nothing is returned.

Target Object

None.

Required parameters

None.

Optional parameters

-id
Use this parameter to specify the ID of the repository. If you do not specify this parameter, the default entity type schema of federated repositories is returned. (String, optional)
Important: If you specify LA as the repository ID, an error occurs because LA is a reserved ID for the property extension repository. Use the listIdMgrPropertyExtension command to retrieve the schema of the property extension repository. For more information, see the description of the listIdMgrPropertyExtensions command.
-entityTypeNames
Use this parameter to specify the names of one or more entity types for which the entity type schema must be retrieved. If you are specifying multiple entity type names, use the semicolon (;) as a delimiter. If you do not specify this parameter the entity type schema for all entity types are returned. You must use a valid namespace prefix to refer to the entity type if it does not belong to the default namespace. (String, optional)
-securityDomainName
Use this parameter to specify the name that uniquely identifies the security domain. If you do not specify this parameter, the command uses the global federated repository. (String, optional)

Return values

The getIdMgrEntityTypeSchema command returns a HashMap that contains the following structure:
Map{entityType=Map{metadata}}

The getIdMgrEntityTypeSchema command returns a HashMap where the key is the entity type and the value is another HashMap that contains the entity type schema. This HashMap contains the keys nsPrefix, nsURI and parentEntityName and their corresponding values. The following example shows sample results of this command:

{PersonAccount={nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=loginAccount},
 test1:PersonAccount={nsPrefix=test1, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=loginAccount},
 Group={nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=Party},
 MyExtendedEntity={nsPrefix=wim , nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=Person}}
Note: If the same entity type is defined in different name spaces, then it is listed for each of those name spaces in the output results with the namespace prefix (nsPrefix) prefixed to the entity type name, for example, test1:PersonAccount.

Examples

Batch mode example usage:

  • Using Jacl:
    $AdminTask getIdMgrEntityTypeSchema
  • Using Jython string:
    AdminTask.getIdMgrEntityTypeSchema()
  • Using Jython list:
    AdminTask.getIdMgrEntityTypeSchema()

Interactive mode example usage:

  • Using Jacl:
    $AdminTask getIdMgrEntityTypeSchema {-interactive}
  • Using Jython string:
    AdminTask.getIdMgrEntityTypeSchema ('[-interactive]')
  • Using Jython list:
    AdminTask.getIdMgrEntityTypeSchema (['-interactive'])

getIdMgrPropertySchema

The getIdMgrPropertySchema command returns the property schema, including that of extended properties, of the specified entity type or all entity types. This command is available in both connected and local modes.

[z/OS]Note: If you run this command in local mode for a user registry that uses Resource Access Control Facility (RACF), nothing is returned.

Target Object

None.

Required parameters

None.

Optional parameters

-id
Use this parameter to specify the ID of the repository. If you do not specify this parameter, the default properties schema of federated repositories is returned. (String, optional)
Specify 'LA' as the value of the -id parameter to retrieve the property schema of the property extension repository.
-entityTypeName
Use this parameter to specify the name of the entity type for which the property schema must be retrieved. If you do not specify this parameter the property schema for all entity types are returned. You must use a valid namespace prefix to refer to the entity type if it does not belong to the default namespace. (String, optional)
-propertyNames
Use this parameter to specify one or more property names. If you are specifying multiple property names, use the semicolon (;) as a delimiter. If you do not specify this parameter, all of the properties are returned. You must use a valid namespace prefix to refer to the property names if they do not belong to the default namespace. (String, optional)
-securityDomainName
Use this parameter to specify the name that uniquely identifies the security domain. If you do not specify this parameter, the command uses the global federated repository. (String, optional)

Return values

The getIdMgrPropertySchema command returns a HashMap that contains the following structure:
Map{entityType=Map{propName=Map{metadata}}}

The getIdMgrPropertySchema command returns a HashMap where the key is the entity type and the value is another HashMap that contains the property schema. This HashMap contains the property name as the key and its value is yet another HashMap that contains the each attribute of the property and its value. The following example shows sample results of this command:

{PersonAccount={prop1={isMultiValued=false, dataType=String, nsPrefix=wim,
 nsURI=hhtp://www.ibm.com/websphere/wim, isRequired=true}, test1:prop1={isMultiValued=false,
 dataType=Integer, nsPrefix=test1, nsURI=hhtp://www.ibm.com/websphere/test1, isRequired=true},
 prop2={isMultiValued=false, dataType=Integer, nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim,
 isRequired=true }}, Group={prop3={isMultiValued=false, dataType=String, nsPrefix=wim,
 nsURI=hhtp://www.ibm.com/websphere/wim, isRequired=false}}}
Note: If the same property is defined in different name spaces for an entity type, then it is listed for each of those name spaces in the output results with the namespace prefix (nsPrefix) prefixed to the property name, for example, test1:prop1. The isRequired attribute is returned as true for the property of an entity type, if that entity type is listed in the requiredEntityTypeNames list.

Examples

Batch mode example usage:

  • Using Jacl:
    $AdminTask getIdMgrPropertySchema
  • Using Jython string:
    AdminTask.getIdMgrPropertySchema()
  • Using Jython list:
    AdminTask.getIdMgrPropertySchema()

Interactive mode example usage:

  • Using Jacl:
    $AdminTask getIdMgrPropertySchema {-interactive}
  • Using Jython string:
    AdminTask.getIdMgrPropertySchema ('[-interactive]')
  • Using Jython list:
    AdminTask.getIdMgrPropertySchema (['-interactive'])

listIdMgrPropertyExtensions

Use the listIdMgrPropertyExtensions command to list the properties extended for entity types.

Target Object

None.

Required parameters

None.

Optional parameters

-securityDomainName
Use this parameter to specify the name that uniquely identifies the security domain. If you do not specify this parameter, the command uses the global federated repository. (String, optional)
-applicationId
Use this parameter to indicate the ID of the application for which the extended properties are listed.

If you do not specify this parameter, all the extended properties are listed.

(String, optional)

Return value

This parameter returns a hash map that contains the property name as the key. The value of each key is another hash map, which contains the same keys as the input parameters of the addIdMgrPropertyToEntityTypes command. For multivalued parameters, the value of the key is a List object.

Examples

Batch mode example usage:

  • Using Jacl:
    $AdminTask listIdMgrPropertyExtensions
  • Using Jython string:
    AdminTask.listIdMgrPropertyExtensions()
  • Using Jython list:
    AdminTask.listIdMgrPropertyExtensions()

Interactive mode example usage:

  • Using Jacl:
    $AdminTask listIdMgrPropertyExtensions {-interactive}
  • Using Jython string:
    AdminTask.listIdMgrPropertyExtensions ('[-interactive]')
  • Using Jython list:
    AdminTask.listIdMgrPropertyExtensions (['-interactive'])
Supported configurations: This command lists the extended properties that are present in the wimxmlextension.xml file only.