首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Ansible调用Azure CLI函数

如何从Ansible调用Azure CLI函数
EN

Stack Overflow用户
提问于 2018-07-12 14:58:38
回答 2查看 6K关注 0票数 3

我正在尝试为机器人框架创建一个可操作的剧本。从外观上看,REST不能用于创建机器人,但它可以从Azure https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-tools-az-cli?view=azure-bot-service-3.0中获得。

是否有一种方法可以从Ansible调用Azure函数,因为create资源模块将无法处理它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-13 05:09:18

您可以使用Ansible shell模块调用Azure和其他命令,就好像您正在从命令行中工作一样,然后捕获Ansible中的输出,以便在剧本中下游使用。

我不和Azure一起工作,但是我和AWS一起工作。下面是一个在Ansible内部使用AWS并捕获输出以便在下一个任务中使用的示例。

代码语言:javascript
复制
---
- name: Create / Delete IAM user with keys
  hosts: localhost
  connection: local

  vars:
    username: foo

  tasks:
    - name: Create user with keys
      iam:
        iam_type: user
        name: "{{ username }}"
        state: present
        access_key_state: create
        key_count: 2

    - name: Get all the access keys
      shell: aws iam list-access-keys --user-name {{ username }} --query 'AccessKeyMetadata[*].AccessKeyId'
      register: access_key_list

    - name: Delete each key
      shell: aws iam delete-access-key --access-key-id {{ item }} --user-name {{ username }}
      loop: "{{ access_key_list.stdout | from_json }}"

    - name: Delete user
      iam_user:
        name: "{{ username }}"
        state: absent

注意,关于第二个任务,我们在变量access_key_list中注册命令输出。然后,您可以将该变量的内容转换为JSON,并在以后的任务中使用它。

由于命令输出以所有形式出现,所以可以使用debug模块查看变量,以便决定如何处理它。

代码语言:javascript
复制
- name: Output variable contents
  debug:
    msg: "{{ access_key_list }}"
票数 3
EN

Stack Overflow用户

发布于 2019-05-16 10:07:28

由于注释不支持格式设置,下面是提示:

我像这样使用>来提高它的可读性。

代码语言:javascript
复制
---
- name: RENAME {{ DB_DATABASE_NAME }} DATABASE on {{ DB_SRC_SQLSERVER_NAME }} SQLSERVER to {{ DB_DATABASE_NEW_NAME }} DATABASE
  command: >
     az sql db rename
     --resource-group "{{ DB_RESOURCEGROUP_NAME }}"
     --server "{{ DB_SQLSERVER_NAME }}"
     --name "{{ DB_DATABASE_NAME }}"
     --new-name "{{ DB_DATABASE_NEW_NAME }}"

查看文档:appendices/YAMLSyntax.html

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51308875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档