public void innerHandle()

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);
    }