#run-command #aws #bash #ec2 #ssm #cli

应用 dirk

使用 AWS 系统管理器的运行命令功能编排命令或脚本

1 个不稳定版本

0.1.1 2019年12月27日

#6#ssm

MIT 许可证

19KB
142

dirk

dirk 是一个通过 AWS 系统管理器的运行命令功能编排命令执行的工具。

概述

dirk 允许您使用 YAML 文件描述您希望通过 AWS 系统管理器的运行命令功能执行的命令。目前,AWS 不支持重新运行之前执行的命令。它们旨在作为一次性的、未经计划的操作,操作员需要手动重建命令调用请求(使用 AWS 控制台或 awscli 命令行工具)。我认为这很麻烦。我创建了这个工具,以帮助更轻松地在现场运行命令调用请求,并更容易将其编码到版本控制中。

下载

您可以从这里下载预构建的二进制文件。

帮助

USAGE:
    dirk [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --batch <INTEGER>       Number of instances to execute command concurrently (default: 1)
    -e, --execute <STRING>      Command to execute
    -i, --inventory <FILE>      Inventory file for commands
    -r, --region <STRING>       AWS Region (Default: 'us-east-1')

入门

使用 dirk 很简单。首先,您需要为要运行的命令创建一个清单文件。您使用的文件名将作为您提供给 ---inventory 选项的值。该文件可以包含您想要的任何数量的 YAML 段落,只要每个段落的名称是唯一的。每个段落应该看起来像下面的示例

---
test:
 batch: 1
 parameters:
  workingDirectory: ""
  executionTimeout: "3600"
  commands:
    - "#!/bin/bash"
    - "echo Hello World"
 targets:
  - key: tag:app
    values: "demo"
  - key: tag:env
    values: "test"

这些键/值对与 AWS 系统管理器 API 中的特定参数相对应。要了解更多关于您可以为每个值使用的内容,请参阅AWS 文档

上面的示例允许您运行 dirk - commands.yml -,这将执行带有 app:demo 标记和 env:test 标记的实例上的这些 bash 命令。

注意

我对 Rust 不是很熟悉,如果您想报告错误、提交功能请求或甚至贡献,请随时告诉我!

依赖关系

~20MB
~339K SLoC