in src/main/java/com/awslabs/iot/client/commands/iot/rules/CreateTopicRuleCommandHandler.java [55:82]
public void innerHandle(String input) {
List<String> parameters = parameterExtractor.getParameters(input);
RoleName roleName = ImmutableRoleName.builder().name(parameters.get(ROLE_NAME_POSITION)).build();
String topicName = parameters.get(TOPIC_NAME_POSITION);
RuleName ruleName = ImmutableRuleName.builder().name(parameters.get(RULE_NAME_POSITION)).build();
String sql = parameters.get(SQL_POSITION);
// Throw an exception if the role isn't present
Role role = iamHelper.getRole(roleName).get();
RepublishAction republishAction = RepublishAction.builder()
.roleArn(role.arn())
.topic(topicName)
.build();
Action action = Action.builder()
.republish(republishAction)
.build();
TopicRulePayload topicRulePayload = TopicRulePayload.builder()
.ruleDisabled(false)
.actions(action)
.sql(sql)
.build();
iotHelper.createTopicRule(ruleName, topicRulePayload);
}