Skip to content

Commit

Permalink
Sample code for creating groups from java
Browse files Browse the repository at this point in the history
  • Loading branch information
tdanner committed May 16, 2018
1 parent 2da614f commit 976ae20
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 0 deletions.
Expand Up @@ -17,5 +17,6 @@ public static void main(String[] args) {
// demo.testCreateWindowsAccount();
// demo.testGrantUserAdminRights();
// demo.testDeleteUser();
// demo.testCreateGroup();
}
}
@@ -1,5 +1,6 @@
package com.solarwinds.orionsdk.swis_client;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -10,10 +11,12 @@
public class Demo {
private ISwisClient swis;
private OrionAccountManager accounts;
private OrionGroupManager groups;

public Demo(ISwisClient swis) {
this.swis = swis;
this.accounts = new OrionAccountManager(swis);
this.groups = new OrionGroupManager(swis);
}

public void testQuery() {
Expand Down Expand Up @@ -55,4 +58,13 @@ public void testDeleteUser() {
accounts.deleteAccount("bob");
System.out.println("bob is gone");
}

public void testCreateGroup() {
List<GroupMemberDefinition> members = new ArrayList<GroupMemberDefinition>();
members.add(new GroupMemberDefinition("Cisco Devices", "filter:/Orion.Nodes[Vendor='Cisco']"));
members.add(new GroupMemberDefinition("Windows Devices", "filter:/Orion.Nodes[Vendor='Windows']"));

groups.createGroup("Sample Java Group", 60, GroupRollupMode.Mixed, "Group created by Java sample", true,
members);
}
}
@@ -0,0 +1,27 @@
package com.solarwinds.orionsdk.swis_client;

public class GroupMemberDefinition {
private String name;
private String definition;

public GroupMemberDefinition(String name, String definition) {
setName(name);
setDefinition(definition);
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDefinition() {
return definition;
}

public void setDefinition(String definition) {
this.definition = definition;
}
}
@@ -0,0 +1,15 @@
package com.solarwinds.orionsdk.swis_client;

public enum GroupRollupMode {
Mixed(0), Worst(1), Best(2);

private final int value;

private GroupRollupMode(int value) {
this.value = value;
}

public int getValue() {
return value;
}
}
@@ -0,0 +1,15 @@
package com.solarwinds.orionsdk.swis_client;

public class OrionGroupManager {
private ISwisClient swis;

public OrionGroupManager(ISwisClient swis) {
this.swis = swis;
}

public void createGroup(String name, int refreshIntervalSeconds, GroupRollupMode rollupMode, String description,
boolean pollingEnabled, Iterable<GroupMemberDefinition> members) {
swis.invoke("Orion.Container", "CreateContainer", name, "Core", refreshIntervalSeconds, rollupMode.getValue(),
description, pollingEnabled, members);
}
}

0 comments on commit 976ae20

Please sign in to comment.