无法使用 ansible 模块创建 aws 运动流...!

Unable to create aws kinesis stream using ansible module...!

我正在尝试使用 ansible 创建 aws 运动流,我从 here

获得了一些示例模块片段

我修改后的代码段 kinesis.yml 用于在特定区域创建运动流:

- hosts: localhost
  connection: local
  gather_facts: no
  vars:
 #aws region to create kinesis
     region: ap-south-1
  tasks:
    - name: Set up Kinesis Stream with 2 shards and wait for the stream to become ACTIVE
      kinesis_stream:
              name: test-stream
              shards: 2
              wait: yes
              wait_timeout: 600
              region: "{{ region }}"
      register: test_stream

我认为有些地方我搞砸了我们可以定义运动模块的方式,我得到了以下错误:

centos]# ansible-playbook  -vvvv kinesis.yml
    No config file found; using defaults
    ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.
    
    The error appears to have been in '/home/centos/kinesis.yml': line 4, column 7, but may
    be elsewhere in the file depending on the exact syntax problem.
    
    The offending line appears to be:
    
      tasks:
        - name: Set up Kinesis Stream with 2 shards and wait for the stream to become ACTIVE
          ^ here

我已经使用 boto 配置了我的 aws 控制台访问密钥。 请让我知道是否有正确的方法来定义 ansible 剧本以在特定的 aws 区域上创建运动。?

kinesis_stream 在尚未包含的拉取请求中。这意味着它不是 Ansible 的一部分。一个模块或修订版通常需要很长时间才能在 Ansible 中实际发布(它们对开发者相当不友好)。

要使用该模块,您需要将其放在本地 library/ 文件夹中。

最后我通过使用 aws cli 和 ansible 实现了。在对 ansible 进行更多探索时,它还支持命令行选项。因此,我们可以传递适用于 ansible 的 aws cli 命令。

这是我的示例模块片段:

---
- hosts: localhost
  connection: local
  gather_facts: no
  vars:
    streamName: test-stream
    shardCount: 2
  tasks:
    - name: Create Kinesis Sream
      command: aws kinesis create-stream --stream-name {{streamName}} --shard-count {{shardCount}}
      register: kinesis

使用这种 AWS CLI 方法,我们可以快速将更多 AWS functions/services 添加到我们的 Ansible 剧本中。