Browse Source

feat(localstack): add plugin (#12595)

Eduardo Dos Santos Vilke 7 months ago
parent
commit
2acfe1aa0e

+ 24 - 0
plugins/localstack/README.md

@@ -0,0 +1,24 @@
+#  Localstack plugin  #
+
+CLI support for LOCALSTACK interaction
+
+##  Description  ##
+To use it, add `localstack` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... localstack)
+```
+
+##  Usage  ##
+
+This plugin supplies one command, `lsk`, through which all its features are exposed.
+
+## Commands
+
+| Command       | Description                                                           |
+| :------------ | :-------------------------------------------------------------------- |
+| `lsk sqs-send <queue> <message.json>` | sends a given message in sqs to a given queue |
+
+## Examples
+
+![staging](sqs-send-result.png)

+ 37 - 0
plugins/localstack/localstack.plugin.zsh

@@ -0,0 +1,37 @@
+# CLI support for LOCALSTACK interaction
+#
+# See README.md for details
+lsk() {
+  case $1 in
+    sqs-send)
+      shift
+      sqs-send "$@"
+      ;;
+    *)
+      echo "Command not found: $1"
+      return 1
+      ;;
+  esac
+}
+
+# Send SQS function
+#
+# This function sends a given message in sqs to a given queue, when used Localstack
+#
+# Use:
+#   sqs-send <queue> <message>
+#
+# Parameters
+#   <queue> A given queue
+#   <message> A content of message em json archive
+#
+# Example
+#   sqs-send user user.json
+sqs-send(){
+  if [ -z "$1" ]; then
+	  echo "Use: sqs-send <queue> <payload>"
+	  return 1
+  fi
+
+  curl -X POST "http://localhost:4566/000000000000/$1" -d "Action=SendMessage" -d "MessageBody=$(cat $2)"
+}

BIN
plugins/localstack/sqs-send-result.png