Red Hat Training
A Red Hat training course is available for Red Hat JBoss Operations Network
18.5. グループへのリソースの追加: addMember.js
スクリプトを設定します。これは、スクリプトに必要な 3 つの引数を特定します。
- リソースを追加するグループの GroupName
- 追加するリソース名のresourceName。これは検索条件の 1 つです。
- 追加するリソースの タイプの resourceTypeName。これは検索条件の 1 つです。
これには、引数で指定されたグループを検索する検索も含まれます。
function usage() { println("Usage: addMember groupName resourceName resourceTypeName"); throw "Illegal arguments"; } if( args.length < 3 ) usage(); var groupName = args[0]; var resourceName = args[1]; var resourceTypeName = args[2]; groupcriteria = new ResourceGroupCriteria(); groupcriteria.addFilterName(groupName); var groups = ResourceGroupManager.findResourceGroupsByCriteria(groupcriteria); if( groups != null ) { if( groups.size() > 1 ) { println("Found more than one group."); } else if( groups.size() == 1 ) { group = groups.get(0); } }
グループに追加するリソースを検索します。このスクリプトは、グループに単一のリソースのみを追加するように設計されているため、指定の検索基準 resourceName および resourceTypeName は、単一のリソースのみに一致するのに十分な仕様である 必要 があります。
criteria = new ResourceCriteria(); criteria.addFilterName(resourceName); criteria.addFilterResourceTypeName(resourceTypeName); var resources = ResourceManager.findResourcesByCriteria(criteria); if( resources != null ) { if( resources.size() > 1 ) { println("Found more than one JBossAS Server instance. Try to specialize."); for( i =0; i < resources.size(); ++i) { var resource = resources.get(i); println(" found " + resource.name ); } } else if( resources.size() == 1 ) { resource = resources.get(0); println("Found one JBossAS Server instance. Trying to add it."); println(" " + resource.name ); ResourceGroupManager.addResourcesToGroup(group.id, [resource.id]); println(" Added to " + group.name + "!"); } else { println("Did not find any JBossAS Server instance matching your pattern. Try again."); } }
このスクリプトの実行時に、見つかった JBoss インスタンスの名前とグループに追加された内容が出力されます。
[jsmith@server cli]$ ./wrapper.sh addMember myGroup "JBossAS App 1" "JBossAS Server" Remote server version is: 3.0.1.GA (b2cb23b:859b914) Login successful Found one JBossAS Server instance. Trying to add it. AS server.example.com JBossAS App 1 Added to myGroup!