<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:rds="http://www.mulesoft.org/schema/mule/rds"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/rds
http://www.mulesoft.org/schema/mule/rds/current/mule-rds.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
<http:listener-config
name="HTTP_Listener_config"
doc:name="HTTP Listener config">
<http:listener-connection
host="127.0.0.1"
port="8081" />
</http:listener-config>
<rds:config
name="Amazon_RDS_Configuration"
doc:name="Amazon RDS Configuration">
<rds:basic-connection
accessKey="${config.accessKey}"
secretKey="${config.secretKey}" />
</rds:config>
<flow name="create-db-instance-flow">
<http:listener
config-ref="HTTP_Listener_config"
path="/create-db-instance"
doc:name="Listener"/>
<ee:transform doc:name="Transform Message">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
dbInstanceClass : attributes.queryParams.dbInstanceClass,
dbInstanceIdentifier : attributes.queryParams.dbInstanceIdentifier,
engine : attributes.queryParams.engine,
allocatedStorage : attributes.queryParams.allocatedStorage,
masterUsername : attributes.queryParams.masterUsername,
masterUserPassword : attributes.queryParams.masterUserPassword
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
<rds:create-db-instance
config-ref="Amazon_RDS_Configuration"
dbInstanceClass="#[payload.dbInstanceClass]"
dbInstanceIdentifier="#[payload.dbInstanceIdentifier]"
engine="#[payload.engine]"
allocatedStorage="#[payload.allocatedStorage]"
doc:name="Create db instance"
masterUsername="#[payload.masterUsername]"
masterUserPassword="#[payload.masterUserPassword]"/>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
<ee:transform doc:name="Transform Message">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
success: true,
info: payload
}]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
</mule>